本文介绍了 EC800X Duino 开发板结合 MQTT 协议实现物联网数据通信,带领初学者快速上手 QuecPython,极简配置即可完成设备与云平台的数据收发,零基础也能快速实现物联网通信功能。
本项目基于移远 EC800X Duino 开发板实现 MQTT 通信功能,是面向物联网入门者的实操案例,核心代码与调试教程已整理完成,可直接复刻使用,快速掌握物联网核心通信技术。
完成 EC800X Duino 开发板网络配置与 MQTT 参数设置后,可实现MQTTS 加密通信 + 云端指令解析 + GPIO 电平控制,完整实现物联网 “云端下发指令→设备执行动作” 的标准流程;无需复杂的外围设备,极简硬件搭配即可完成物联网通信落地。
| 组件 | 实物 | 数量 | 获取方式 |
| EC800X Duino 开发板 | ![]() |
1 | 商品详情 |
| LED RGB | ![]() |
1 | 其他 |
| SIM Card | ![]() |
1 | 其他 |
| 天线 | ![]() |
1 | 商品详情 |
| Type-C数据线 | ![]() |
1 | 其他 |
对照以下表格结合图片参考,将设备与外设一一对应连接。
| 硬件 | 开发板 |
| LED(VCC) | 3.3V |
| LED(信号控制线) |
P23(GPIO31) |
| SIM Card |
SIM 卡槽 |
| 天线 |
LTE 底座 |
| USB | 开发板USB接口 |

下图介绍了EC800X QuecDuino 开发板主要管脚布局,以及硬件外设原理图。
从下图可以看出来我们的rgb灯,3 个 LED 的正极全部并联,统一接 VCC3V3(3.3V 电源),因此如果我们需要点亮其中一个led灯时,需要拉低led灯连接的对应GPIO引脚电平,形成正向压差,LED 导通发光;


Quectel USB 字样的 COM 口,表示开机成功 

参考此章节,执行主程序文件 mqtt.py。
参考此章节,停止程序运行。
代码讲解
# MQTT连接参数(ConnectLab服务器)state = 0usrname="quectel"password="12345678"gpio1=Pin(Pin.GPIO31,Pin.OUT,Pin.PULL_DISABLE,1)# MQTT消息回调函数:接收并处理云端指令
def sub_cb(topic, msg): data=msg.decode() print(data) if data == "led": gpio1.write(0) print("led open...") utime.sleep(3) gpio1.write(1)if __name__ == '__main__': # 创建MQTTS加密客户端,连接服务器 try: c = MQTTClient("umqtt_client", "101.37.104.185", 41094,usrname,password,ssl=True) c.set_callback(sub_cb) c.connect() c.subscribe("/public/TEST/python") c.publish("/public/TEST/python", "my name is Quecpython!")# 循环监听云端消息
while True: c.wait_msg() utime.sleep(1) except KeyboardInterrupt as e: c.disconnect()
软件方面:
LED不亮时确认GPIO模式是否设置为输出模式,使用gpio.read()读取该引脚电平是否拉低;
LED不亮时确认是否收到服务器下发的控制消息;
LED不亮时前往服务器web端查看是否有正在连接的客户端;
连接失败使用“net.gatState()”查看是否注网成功;
硬件方面:
连接失败时确认SIM卡是否正确插入sim卡槽;
连接失败时确认天线是否安装在LTE底座;
LED不亮时确认是否接线的引脚与软件初始化的引脚一致;
仓库内还有更多优质创客案例,欢迎前往 GitHub 获取完整代码。如果喜欢本项目,不妨顺手点个 Star 支持一下~
点击直达仓库:QuecPython-Maker-Examples
