溫濕度計發送訊息
-
使用樹莓派連接DHT溫濕度計,並使用Python程式將感測值使用MQTT技術發送訊息到主機端。
【硬體接線】
【程式碼】
import paho.mqtt.client as mqtt import Adafruit_DHT import time SENSOR = Adafruit_DHT.DHT11 PIN = 4 TOPIC = "sensor/temperature" TOPIC2 = "sensor/humidity" # 建立 MQTT client client = mqtt.Client() # 連線到 Mosquitto broker client.connect("192.168.1.116", 1883, 60) # 啟動 loop,維持連線 client.loop_start() try: while True: humidity, temperature = Adafruit_DHT.read_retry(SENSOR, PIN) if temperature is not None: msg = f"{temperature:.1f}" print(f"Publish {TOPIC}: {msg} ") client.publish(TOPIC, msg) if humidity is not None: msg2 = f"{humidity:.1f}" print(f"Publish {TOPIC2}: {msg2} ") client.publish(TOPIC2, msg2) else: print("can't read data") time.sleep(60) except KeyboarInterrupt: print("end") client.loop_stop() client.disconnect()