初学者视角体验:【EC800X Duino 开发板】轻松玩转MQTT通信!
thumbnail

初学者视角体验:【EC800X Duino 开发板】轻松玩转MQTT通信!

本文介绍了 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 导通发光;

操作步骤

  1. 进入ConnectLab - 管理系统建立MQTT服务器,获取服务器地址以及连接端口。
  2. 完成硬件连接的工作后,电脑设备管理器的端口列表中出现包含?Quectel USB 字样的 COM 口,表示开机成功? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
  3. 参考此章节,烧录对应型号固件包至开发板
  4. 进入github仓库下载对应的脚本,通过快速启动教程将脚本下载到模组中;? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
  5. 参考此章节,执行主程序文件?mqtt.py。

  6. 参考此章节,停止程序运行。

 

代码讲解

# MQTT连接参数(ConnectLab服务器)
state = 0
usrname="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控制失败排查思路

软件方面:

LED不亮时确认GPIO模式是否设置为输出模式,使用gpio.read()读取该引脚电平是否拉低;

LED不亮时确认是否收到服务器下发的控制消息;

LED不亮时前往服务器web端查看是否有正在连接的客户端;

连接失败使用“net.gatState()”查看是否注网成功;

硬件方面:

连接失败时确认SIM卡是否正确插入sim卡槽;

连接失败时确认天线是否安装在LTE底座;

LED不亮时确认是否接线的引脚与软件初始化的引脚一致;

资源直达

仓库内还有更多优质创客案例,欢迎前往 GitHub 获取完整代码。如果喜欢本项目,不妨顺手点个 Star 支持一下~

点击直达仓库:QuecPython-Maker-Examples

 

 

 

 

 

沟通无界,服务无限

了解更多关于移远公司、产品和技术支持的信息。

sitemap地图