Como conectar um simulador no Python

Estou fazendo um trabalho de extensão da faculdade, o qual pretendo deixar depois para portfólio, mas uma das matérias foca em IOT (internet das coisas), à qual precisa integrar com um hardware, no caso o escolhido seria um sensor que monitore a quantidade de ml, para quando estiver baixo retornar para o sistema a informação. Utilizaria um simulador para conectar, e a placa seria do tipo arduino ou parecido, o mais simples possível, mas não faço ideia de como conecta ao HTML, ou ao Python em si. Alguém puder ajudar, agradeço.
Se alguém quiser ver o projeto, meu Github:

1 curtida

Bem vinda @Gabrielle_Silva !

Existe uma lib em Python justamente para se comunicar com Arduino chamada pyserial.

Veja um exemplo de como se conectar com a lib:

import serial

# Altere 'COM3' pela porta correta
arduino = serial.Serial('COM3', 9600)

while True:
    if arduino.in_waiting > 0:
        # aqui você obtem os dados do sensor
        data = arduino.readline().decode('utf-8').strip()
        print(f"Nível de líquido: {data} ml")

Nesse caso ele usa um loop infinito para ficar exibindo o “nível de liquido”.

Para integrar em uma aplicação web, basta você obter a informação na requisição. Veja um exemplo com Flask (mas ai voce pode adaptar à rota da sua aplicação, seja qual framework for).

app.py

from flask import Flask, render_template
import serial

app = Flask(__name__)

@app.route('/')
def home():
    arduino = serial.Serial('COM3', 9600)
    data = arduino.readline().decode('utf-8').strip()
    return render_template('index.html', nivel=data)

if __name__ == '__main__':
    app.run(debug=True)

templates/index.html

<!DOCTYPE html>
<html>
<body>
    <h1>Nível de líquido: {{ nivel }} ml</h1>
</body>
</html>

Segue a documentação dessa lib com algumas informações simples do uso. Mas vale a pena você pesquisar videos sobre o assunto, principalmente em relação ao sensor, pois não manjo muito de IoT.

https://pyserial.readthedocs.io/en/latest/shortintro.html