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

mqtt轉存mysql

錢瀠龍2年前14瀏覽0評論

MQTT是一種輕量級的、基于發布-訂閱模式的消息傳輸協議,它可以在物聯網中實現設備之間的通信。MQTT有許多應用場景,其中一個重要的應用場景就是轉存數據到MySQL數據庫中。

import paho.mqtt.client as mqtt
import mysql.connector
# 連接MySQL數據庫
mydb = mysql.connector.connect(
host="localhost",
user="username",
password="password",
database="databasename"
)
# 定義回調函數
def on_message(client, userdata, message):
print("接收到消息主題:", message.topic)
print("接收到消息內容:", message.payload.decode())
# 將消息轉存到MySQL數據庫
mycursor = mydb.cursor()
sql = "INSERT INTO messages (topic, payload) VALUES (%s, %s)"
val = (message.topic, message.payload.decode())
mycursor.execute(sql, val)
mydb.commit()
print(mycursor.rowcount, "條記錄已插入到數據庫中。")
# 連接MQTT代理
client = mqtt.Client()
client.connect("mqtt.eclipse.org", 1883)
# 訂閱主題
client.subscribe("topic")
# 注冊回調函數
client.on_message = on_message
# 循環監聽MQTT消息
client.loop_forever()

以上代碼是一個Python程序,它使用了Paho MQTT庫和MySQL Connector庫,將MQTT消息轉存到MySQL數據庫中。

程序首先連接到MySQL數據庫,然后定義了一個回調函數on_message,用于處理接收到的MQTT消息。在回調函數中,程序將接收到的消息轉存到MySQL數據庫中。具體地,程序插入了兩個字段:topic和payload,分別表示消息的主題和內容。最后,程序通過mydb.commit()將數據存儲到MySQL數據庫中。

接著,程序連接到MQTT代理,并訂閱了一個主題(topic)。當接收到這個主題的MQTT消息時,程序會調用回調函數on_message進行處理。最后,程序通過調用client.loop_forever()進入循環監聽MQTT消息的狀態。

綜上所述,通過使用MQTT和MySQL,可以實現將設備生成的數據轉存到MySQL數據庫中,并通過數據分析和處理實現更多有價值的功能。