【ESP8266】基于ESP8266的MicroPython连接MQTT服务器

8 篇文章 4 订阅

前言

这一篇文章介绍的是使用运行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 time
from 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,观察终端是否启动成功,最后就可以看到控制台有客户端连接上了。

uPyLoader运行example_sub.py

MQTT控制台和uPyLoader终端

结语

自此,使用基于ESP8266的MicroPython连接MQTT服务器的步骤就到这里。

相关文章

  1. 基于ESP8266的MicroPython入门笔记
  2. 使用uPyLoader调试运行MicroPython的ESP8266
  3. 使用ESP8266原生SDK进行MQTT连接(C语言)
  • 4
    点赞
  • 56
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值