咸鱼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可在六个方向定制垂直水平座向 集成了众多智能的运动功能,如方向.震动和敲击检测集成了众 ...
最新文章
- UVA 1415 - Gauss Prime(数论,高斯素数拓展)
- Queue接口及是实现类PriorityQueue介绍
- 上班族英语用语:今天你加班吗?
- [译]git revert
- 【干货】写给初中级前端的高级进阶指南
- ubuntu 12.04 ubuntu System program problem detected 解决方法
- 笔记-JavaWeb学习之旅19
- 【图像处理】基于matlab GUI美颜系统【含Matlab源码 809期】
- 各种级数(调和、几何)总结
- 计算某年某月某日到某年某月某日之间的天数
- mysql左联和全等_Mysql7种join连接及mysql一些知识点-Go语言中文社区
- 怎么转换视频格式?腾讯视频qlv格式转换mp4方法
- java数字签名(签名生成,用证书验证签名)
- DirectX11:着色器
- C#【必备技能篇】使用批处理脚本(.bat文件)打开控制台应用程序
- hihoCoder184——满减优惠
- Windows上Emwin的使用
- 315Mhz、433Mhz无线遥控信号的解码分析和模拟
- 医用超声阵列换能器波束容差分析与变迹处理
- jfinal框架之登录注册
热门文章
- Python爬虫初学一(爬虫基础)
- CAD中插入外部参照字体会变繁体_为什么在原点附近的图纸作为外部参照插入后却离插入点很远?...
- 判断类型是否继承_读《Java核心技术》-继承(覆盖、final、强制类型转换、抽象类)...
- lopa分析_保护层分析(LOPA)
- 前端实现图片快速反转替换_canvas实现图片镜像翻转的2种方式
- Android 天气APP(一)开发准备
- 最强GTD Omnifocus3 (mac)
- SGD平行算法 - Downpour SGD (单机python多线程版)
- nittest html报告,学业水平测评复习nit3-5.doc
- Unity的Package了解(2020.3)