Jump to content

PAP: Sistema de leitura de temperaturas e envio de mensagens


Carolyne Silva Rocha

Recommended Posts

Bom dia pessoal, 

Espero que se encontrem bem! 

Bom eu sou estudante do 12º do curso profissional de TGEI, e estou elaborando meu projeto final do curso. Trata-se de um sistema de temperatura que de acordo com os dados lidos do sensor, envia uma mensagem de texto através da API Twilio, para o número pré-configurado no código. Por indicação de um professor resolvi criar em Python uma GUI simples, para caso do utilizador querer alterar o valor de comparação da temperatura, não precisar ir ao código alterar. O meu problema é que não consigo ligar o script a GUI, poderiam me ajudar, comecei a aprender programação a pouco tempo. 

Link to comment
Share on other sites

Sim, ambos são em Python, estou usando a Tkinter, tentei criando um módulo que guarda as variáveis de temperatura (máxima e mínima), e depois importo esse módulo no script e na GUI, para assim os valores inseridos na GUI serem "alterados" no script. Não sei se é o modo correto, mas foi a única coisa que pensei que pudesse dar certo.

Link to comment
Share on other sites

Em 16/05/2023 às 15:04, Carolyne Silva Rocha disse:

Sim, ambos são em Python, estou usando a Tkinter, tentei criando um módulo que guarda as variáveis de temperatura (máxima e mínima), e depois importo esse módulo no script e na GUI, para assim os valores inseridos na GUI serem "alterados" no script. Não sei se é o modo correto, mas foi a única coisa que pensei que pudesse dar certo.

Para inserir um modulo num outro script, pode utilizar o comando from import, ex: from nomedomodulo import temperaturamaxima, temperaturaminima

temperatura.py

temperaturamaxima=30
temperaturaminima=10

script.py

from temperatura import temperaturamaxima, temperaturaminina
  
print (temperaturaminima)
print (temperaturamaxima)

A menos que lhe fosse exigida a separação do script do GUI, num programa simples quanto este não deslumbro a necessidade de se fazer essa separação, até porque o Tkinter em muitas da situações é inserido directamente no código do script.

Uma coisa que deve prestar atenção é a persistência dos dados da temperatura, porque quando parar de correr o script, os valores guardados serão os que constam nas variáveis e não os que alterou pela GUI. Para resolver essa questão teria de utilizar uma base de dados, como por exemplo o sqlite.

  • Vote 1
Link to comment
Share on other sites

Obrigada pela ajuda. O problema de juntar os dois é que eu preciso que o script esteja sempre a correr, pq é um sistema de alerta. Penso eu, não sei se estou errada, se sim me corrija por favor, mas juntado os dois, quando o utilizador terminasse um, o outro também terminaria, o que não quero que aconteça.

Link to comment
Share on other sites

Em 17/05/2023 às 21:56, Carolyne Silva Rocha disse:

Obrigada pela ajuda. O problema de juntar os dois é que eu preciso que o script esteja sempre a correr, pq é um sistema de alerta. Penso eu, não sei se estou errada, se sim me corrija por favor, mas juntado os dois, quando o utilizador terminasse um, o outro também terminaria, o que não quero que aconteça.

Neste caso não existe esse problema, porque digamos, é como estar a executar os dois scripts em simultâneo, dado que está a chamar um pedaço do código dentro do outro código. Ou seja, não vai rodar directamente o primeiro código, só vai rodar o segundo código, que durante a execução vai chamar o primeiro.

Vamos imaginar o seguinte, você cria uma função que vai inserir em vários programas diferentes. Tem duas opções para fazer esta operação. Primeira, em cada um dos programas vai reescrever essa função, ou em alternativa, vai escrever essa função uma única vez e inseri-la num módulo e depois em cada um desses programas chama esse modulo  e executa essa função.

Link to comment
Share on other sites

Em 18/05/2023 às 14:52, Carolyne Silva Rocha disse:

Okay, então não aconteceria o erro que eu imaginei, isso é bom haha.

Pode me explicar melhor como eu poderia fazer essa 'junção' ?

Imagine que precisa de criar umas funções matemáticas, de álgebra simples, que precisa de usar em vários dos seus códigos, ou seja, em vários programas. Então por uma questão de organização do código, e para evitar ter de reescrever as funções em vários programas, cria um módulo ou uma biblioteca, onde insere essas funções e depois vai chamá-las em cada um dos programas.

funcoes.py

def somar(x,y):
    soma=x+y
    return soma

def multiplicar(x,y):
    multiplicacao=x*y
    return multiplicacao

main.py

from funcoes import somar, multiplicar

valor_soma=somar(2,2)
print(valor_soma)

valor_multiplicacao=multiplicar(4,2)
print(valor_multiplicacao)

Repare que só executa o ficheiro main.py mas os cálculos irão ser efectuados no modulo funcoes.py, isto porque o ficheiro main.py vai chamar e executar o outro ficheiro funcoes.py.

  • Vote 1
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.