?1、安裝umqtt,點(diǎn)擊菜單工具->管理包
2、搜索umqtt
3、在查找結(jié)果里面點(diǎn)擊按裝:
4、然后在已安裝的包里就看到umqtt了。
5、書(shū)如程序代碼如下:
from umqtt.simple import MQTTClient
from machine import Pin
import network
import time
ssid='ssid'
passwd='wifipwd'
client_id = "po20t"
mserver = 'ip'
port=1883
mqttuser = "user"
mqttpwd = "pwd"
topic_ctl = b'led_ctl'#設(shè)備訂閱的主題,客戶端推送消息的主題
topic_sta = b'led_sta'#客戶端訂閱的主題,設(shè)備推送消息的主題
client = None
wlan = None
led1=Pin(2, Pin.OUT, value=1)
led2=Pin(5, Pin.OUT, value=1)
def sub_callback(topic, msg):
"""
收到訂閱消息回調(diào)
"""
global client
print((topic_ctl, msg))
if msg == b'led1 ON' or msg == b'led1 on':
pub_msg = 'LED1: ON-state'
led1.value(0)
elif msg == b'led1 OFF' or msg == b'led1 off':
pub_msg = 'LED1: OFF-state'
led1.value(1)
elif msg == b'led2 ON' or msg == b'led2 on':
pub_msg = 'LED2: ON-state'
led2.value(0)
elif msg == b'led2 OFF' or msg == b'led2 off':
pub_msg = 'LED2: OFF-state'
led2.value(1)
else:
pub_msg = 'other msg'
client.publish(topic_sta, pub_msg, retain=True)
def connectWiFi():
"""
連接到WiFi網(wǎng)絡(luò)
"""
global wlan
wlan = network.WLAN(network.STA_IF)
wlan.active(True)
wlan.disconnect()
wlan.connect('HUAWEI-H10R9U', "18977381885@")
while(wlan.ifconfig()[0]=='0.0.0.0'):
time.sleep(1)
print(wlan.ifconfig())
try:
connectWiFi()
client = MQTTClient(client_id, mserver, port=1883,user=mqttuser,password=mqttpwd)
client.set_callback(sub_callback)
client.connect()
client.subscribe(topic_ctl)
client.publish(topic_sta, 'ESP32 Device online', retain=True)
print("Connected to %s, subscribed to %s topic" % (mserver, topic_ctl))
while True:
client.wait_msg()
finally:
if client is not None:
print('off line')
client.disconnect()
wlan.disconnect()
wlan.active(False)
5、保存到開(kāi)發(fā)板,然后執(zhí)行:
6、打開(kāi)mqttx發(fā)送消息:這樣連接到遠(yuǎn)程的Mqtt就愉快的完成了,后面可以完成一些數(shù)據(jù)交換與控制了。
審核編輯:湯梓紅
?
-
服務(wù)器
+關(guān)注
關(guān)注
12文章
9317瀏覽量
86081 -
開(kāi)發(fā)板
+關(guān)注
關(guān)注
25文章
5123瀏覽量
98237 -
MQTT
+關(guān)注
關(guān)注
5文章
654瀏覽量
22703
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
【免費(fèi)試用19期】BPI-Pico-RP2040 開(kāi)發(fā)板
【BPI-Pico-RP2040 開(kāi)發(fā)板】CircuitPython環(huán)境介紹
【BPI-Pico-RP2040 開(kāi)發(fā)板】+快速體驗(yàn)MicroPython開(kāi)發(fā)
【BPI-Pico-RP2040 開(kāi)發(fā)板】+Thonny IDE體驗(yàn)
【BPI-Pico-RP2040 開(kāi)發(fā)板】+ 開(kāi)箱測(cè)評(píng)與Arduino開(kāi)發(fā)點(diǎn)燈測(cè)試
【BPI-Pico-RP2040 開(kāi)發(fā)板】+ 板子硬件原理圖分享
【BPI-Pico-RP2040 開(kāi)發(fā)板】與Banana BPI-Pico-RP2040的第一次親密接觸
【BPI-Pico-RP2040 開(kāi)發(fā)板】+MicroPython初體驗(yàn)
【BPI-Pico-RP2040 開(kāi)發(fā)板】+開(kāi)發(fā)環(huán)境的搭建與測(cè)試
【BPI-Pico-RP2040 開(kāi)發(fā)板】+GPIO口的使用
【BPI-Pico-RP2040 開(kāi)發(fā)板】+ 板載RGB-LED點(diǎn)亮不同顏色
【BPI-Pico-RP2040 開(kāi)發(fā)板】Banana BPI-Pico-RP2040 驅(qū)動(dòng)WS2812 彩燈
【BPI-Pico-RP2040 開(kāi)發(fā)板】SSD1306 OLED顯示
【BPI-Pico-RP2040 開(kāi)發(fā)板】RP2040可編程 IO (PIO) 使用初探
搭載RP2040雙核處理器芯片,BPI-Pico-RP2040 開(kāi)發(fā)板開(kāi)發(fā)實(shí)例展示
![搭載<b class='flag-5'>RP2040</b>雙核處理<b class='flag-5'>器</b>芯片,<b class='flag-5'>BPI-Pico-RP2040</b> <b class='flag-5'>開(kāi)發(fā)板</b><b class='flag-5'>開(kāi)發(fā)</b>實(shí)例展示](https://file1.elecfans.com/web2/M00/8C/54/wKgaomSqYTyAGGusAABqeav9X_M177.png)
評(píng)論