Device : Air780E and python_client
mqtt server: AliYun
https://iot.console.aliyun.com/devices/
port:1883
product: **SmartProduct**
pip install pyserial
pip install paho-mqtt==1.6.1
topic between device
/broadcast/k0xdkIcKpaP/${identifier}
/broadcast/k0xdkIcKpaP/ComBetweenDevice
Device
![1710744420220](image/README/1710744420220.png)
**Topic**
![1710744473728](image/README/1710744473728.png)
**subscribe topic**
![1710744505804](image/README/1710744505804.png)
![1710744541018](image/README/1710744541018.png)
Test MQTT Server Yinerda
http://test.yinerda.com/#/MQTT
【有道云笔记】物联网mqtt
https://note.youdao.com/s/7WNPVo60
pip install pyinstaller
pyinstaller -F .\mqtt_main.py -n mqtt_main.exe
altgraph 0.17.4
argparse-addons 0.12.0
bitstruct 8.19.0
blinker 1.6.2
cantools 39.4.5
certifi 2023.5.7
charset-normalizer 3.1.0
click 8.1.3
colorama 0.4.6
crccheck 1.3.0
diskcache 5.6.3
docopt 0.6.2
et-xmlfile 1.1.0
Flask 2.3.2
Flask-Login 0.6.2
gunicorn 21.2.0
idna 3.4
intelhex 2.3.0
itsdangerous 2.1.2
Jinja2 3.1.2
lxml 4.9.3
MarkupSafe 2.1.2
meson 1.3.0
numpy 1.24.2
openpyxl 3.1.2
oyaml 1.0
packaging 23.1
paho-mqtt 1.6.1
pandas 1.5.3
pefile 2023.2.7
pip 23.3.1
pipreqs 0.4.13
prettytable 3.8.0
pyelftools 0.29
pyelfwrapper 0.0.5
pyinstaller 6.5.0
pyinstaller-hooks-contrib 2024.3
PyPDF2 3.0.1
pyserial 3.5
PySimpleGUI 4.60.5
pysimplesql 2.3.0
python-can 4.3.1
python-dateutil 2.8.2
python-docx 0.8.11
pytz 2022.7.1
pywin32 306
pywin32-ctypes 0.2.2
PyYAML 6.0.1
requests 2.30.0
SCons 4.4.0
setuptools 65.5.0
six 1.16.0
textparser 0.24.0
typing_extensions 4.10.0
update-checker 0.18.0
urllib3 2.0.2
wcwidth 0.2.6
Werkzeug 2.3.4
wrapt 1.16.0
WTForms 3.1.0
yarg 0.1.9
基于python的EC800物联网mqtt协议开发指南:从入门到实战
需积分: 0 104 浏览量
更新于2024-04-01
收藏 6.98MB ZIP 举报
**Python MQTT协议在EC800物联网开发中的应用**
MQTT(Message Queuing Telemetry Transport)是一种轻量级的发布/订阅(Publish/Subscribe)消息协议,特别适合于资源有限的设备,如嵌入式系统和移动设备。在物联网(IoT)场景中,它被广泛用于设备与云端或设备之间的通信。本指南将深入探讨如何使用Python语言和Paho-MQTT库来开发基于EC800模块的物联网应用程序。
**一、Python与Paho-MQTT库**
Paho-MQTT是Eclipse Paho项目的一部分,提供了多种语言的MQTT客户端库,包括Python。Python作为一门易于学习且功能强大的脚本语言,非常适合进行物联网应用的开发。Paho-MQTT Python库提供了一个简单易用的API,允许开发者轻松地实现MQTT协议的连接、发布、订阅和断开等功能。
**二、EC800物联网模块**
EC800是专为物联网设计的模块,支持GSM/GPRS/EDGE和3G网络,具备强大的数据传输能力和低功耗特性。它通常用于实现远程设备的联网和数据交换。在Python环境中,通过特定的驱动程序,如`mqtt_drv_ec800.py`,可以与EC800进行通信,控制其网络连接,并通过MQTT协议进行数据交互。
**三、基本MQTT操作**
1. **连接**:使用Paho-MQTT的`Client`类创建一个客户端实例,然后调用`connect()`方法连接到MQTT服务器(Broker)。例如:
```python
import paho.mqtt.client as mqtt
client = mqtt.Client()
client.connect("broker.hivemq.com", 1883, 60)
```
2. **订阅**:使用`subscribe()`方法订阅特定的主题,以便接收该主题的消息。例如:
```python
client.subscribe("my/topic")
```
3. **发布**:使用`publish()`方法向指定主题发布消息。例如:
```python
client.publish("my/topic", "Hello, MQTT!")
```
4. **回调函数**:设置`on_message()`回调函数处理接收到的消息。例如:
```python
def on_message(client, userdata, message):
print(f"Received message: {message.payload.decode()}")
client.on_message = on_message
```
5. **保持连接**:调用`loop_forever()`或`loop_start()`维持客户端的运行并处理网络事件。
**四、EC800驱动程序开发**
`mqtt_drv_ec800.py`文件可能是为了适配EC800模块而编写的驱动程序,它可能包含初始化模块、建立网络连接、发送和接收数据等函数。通过这个驱动,开发者能够控制EC800模块执行MQTT协议的全部操作。
**五、实际应用示例**
`mqtt_main.py`很可能是整个应用的入口点,它可能调用了`mqtt_drv_ec800.py`中的函数,实现了连接到MQTT服务器、订阅特定主题、发布数据以及处理收到的消息等功能。在实际项目中,这样的程序可以监控和控制远程设备,例如,读取传感器数据并上传到云端,或者接收云端指令来调整设备状态。
**六、构建与打包**
`build.bat`可能是一个批处理文件,用于构建和打包项目,例如生成`mqtt_main.exe`可执行文件。`mqtt_main.exe.spec`文件可能与PyInstaller相关,PyInstaller是一个将Python程序转换为独立可执行文件的工具。
总结,本指南通过Python和Paho-MQTT库,结合EC800物联网模块,为开发者提供了从基础概念到实战应用的MQTT协议开发教程。通过理解这些内容,你可以构建自己的物联网解决方案,实现设备与云端的高效通信。
废柴程序员-熊熊
- 粉丝: 404
- 资源: 2
最新资源
- 基于springboot的文理医院预约挂号系统源码数据库.doc
- springboot144基于mvc的高校办公室行政事务管理系统设计与实现.zip
- springboot145基于java的在线问卷调查系统的设计与实现.zip
- MATLAB代码:基于储能电站服务的冷热电多微网系统双层优化配置 关键词:储能电站 共享储能电站 冷热电多微网 双层优化配置 参考文档:《基于储能电站服务的冷热电多微网系统双层优化配置》完全复
- 圣博润(信息安全产品及服务提供商,北京圣博润高新技术股份有限公司)创投信息
- springboot146基于Spring Boot的可盈保险合同管理系统的设计与实现.zip
- springboot148江理工文档管理系统的设计与实现.zip
- springboot147校园失物招领系统.zip
- 基于C#+halcon开发的视觉检测源代码 跑机10万+ 功能齐全 支持6个摄像头,只要硬件够强 界面悬浮处理
- 各类遗传算法论文的合集
- 泰诺麦博(天然全人源单克隆抗体新药研发商,珠海泰诺麦博制药股份有限公司)创投信息
- bluez-hcidump-2.5.rar
- springboot150基于springboot的贸易行业crm系统.zip
- springboot151基于web的人力资源管理系统的设计与实现.zip
- springboot149智慧图书管理系统设计与实现.zip
- 微知卓生物(生物医药技术研发商,上海微知卓生物科技有限公司)创投信息