|
代码
- import dht
- from machine import Pin
- import time
- import network
- from umqtt.simple import MQTTClient
- import json
- import gc
- device_id = "esp0002"
- wifi_ssid='FAST_20CC'
- wifi_password='409409409'
- mqtt_serverip='192.168.1.113'
- mqtt_serverport=1883
- mqtt_clientid=device_id
- mqtt_publishtopic=b'espiot'
- led=Pin(2,Pin.OUT)
- led.on()
- # D2-DATA
- dht_sim = dht.DHT11(Pin(4))
- def connectionWifi(ssid, password):
- wlan = network.WLAN(network.STA_IF)
- wlan.active(True)
- wlan.connect(ssid, password)
- while True:
- if not wlan.isconnected():
- led.on()
- time.sleep_ms(1000)
- led.off()
- time.sleep_ms(1000)
- else:
- print('connected to network')
- led.on()
- break
- def dht11_temperature():
- dht_sim.measure()
- return dht_sim.temperature()
-
- def dht11_humidity():
- dht_sim.measure()
- return dht_sim.humidity()
- if __name__=='__main__':
- print ("start")
-
- #message_template="{'source_device':'$source_device','target_device':'server','temperature':'$temperature'}"
- #message_template = message_template.replace("$source_device",mqtt_clientid)
- message_template = {}
- message_template['source_device'] = mqtt_clientid
- message_template['target_device'] = 'server'
- message_template['msg_type'] = 'ReportTempHumi'
-
- connectionWifi(wifi_ssid,wifi_password)
-
- client = MQTTClient(mqtt_clientid,mqtt_serverip,mqtt_serverport)
- client.connect()
-
-
- while True:
- time.sleep(3)
-
- temperature = dht11_temperature()
- message_template['temperature'] = str(temperature)
-
- humidity = dht11_humidity()
- message_template['humidity'] = str(humidity)
-
- client.publish(mqtt_publishtopic,json.dumps(message_template))
- gc.collect()
复制代码 截图
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
打赏
-
查看全部打赏
|