Ir para conteúdo
Fórum Script Brasil

Pedro Vidal

Membros
  • Total de itens

    18
  • Registro em

  • Última visita

Sobre Pedro Vidal

Pedro Vidal's Achievements

0

Reputação

  1. Bom, eu achei um código em que uma certa mensagem é mandada por wifi, porém essa mensagem está sendo enviada quando uma função é chamada pelo código, e não consigo enviar as variáveis que mudam constantemente do meu void loop para o void onWsEvent (função que está o envio da mensagem). Gostaria de aprender alguma solução para isso, pois preciso que uma informação diferente seja mandada a todo momento, coisa que o código original não é capaz de fazer. Minhas hipóteses são "globalizar" a variável ou tirar o envio da mensagem da rotina e colocar dentro do próprio void loop. Espero de coração que tenha dado pra entender o problema, e o código atual estará abaixo: #include <WiFi.h> #include "ESPAsyncWebServer.h" const char* ssid = "nome_da_rede"; const char* password = "senha_da_rede"; AsyncWebServer server(80); AsyncWebSocket ws("/ws"); void onWsEvent(AsyncWebSocket * server, AsyncWebSocketClient * client, AwsEventType type, void * arg, uint8_t *data, size_t len){ if(type == WS_EVT_CONNECT){ Serial.println("Websocket client connection received"); client->text("Hello from ESP32 Server"); } else if(type == WS_EVT_DISCONNECT){ Serial.println("Client disconnected"); } } void setup(){ Serial.begin(115200); WiFi.begin(ssid, password); while (WiFi.status() != WL_CONNECTED) { delay(1000); Serial.println("Connecting to WiFi.."); } Serial.println(WiFi.localIP()); ws.onEvent(onWsEvent); server.addHandler(&ws); server.begin(); } void loop(){}
  2. Então, tenho um projeto em que preciso enviar informações do meu código c++ para um código java script, para logo mais printar essa código em uma página html. Alguém sabe uma forma de realizar isso?
  3. Po então, primeiramente vlw pela resposta Eu alterei no codigo e deixei as duas variáveis identicas, mas mesmo assim o valor no site não é alterado. Tem alguma outra ideia do que podee estar acontendo?
  4. Bom, eu tenho um projeto de alterar os valores de uma tabela de acordo com uma variável e cheguei ao DOM. Porém, o código não funciona do jeito que deveria, parece até que não está lendo a parte do js. Bom, adoraria uma ajuda e deixarei o codigo completo abaixo: <!doctype html> <html> <head> <meta charset="utf-8"> <title> LAYOUT TABELA PRO TCC </title> </head> <style> body{background-color: #fff} *{font-family: arial; } caption{font-size: 1.2em; font-family: "Arial"; color: #32304f;} table{width: 100%; text-align: center; border-collapse: collapse;} td, th {border: 2px solid #000;} th{background-color:#fff solid; color:#7e2d7e;} td{color: #000; background-color: #ded9ff; height: 30px;} th{ color: #fff; background-color: #484677; font-family: "Arial"; height: 50px;} </style> <script> function myFunction() { let text = "thats my year"; document.getElementById("Valor").innerHTML = text; </script> <body> <table id="tabela"> <caption> <b> TABELA PADRÃO PARA O PROJETO DOS GRUPOS </b> </caption> <tr> <th> Sensores / Atuadores </th> <th> Valores obtidos </th> </tr> <tr> <td> Sensor1 </td> <td id="valor"> Valor1 </td> </tr> <tr> <td> Sensor2 </td> <td> Valor2 </td> </tr> <tr> <td> Sensor3 </td> <td> Valor3 </td> </tr> <tr> <td> Sensor4 </td> <td> Valor4 </td> </tr> </table> <button type="button" onclick="myFunction()">Try it</button> </body> </html>
  5. é que o objetivo dessa volta é realmente mostrar a janela de volta, já que essa janela seria como se fosse o acesso para varias outras diferentes, então o usuario tem que conseguir voltar para essa tela para acessar todos os menus e opções, como se fosse uma tela inicial. Aí não sei se apenas salvar a informação adiantaria de alguma coisa
  6. consegui!! foi de um jeito meio xoxo, mas nesse comentario seu "criando um novo elemento", me veio na mente que era mais facil so deixar o fundo da minha imagem igual ao fundo que teria c fosse transparente Não sei se pode fazer isso, mas aproveitando para tirar outra duvida.. Teria algum jeito de reabrir uma janela? Pois com o destroy não é possivel fazer isso ne? Codigo atual ta embaixo, e a linha que quero que ocorra o comando ta com um comentario do lado from tkinter import * import serial #'listas' com os logins e senhas usuario_br = 'bruno' senha_br = '1234' #local para onde enviaremos os sinais arduinoData = serial.Serial('com4', 9600) def login(): sphynx.destroy() login_sphynx = Tk() login_sphynx.title("Sphynx") login_sphynx.geometry("300x600") login_sphynx.resizable(False, False) usuario = StringVar() senha = StringVar() img_erro = PhotoImage(file="msgerro_improviso.png") img_botao_login = PhotoImage(file="sphynx_botao_login.png") img_fundo_login = PhotoImage(file="sphynx_fundo_login.png") lab_inicio_login = Label(login_sphynx, image=img_fundo_login) lab_inicio_login.place(x=0, y=0) en_usuario = Entry(login_sphynx, bd=2, textvariable=usuario) en_usuario.place(width=250, height=50, x=27, y=270) en_senha = Entry(login_sphynx, bd=2, textvariable=senha, show="*") en_senha.place(width=250, height=50, x=27, y=390) bt_login = Button(login_sphynx, image=img_botao_login, bd=0, command=lambda: verificacao(login_sphynx, img_erro, usuario, senha)) bt_login.place(width=200, height=100, x=50, y=470) return login_sphynx() def verificacao(login_sphynx, img_erro, usuario, senha): str_usuario = usuario.get() str_senha = senha.get() if str_usuario in usuario_br and str_senha in senha_br: print("Login realizado com sucesso!") login_sphynx.destroy() salas() else: login_erro = Label(login_sphynx, image=img_erro, bd=0) login_erro.place(x=50, y=220) def salas(): salas_sphynx = Tk() salas_sphynx.title("Sphynx") salas_sphynx.geometry("300x600") salas_sphynx.resizable(False, False) img_fundo_salas = PhotoImage(file="sphynx_fundo_salas.png") img_salas_lab1 = PhotoImage(file="sphynx_sala_lab1.png") lab_inicio_salas = Label(salas_sphynx, image=img_fundo_salas) lab_inicio_salas.place(x=0, y=0) bt_salas_lab1 = Button(salas_sphynx, image=img_salas_lab1, bd=0, command=lambda: lab1(salas_sphynx)) bt_salas_lab1.place(width=250, height=75, x=28, y=300) return salas_sphynx() def lab1(salas_sphynx): salas_sphynx.destroy() lab1_sphynx = Tk() lab1_sphynx.title("Sphynx") lab1_sphynx.geometry("500x300") lab1_sphynx.resizable(False, False) img_fundo_lab1 = PhotoImage(file="sphynx_fundo_lab1.png") lab_fundo_lab1 = Label(lab1_sphynx, image=img_fundo_lab1) lab_fundo_lab1.place(x=0,y=0) bt_abrir = Button(lab1_sphynx, background="green", command=abrir) bt_abrir.place(width=250, height=75, x=130, y=100) bt_fechar = Button(lab1_sphynx, background="red", command=fechar) bt_fechar.place(width=250, height=75, x=130, y=200) bt_voltar = Button(lab1_sphynx, background="white", command=salas_sphynx) #botao que eu desejo que volte para a aba anterior bt_voltar.place(width=250, height=75, x=130, y=50) return lab1_sphynx() def abrir(): arduinoData.write(b'1') def fechar(): arduinoData.write(b'0') sphynx = Tk() sphynx.title("Sphynx") sphynx.geometry("500x300") sphynx.resizable(False, False) sphynx.iconphoto(True, PhotoImage(file="sphynx.png")) #importar as imagens img_banner = PhotoImage(file="sphynx_banner.png") #labels lab_inicio = Label(sphynx, image=img_banner) lab_inicio.pack() sphynx.after(2000, login) sphynx.mainloop()
  7. opa, perdao por não deixar claro. A mudança é realizada na função "def verificação", mais especificamente na parte do "else", que é onde aparece o Label com a imagem de erro no login. Eu até criei o arquivo zip, mas pelo visto o site não aceita
  8. Bom, em meu codigo eu necessitava trocar o fundo do aplicativo de acordo com uma condição. Porém, o novo fundo está sendo carregado na frente de todos os Entry, coisa que não é para acontecer. Alguém saberia como colocar esse novo fundo para realmente o fundo do app? Código abaixo e agradeço pela ajuda!! (Também adoraria saber se teria algum jeito de fazer o tkinter trabalhar com imagens de fundo transparente, já que importei um png, mas ele interpreta como se fosse um fundo branco) from tkinter import * import serial #listas com os logins e senhas usuario_br = 'bruno' senha_br = '1234' #local para onde enviaremos os sinais #arduinoData = serial.Serial('com4', 9600) def led_on(): #arduinoData.write(b'1') print("LED ligado") def led_off(): #arduinoData.write(b'0') print("LED desligado") def login(): sphynx.destroy() login_sphynx = Tk() login_sphynx.title("Sphynx") login_sphynx.geometry("300x600") usuario = StringVar() senha = StringVar() img_fundo_login = PhotoImage(file="sphynx_fundo_login.png") img_botao_login = PhotoImage(file="sphynx_botao_login.png") img_erro = PhotoImage(file="sphynx_fundo_login_erro.png") lab_inicio_login = Label(login_sphynx, image=img_fundo_login) lab_inicio_login.place(x=0, y=0) en_usuario = Entry(login_sphynx, bd=2, textvariable=usuario) en_usuario.place(width=250, height=50, x=27, y=270) en_senha = Entry(login_sphynx, bd=2, textvariable=senha, show="*") en_senha.place(width=250, height=50, x=27, y=390) bt_login = Button(login_sphynx, image=img_botao_login, bd=0, command=lambda: verificacao(login_sphynx, lab_inicio_login, img_erro, usuario, senha)) bt_login.place(width=200, height=100, x=50, y=470) return login_sphynx() def verificacao(login_sphynx, lab_inicio_login, img_erro, usuario, senha): str_usuario = usuario.get() str_senha = senha.get() if str_usuario in usuario_br and str_senha in senha_br: print("Dale deli doli!!") else: lab_inicio_login.destroy() login_erro = Label(login_sphynx, image=img_erro) login_erro.place(x=0, y=0) sphynx = Tk() sphynx.title("Sphynx") sphynx.geometry("500x300") sphynx.iconphoto(True, PhotoImage(file="sphynx.png")) #importar as imagens img_banner = PhotoImage(file="sphynx_banner.png") #labels lab_inicio = Label(sphynx, image=img_banner) lab_inicio.pack() sphynx.after(2000, login) sphynx.mainloop()
  9. Bom, em meu projeto eu preciso enviar informações do meu celular para o meu microcontrolador utilizando o bluetooth. Porém, não faço ideia de como realizar esse processo, e os únicos tutoriais que encontro são pessoas fazendo isso com aplicativos da play store, e conectando eles ao microcontrolador, coisa que não é meu objetivo. Alguém ai consegue me ajudar? Como primeiro código, eu gostaria de ligar ou desligar um led pelo meu celular. Se alguém souber como é o procedimento, adoraria uma ajuda!!
  10. Voltando aqui, eu tentei aplicar no meu código, mas não funcionou. Ele acaba aplicando esse tempo na própria abertura da janela, e não no aparecimento dos Labels lab_op_val = Label(proc_manual, text="sim") lab_op_val.place(x=200, y=400) proc_manual.after(1000) lab_ed_val = Label(proc_manual, text="não") lab_ed_val.place(x=200, y=600)
  11. Ok, então ficaria tipo: lab = Label(janela,text="ex") janela.after(2000) lab2 = Label(janela,text="ex2") Desse jeito?
  12. Opa, desenvolvendo meu projeto percebi que teria que usar sleep para fazer textos aparecerem na janela em determinado tempo, pesquisei e vi que eles definem o que vai ter no Label em outro local do programa e utilizam o sleep lá, em vez de utilizar na própria janela. Tentei aplicar isso no meu código, mas falhei miseravelmente, adoraria uma ajuda com esse problema :)) Abaixo está todo o código. from tkinter import * from time import sleep import pandas as pd def fim(): exit() return def metodo(): inicio.destroy() metodo = Tk() metodo.title("PROJETO LIQUI") metodo.geometry("400x800") #imagens img_metodo = PhotoImage(file="escmetodo.png") img_auto = PhotoImage(file="botaopadrao.png") img_manual = PhotoImage(file="botaomanual.png") #labels lab_metodo = Label(metodo, image=img_metodo) lab_metodo.pack() #botoes bt_manual = Button(metodo, image=img_manual, command=lambda: manual(metodo)) bt_manual.place(width=300, height=100, x=55, y=350) bt_auto = Button(metodo, image=img_auto, command=lambda: auto(metodo)) bt_auto.place(width=300, height=100, x=55, y=550) return metodo() def auto(metodo): metodo.destroy() b2 = open("escpersonalizado.txt", "r") agua = float(b2.readline()) sal = float(b2.readline()) far = float(b2.readline()) return auto(metodo) def manual(metodo): metodo.destroy() manual = Tk() manual.title("PROJETO LIQUI") manual.geometry("400x800") #variaveis agua = DoubleVar() sal = DoubleVar() far = DoubleVar() #imagens img_medidas = PhotoImage(file="medidastcc.png") img_botao_ok = PhotoImage(file="botaosim.png") img_botao_salvar = PhotoImage(file="botaosalvar.png") #labels lab_medidas = Label(manual, image=img_medidas) lab_medidas.pack() #entrada de dados en_agua = Entry(manual, bd=2, textvariable=agua) en_agua.place(width=339, height=50, x=32, y=322) en_sal = Entry(manual, bd=2, textvariable=sal) en_sal.place(width=339, height=50, x=32, y=449) en_far = Entry(manual, bd=2, textvariable=far) en_far.place(width=339, height=50, x=32, y=584) #botoes bt_ok = Button(manual, image=img_botao_ok, command=lambda: proc_manual(manual,agua,sal,far)) bt_ok.place(width=150, height=100, x=35, y=650) bt_padrao = Button(manual, image=img_botao_salvar, command=lambda: salvar(manual, agua, sal, far)) bt_padrao.place(width=150, height=100, x=220, y=650) return manual(metodo) def salvar(manual, agua, sal, far): f_agua = agua.get() f_sal = sal.get() f_far = far.get() if f_agua > 100 or f_sal > 100 or f_far > 100: manual.destroy() erro() else: b1 = open("escpersonalizado.txt", "w") b1.write("{}\n{}\n{}".format(f_agua, f_sal, f_far)) return def text_proc(): lab_op_val['text'] = "ABERTURA DAS VALVULAS" return def proc_manual(manual,agua,sal,far): f_agua = agua.get() f_sal = sal.get() f_far = far.get() if f_agua > 100 or f_sal > 100 or f_far > 100: manual.destroy() erro() else: text_proc() manual.destroy() proc_manual = Tk() proc_manual.title("LIQUI") proc_manual.geometry("400x800") #imagens img_proc = PhotoImage(file="proctcc.png") #labels lab_proc = Label(proc_manual,image=img_proc) lab_proc.pack() lab_op_val = Label(proc_manual, text="") lab_op_val.place(x=200, y=400) return proc_manual() def erro(): erro = Tk() erro.title("ERRO") erro.geometry("400x800") #imagens img_erro = PhotoImage(file="erro.png") img_sair = PhotoImage(file="botaosair.png") #labels lab_erro = Label(erro, image=img_erro) lab_erro.pack() #botoes bt_sair = Button(erro, image=img_sair, command=fim) bt_sair.place(width=300, height=100, x=55, y=650) return erro() inicio = Tk() inicio.title("PROJETO YEAGER") inicio.geometry("800x550") #importar as imagens img_banner = PhotoImage(file="bannertcc.png") #labels lab_inicio = Label(inicio, image=img_banner) lab_inicio.pack() inicio.after(2000,metodo) inicio.mainloop()
  13. caramba, eu nem sabia dessa função lambda. Então ela pega valores e cria uma função com eles? Sobre as janelas, estava pensando em mudar para algo como um banner inicial, que ficaria na tela por uns segundos e já sairia, entrando a janela "medidas". Estava vendo uns comandos e cheguei em um "after", mas agora é mais uma jornada pra descobrir como aplicar kkkk obrigado demais cara, me salvou
  14. estamos de volta kk tentei aplicar isso que vccê mandou e deu um resultado meio estranho, meio que mesmo assim não quer registrar os dados e fica entregando o valor padrão '0.0'. Vou deixar o programa aqui, caso consiga dar uma olhada e ver onde está errado, desculpa aí o incomodo from tkinter import * from time import sleep import pandas as pd import openpyxl def medidas(): sleep(0.3) inicio.destroy() medidas = Tk() medidas.title("MEDIDAS") medidas.geometry("400x800") #imagens img_medidas = PhotoImage(file="medidastcc.png") img_botao1 = PhotoImage(file="botaosim.png") img_botao2 = PhotoImage(file="botaopadrao.png") #labels lab_medidas = Label(medidas, image=img_medidas) lab_medidas.pack() #entrada de dados en_agua = Entry(medidas, bd=2, textvariable=agua) en_agua.place(width=339, height=50, x=32, y=322) en_sal = Entry(medidas, bd=2, textvariable=sal) en_sal.place(width=339, height=50, x=32, y=449) en_far = Entry(medidas, bd=2, textvariable=far) en_far.place(width=339, height=50, x=32, y=584) #botoes bt_ok = Button(medidas, image=img_botao1) bt_ok.place(width=150, height=100, x=35, y=650) bt_padrao = Button(medidas, image=img_botao2, command=salvar) bt_padrao.place(width=150, height=100, x=220, y=650) return medidas() def salvar(): print(agua.get()) print(sal.get()) print(far.get()) inicio = Tk() inicio.title("PROJETO YEAGER") inicio.geometry("400x800") #variaveis agua = DoubleVar() sal = DoubleVar() far = DoubleVar() #importar as imagens img_inicio = PhotoImage(file="iniciotcc.png") img_botao3 = PhotoImage(file="botaoentrar.png") #labels lab_inicio = Label(inicio, image=img_inicio) lab_inicio.pack() #botao bt_entrar = Button(inicio, image=img_botao3, command=medidas) bt_entrar.place(width=200, height=100, x=95, y=550) inicio.mainloop()
  15. Então, tentei aplicar esse DoubleVar e colocar ele no Entry, mas acabou que me perdi no meio e não sei como prosseguir xdddd poderia me dar uma luz?
×
×
  • Criar Novo...