820|3

6841

帖子

11

TA的资源

版主

楼主
 

【得捷电子Follow me第1期】MQTT数据收发 [复制链接]

 

1、安装umqtt,点击菜单工具->管理包

  2、搜索umqtt

  3、在查找结果里面点击按装:

  4、然后在已安装的包里就看到umqtt了。

  5、书如程序代码如下:

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'#设备订阅的主题,客户端推送消息的主题
topic_sta = b'led_sta'#客户端订阅的主题,设备推送消息的主题
client = None
wlan = None

led1=Pin(2, Pin.OUT, value=1)
led2=Pin(5, Pin.OUT, value=1)
    
def sub_callback(topic, msg):
    """
    收到订阅消息回调
    """
    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网络
    """
    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、保存到开发板,然后执行:

  6、打开mqttx发送消息:

 这样连接到远程的Mqtt就愉快的完成了,后面可以完成一些数据交换与控制了。

最新回复

你这个服务器用的啥呢?     详情 回复 发表于 2023-6-7 14:03
点赞 关注
 
 

回复
举报

1668

帖子

0

TA的资源

五彩晶圆(初级)

沙发
 

这篇有关MQTT数据收发测评的很细了

点评

多谢大佬的关注!我还在继续努力之中!  详情 回复 发表于 2023-5-27 09:08
 
 
 

回复

6841

帖子

11

TA的资源

版主

板凳
 
火辣西米秀 发表于 2023-5-27 08:23 这篇有关MQTT数据收发测评的很细了

多谢大佬的关注!我还在继续努力之中!

 
 
 

回复

155

帖子

0

TA的资源

一粒金砂(中级)

4
 

你这个服务器用的啥呢?

 

 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表