【ESP8266】基于ESP8266的MicroPython连接MQTT服务器
来源:互联网 发布:手机照片整理软件 编辑:程序博客网 时间:2024/06/05 05:17
前言
这一篇文章介绍的是使用运行MicroPython的ESP8266去连接MQTT服务器。也算是填了之前的坑。
开发环境
- Windows 10 x64
- NodeMCU
- uPyLoader
- MicroPython 1.8.7
MicroPython的MQTT
MicroPython是一款可以运行于微控制器的Python语言,除了继承了Python的语言特性以外,当然也继承了Python强大的功能库。不过在MicroPython上使用功能库需要到Github手动下载。当然,为了方便读者下载,我上传该umqtt库到了CSDN资源,点击这里查看。
MicroPython是支持MQTT客户端的,在上面给出的连接中,找到umqtt.simple文件夹,里面就有使用MQTT接口的例程。在ESP8266的MicroPython官方API文档中,并没有给出这个接口的介绍,所以需要到搜索下相关资料。
使用MQTT
本小节将使用uPyLoader下载文件,如果不会uPyLoader也没关系,并不影响理解,对uPyLoader感兴趣的话可以参考后面的相关文章。
进入umqtt.simple目录,把umqtt文件夹中的simple.py文件下载到ESP8266。再备份一下example_sub.py,然后修改里面的代码如下。
import timefrom simple import MQTTClient# ===添加下面参数===USER = "admin"PWD = "password"# ……省略……# 修改main函数,添加port、USER、PWD参数def main(server="localhost", port=61613): c = MQTTClient("umqtt_client", server, port, USER, PWD) print(c.addr) # 打印信息用,可加可不加 # ……省略……# ……省略……if __name__ == "__main__": main("192.168.10.70") # 修改为相应的MQTT服务器地址
因为博主使用的本地的MQTT服务器(Apache-Apollo),所以端口是61613。MicroPython的MQTT库中默认的是1883,可以按需修改。
如果也想自己搭建本地MQTT服务器做测试,可以参考这篇文章《在Windows下搭建MQTT服务器》。
打开uPyLoader的终端(菜单栏->「View」->「Terminal」),然后运行example_sub.py,观察终端是否启动成功,最后就可以看到控制台有客户端连接上了。
结语
自此,使用基于ESP8266的MicroPython连接MQTT服务器的步骤就到这里。
相关文章
- 基于ESP8266的MicroPython入门笔记
- 使用uPyLoader调试运行MicroPython的ESP8266
- 使用ESP8266原生SDK进行MQTT连接(C语言)
- 【ESP8266】基于ESP8266的MicroPython连接MQTT服务器
- 【ESP8266】基于ESP8266的MicroPython入门笔记
- ESP8266基于microPython的OLED(SSD1306)驱动程序
- micropython--esp8266
- 【ESP8266】ESP8266的MQTT客户端搭建教程
- 【ESP8266】使用uPyLoader调试运行MicroPython的ESP8266
- esp8266使用micropython对GPIO的操作
- 基于ESP8266,NodeMCU的自动升级的MQTT客户端
- ESP8266的MQTT客户端搭建教程(基于NONS_SDK_v2.0)
- ESP8266移植MQTT连接中移ONENET
- ESP8266的WIFI连接
- esp8266使用micropython链接WiFi
- Arduino--ESP8266--ESP-01学习笔记--连接WiFi、连接MQTT服务器、web显示
- ESP8266和MQTT
- 基于ESP8266的智能插座
- 基于esp8266的开发导航帖arduino ide for esp8266
- ESP8266
- ESP8266
- 【docker】-- Ubuntu14.04 安装
- CentOS Linux使用crontab运行定时任务详解
- 欢迎使用CSDN-markdown编辑器
- HttpClient
- Linux常用命令——用户管理命令
- 【ESP8266】基于ESP8266的MicroPython连接MQTT服务器
- sql随笔1
- 鼠标经过放大图片
- 图片显示 imageNamed, initWithContentsOfFile 的区别
- Linux yum安装MySQL5.7
- makefile debug && release 模式
- ASP.NET中IsPostBack详解
- 分布式架构学习之:016--Redis的安装与使用(单节点)
- 关于微信支付的那些事