zoukankan      html  css  js  c++  java
  • 【ESP8266】基于ESP8266的MicroPython连接MQTT服务器

    前言

    这一篇文章介绍的是使用运行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服务器地址
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19

    因为博主使用的本地的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服务器的步骤就到这里。

  • 相关阅读:
    Note/Solution 转置原理 & 多点求值
    Note/Solution 「洛谷 P5158」「模板」多项式快速插值
    Solution 「CTS 2019」「洛谷 P5404」氪金手游
    Solution 「CEOI 2017」「洛谷 P4654」Mousetrap
    Solution Set Border Theory
    Solution Set Stirling 数相关杂题
    Solution 「CEOI 2006」「洛谷 P5974」ANTENNA
    Solution 「ZJOI 2013」「洛谷 P3337」防守战线
    Solution 「CF 923E」Perpetual Subtraction
    KVM虚拟化
  • 原文地址:https://www.cnblogs.com/TOLLA/p/9646318.html
Copyright © 2011-2022 走看看