咸鱼ESP32实例—MQTT
咸鱼ESP32实例—MQTT
- 发布者(publish)参考代码:
- 订阅者(subscribe)参考代码:
由于特殊的发布/订阅机制,服务器不需要存储数据(当然也可以在服务器的设备上建立一个客户端来订阅保存信息),因此非常适合海量设备的传输。MicroPython 已经封装好了 MQTT 客户端的库文件。直接用就完了~!点击查看MQTT简介
ZTWF开发板
构造函数 |
---|
client=simple. MQTTClient (client_id, server, port) |
构建 MQTT 客户端对象。 |
client_id: 客户端 ID,具有唯一性;server: 服务器地址,可以是 IP 或者网址;port:服务器端口。(服务器通常采用的端口,可以自定义。) |
使用方法 |
client.connect() |
连接到服务器。 |
client.publish(TOPIC,message) |
发布。TOPIC:主题编号;message: 信息内容,例:‘Hello~’ |
client.subscribe(TOPIC) |
订阅。TOPIC:主题编号。 |
client.set_callback(callback) |
设置回调函数。callback:订阅后如果接收到信息,就执行相名称的回调函数。 |
client.check_msg() |
检查订阅信息。如收到信息就执行设置过的回调函数 callback。 |
为了方便测试,我们可以使用 MQTT 网络助手进行调试。这里推荐一个在线MQTT 网络调试助手:http://mqtt.p2hp.com/websocket/打开上面网址,即可看到 MQTT 在线调试助手。可以配置基本信息,这里默认即可,点击连接。
发布者(publish)参考代码:
import network
from machine import Timer
from mqttclient import MQTTClient
wifi = network.WLAN(network.STA_IF)#一般都是STA
wifi.active(True)
wifi.connect('xianyu','密码') #你要连接的wifi账号密码
print(wifi.ifconfig()) #输出wifi 的ip地址等信息
#发布数据任务
def MQTT_Send(tim):client.publish(TOPIC, 'Hello xianyu!')SERVER = 'mqtt.p2hp.com'
PORT = 1883
CLIENT_ID = 'xianyu' # 客户端 ID
TOPIC = 'xianyu' # TOPIC 名称
client = MQTTClient(CLIENT_ID, SERVER, PORT)
client.connect()
tim = Timer(-1)#开启RTOS定时器,编号为-1,周期1000ms,执行socket通信接收任务
tim.init(period=1000, mode=Timer.PERIODIC,callback=MQTT_Send)
连接成功后显示connected,然后点击订阅新主题
Topic设置好,点击订阅
每秒传一次数据
订阅者(subscribe)参考代码:
import network
from machine import Timer
from mqttclient import MQTTClient
wifi = network.WLAN(network.STA_IF)#一般都是STA
wifi.active(True)
wifi.connect('xianyu','密码') #你要连接的wifi账号密码
print(wifi.ifconfig()) #输出wifi 的ip地址等信息
#设置 MQTT 回调函数,有信息时候执行
def MQTT_callback(topic, msg):print('topic: {}'.format(topic))print('msg: {}'.format(msg))
#接收数据任务
def MQTT_Rev(tim):client.check_msg()
SERVER = 'mqtt.p2hp.com'
PORT = 1883
CLIENT_ID = 'xianyu' # 客户端 ID
TOPIC = 'xianyu' # TOPIC 名称
client = MQTTClient(CLIENT_ID, SERVER, PORT) #建立客户端对象
client.set_callback(MQTT_callback) #配置回调函数
client.connect()
client.subscribe(TOPIC) #订阅主题
tim = Timer(-1)
tim.init(period=300, mode=Timer.PERIODIC,callback=MQTT_Rev)
“订阅者”代码测试方法跟“发布者”相反。将“订阅者”代码下载到开发板,然后在电脑 MQTT 助手中发布主题修改为:‘xianyu’(跟代码发布的主题一致。)在下方空白框输入
点击发布可在工具中查看收到的信息
咸鱼ESP32实例—MQTT相关推荐
- 咸鱼ESP32实例—RTC
咸鱼ESP32实例-RTC 每一个电子爱好者心中都希望拥有属于自己制作的一个电子时钟,接下来我们就用 MicroPython 开发板来制作一个属于自己的电子时钟. ZTWF开发板 0.96oled屏幕 ...
- 咸鱼ESP32实例—串口屏文字显示
咸鱼ESP32实例-串口屏文字显示 使用设备 我们之前在3.5寸屏幕基础把屏幕样式做好了.剩下的就是和屏幕通讯了.主要是串口通讯UART,我们现在从易到难来填坑~ UART是Universal Asy ...
- ESP32配置mqtt arduino
ESP32配置MQTT 明确流程 1. 需要在arduino上使用mqtt需要使用库 " PubSubClient ". 2. 使ESP32连接到WiFi网络 3. 连接mqtt代 ...
- 咸鱼ZTMS实例—心率检测
咸鱼ZTMS实例-心率检测 所选设备 接线 示例代码 测试效果 所选设备 主控板:ZTMS1.1python开发板 0.96oled屏幕 max30102 MAX30102是一个集成的脉搏血氧仪和心率 ...
- 咸鱼ZTMR实例—板载LED
咸鱼ZTMR实例-板载LED 大部分开发板的例程,都是从闪灯(控制LED闪烁)开始的.因为闪灯的程序简单,也比较直观,不但可以让初学者快速了解基本方法, 也可以直观地看到效果. 用法 说明 pyb.L ...
- 咸鱼ZTMR实例—寻迹模块
咸鱼ZTMR实例-寻迹模块 主控板:ZTMR1.1python开发板 寻迹模块 ZT红外寻迹 规格参数: 1.工作电压:DC 3.3V-5V 2.工作电流:尽量选择1A以上电源供电 3.工作温度:-1 ...
- 咸鱼ZTMR实例—加速传感器
咸鱼ZTMR实例-加速传感器 MMA7660FC 加速度传感器基本使用 制作水平仪 MMA7660FC MMA7660FC可在六个方向定制垂直水平座向 集成了众多智能的运动功能,如方向.震动和敲击检测 ...
- 咸鱼ZTMS实例—加速传感器制作平衡仪
咸鱼ZTMS实例-加速传感器制作平衡仪 MMA7660FC 加速度传感器基本使用 制作水平仪 MMA7660FC MMA7660FC可在六个方向定制垂直水平座向 集成了众多智能的运动功能,如方向.震动 ...
- 咸鱼ZTMS实例—三轴加速传感器
咸鱼ZTMS实例-三轴加速传感器 MMA7660FC 加速度传感器基本使用 MMA7660FC MMA7660FC可在六个方向定制垂直水平座向 集成了众多智能的运动功能,如方向.震动和敲击检测集成了众 ...
最新文章
- VBA操作word生成sql语句
- java学习(130):treemap类
- 控制台下修改系统驱动状态的代码
- 二开微信表情包小程序去授权版+网站后端
- Win7 无法进行Windows自动更新
- 第八章 ---- 枚举注解
- python装第三方库有几种方法_Python安装第三方库的4种方法
- python之Linux基础(三)
- CGPathAddArc
- 外显子bed文件获取
- pos机显示服务器异常,POS机刷卡出现异常不要慌!一定要按步骤处理问题!
- Super Socks5cap使用教程
- 【nginx读取配置文件http模块】
- php微信支付需要哪些设置,如何申请和配置微信支付接口?
- 苹果手机计算机软件不见了怎么办,苹果手机备忘录的东西突然没有了怎么找回?...
- 如何获得免费虚拟主机,云服务器呢?(免费)
- 华为ENSP之防火墙双机热备
- 俄勒冈大学计算机科学专业,俄勒冈大学计算机与信息科学详解 热门专业不容错过...
- VB控件实现IObjectSafety安全接口(zt)
- linux创建文件软链接命令,Linux创建文件或目录软链接、硬链接的技巧
热门文章
- nuc element i5-8265U黑苹果配置
- 右侧追击(二)——券商行业
- 人工智能时代的自我修炼之-有效沟通
- Linux - cannot update mailbox /var/mail/root for user root. error writing messa ge: File too large
- 虚拟机安装debian
- Oracle新建的用户看不到表,oracle中用命令行新建的用户没法建表
- HTML+CSS+原生JS写一个简易的音乐播放器(仅播放一首歌)
- MPA海洋捕食者算法学习笔记
- 网络技术-路由器配置
- Negroni源码分析