色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

mqtt連接mysql

阮建安2年前14瀏覽0評論

MQTT是一種輕量級的消息傳輸協議,它通常用于連接物聯網設備和云平臺。而MySQL是一種流行的關系數據庫管理系統,用于存儲并管理數據。這篇文章將介紹如何使用MQTT連接MySQL。

首先,我們需要使用MQTT客戶端庫連接MQTT代理服務器。以下是Python代碼示例:

import paho.mqtt.client as mqtt
def on_connect(client, userdata, flags, rc):
print("Connected with result code "+str(rc))
client.subscribe("topic/#")
def on_message(client, userdata, msg):
print(msg.topic+" "+str(msg.payload))
client = mqtt.Client()
client.on_connect = on_connect
client.on_message = on_message
client.connect("broker.hivemq.com", 1883, 60)
client.loop_forever()

上面的代碼使用HiveMQ代理服務器連接MQTT。我們定義了兩個回調函數來處理MQTT連接和收到的消息。接下來,我們需要安裝PyMySQL庫用于連接MySQL:

!pip install PyMySQL

然后,我們可以將MySQL連接信息添加到Python代碼中:

import pymysql
db = pymysql.connect(host="localhost", user="root",
passwd="password", db="mydatabase")
cursor = db.cursor()
cursor.execute("SELECT * FROM mytable")
data = cursor.fetchall()
for row in data:
print(row)
db.close()

上面的代碼使用數據庫中的SELECT語句從mytable獲取所有數據,并遍歷打印每一行。現在我們可以將MQTT和MySQL連接在一起,將收到的MQTT消息存儲到MySQL數據庫中:

import paho.mqtt.client as mqtt
import pymysql
db = pymysql.connect(host="localhost", user="root",
passwd="password", db="mydatabase")
def on_connect(client, userdata, flags, rc):
print("Connected with result code "+str(rc))
client.subscribe("topic/#")
def on_message(client, userdata, msg):
payload = msg.payload.decode("utf-8")
cursor = db.cursor()
sql = "INSERT INTO mytable (message) VALUES ('{}')".format(payload)
try:
cursor.execute(sql)
db.commit()
print("Inserted message into MySQL: " + payload)
except:
db.rollback()
client = mqtt.Client()
client.on_connect = on_connect
client.on_message = on_message
client.connect("broker.hivemq.com", 1883, 60)
client.loop_forever()
db.close()

上面的代碼定義了一個on_message回調函數來處理從MQTT接收到的消息。它將消息轉換為字符串并將其插入到MySQL數據庫mytable的message列中。如果插入成功,則打印確認消息。

到此,我們已經成功連接了MQTT和MySQL。我們可以使用相同的方法從MQTT接收消息并將它們存儲到數據庫中。