树莓派物联网应用基础(1):跨平台测试古德微MQTT物联网通信

2020-04-055619
AI 快速预览详细 收起
本文介绍了如何在Windows和树莓派上安装paho-mqtt库,并通过编写Python代码实现跨平台的MQTT通信。首先,在两个系统上分别安装paho-mqtt库,然后编写发送和接收代码。最后,在命令行下运行程序,成功实现了跨平台的MQTT通信。
学习完古德微花老师的讲课,实践课程内容,梳理一下学习的思路实践过程记录下来。
我把程序代码在两个不同系统运行,体验“跨平台Windows—树莓派(linux内核)测试古德微MQTT服务器实现远程通信”,记录一下自己的实验过程。
树莓派物联网应用基础(1):跨平台测试古德微MQTT物联网通信图1

https://upload-images.jianshu.io/upload_images/21365601-9eab8f1f47631ffd.gif?imageMogr2/auto-orient/strip


一、安装paho-mqtt第三库,下载了安装代码在windows系统用离线安装,在树莓派用在线安装。
树莓派物联网应用基础(1):跨平台测试古德微MQTT物联网通信图2

官网下载


paho-mqtt 1.5.0下载
树莓派物联网应用基础(1):跨平台测试古德微MQTT物联网通信图3

下载链接


下载完后,把paho-mqtt-1.5.0.tar.gz解压,命令行CMD进入解压后的文件夹
命令行输入以下命令安装
python setup.py install


树莓派命令行在线安装
输入命令:sudo pip3 install paho-mqtt
树莓派物联网应用基础(1):跨平台测试古德微MQTT物联网通信图4

在线安装paho-mqtt

在python中分别写发送和接收代码
  1. #mqtt发送端代码wlw_sent.py
  2. import paho.mqtt.client as mqtt
  3. import time
  4. client=mqtt.Client()
  5. client.connect("www.gdwrobot.top",1883,60)
  6. time.sleep(1)
  7. nData=1
  8. while 1:
  9.         time.sleep(0.5)
  10.         nData+=1
  11.         nData%=100
  12.         client.publish('testtopic',nData)
  13.         #client.disconnect()
  14.          print("success sent:",nData)
  15. #mqtt接收端代码wlw_recv.py
  16. #!/usr/bin/python
  17. import paho.mqtt.client as mqtt
  18. def on_connect(client, userdata, flags, rc):
  19.         print("Connected with result code "+str(rc))
  20.         client.subscribe("testtopic")
  21. def on_message(client, userdata, msg):
  22.         print(msg.topic+" " + ":" + str(msg.payload,encoding="uft-8"))
  23. client = mqtt.Client()
  24. client.on_connect = on_connect
  25. client.on_message = on_message
  26. client.connect("www.gdwrobot.top", 1883, 60)
  27. client.loop_forever()
复制代码



分别在两个命令行下运行Python程序
同在windows环境,MQTT通讯
windows命令行执行:sudo python wlw_recv.py
windows Anaconda命令行执行:python wlw_recv.py

树莓派物联网应用基础(1):跨平台测试古德微MQTT物联网通信图5


windows环境执行物联网通讯

分别在windows和树莓派执行物联网通讯,如下图树莓派命令行执行:sudo python wlw_recv.py

windows命令行执行:python wlw_recv.py

树莓派物联网应用基础(1):跨平台测试古德微MQTT物联网通信图6

分别在windows和树莓派执行物联网通讯


命令行下MQTT测试成功……
接下来可以远程控制硬件(实现物联网)

202004053449..png (218.05 KB, 下载次数: 4123)

树莓派物联网应用基础:跨平台测试古德微MQTT通信_image_3.webp

创作许可协议

本项目采用 None(不开放任何权利,保留所有权利) 进行许可。

评论(1)
DFrJ5KYVQaH
DFrJ5KYVQaH
好贴,收藏学习中
ospwin
ospwin
作者
回复DFrJ5KYVQaH
谢谢老师鼓励,继续学习中
- 没有更多了 -