atm我正在使用pythonpaho mqtt客户机和mysql来存储通过微控制器收集的天气数据(温度/湿度)。在
设置:Raspii与raspian&MariaDB&Moskitto经纪人
将数据发布到代理的ESP8266
我编写了以下代码从代理获取数据并将其写入数据库:
主.pyimport paho.mqtt.client as mqtt #import client1
from time import sleep
import json
from Datenbank import *
from datetime import *
i=0
def on_log(client,userdata,level,buf):
print("log: "+buf)
def on_connect(client,userdata,flags,rc):
if rc==0:
print("connected OK")
else:
print("Bad connection Returned code=",rc)
def on_disconnect(client,userdata,flags,rc=0):
print("Disconnected result code "+str(rc))
def on_message(client,userdata,msg): #callback function
topic=msg.topic
m_decode=str(msg.payload.decode("utf-8","ignore"))
print("message received",m_decode)
m_in=json.loads(m_decode)
dbG.writeData(m_in["Temperature"],m_in["Humidity"])
print("Data Written")
print(datetime.now())
db=db()
db.connectToDb("WeatherStation")
broker="192.168.0.10"
client=mqtt.Client("Sensor1_Client")
client.connect(broker)
print("Connecting to broker",broker)
client.on_connect=on_connect
client object
#client.on_disconnect=on_disconnect
client.on_log=on_log
client.on_message=on_message
client.subscribe("home/Sensor1")
client.loop_forever()
日期银行.py
^{pr2}$
我在Raspi上加载了脚本并打开了主.py通过屏幕输入:
“Python主.py&;”
这种构造工作得很好,但是在15/16次之后,脚本和数据的插入就停止了。在
一开始我试着用一个简单的client.loop_启动()和“睡眠(1000)”但都不起作用。在
有人知道剧本为什么不起作用吗?在
您好
罗宾