1. MQTT¶
本节将通过MQTT通讯,实现用鲁班猫上传数据到云平台。
1.1. MQTT介绍¶
MQTT是一种基于发布/订阅模式的轻量级消息传输协议,它专为物联网(IoT)设计,用于实现设备之间以及设备与服务器之间的数据通信。 在MQTT协议中,消息通过主题(Topic)进行分类和路由,发布者(Publisher)将消息发布到指定的主题上,而订阅者(Subscriber)则 通过订阅这些主题来接收消息。这种发布/订阅模式使得消息发布者和接收者之间实现了松散的耦合,从而提高了系统的可扩展性和灵活性。
1.2. 涂鸦智能云平台¶
1.2.1. 平台介绍¶
涂鸦开发者平台 致力于打造互联互通的物联网开发标准,连接品牌、OEM 厂商、开发者、零售商和各行业的智能化需求。 基于全球化部署的公有云,涂鸦开发者平台实现了智慧场景和智能设备的互联互通,承载着每日数以亿计的设备请求交互。 平台服务涵盖硬件开发工具、App 开发工具、物联网云服务和智慧行业开发,为开发者提供从技术到营销渠道的全面赋能。
本次将演示如何使用鲁班猫上传数据到涂鸦智能云平台,并使用涂鸦智能提供的APP查看数据。
1.3. 实验操作¶
1.3.1. 获取程序¶
测试代码位于lubancat_rk_code_storage/expansion_board/mqtt,将mqtt整个文件夹拷贝到板卡。
1.3.2. python代码测试¶
python测试代码为:lubancat_rk_code_storage/expansion_board/mqtt/python/main.py
将程序中使用的DeviceID和deviceSecret替换成自己的:
1 2 | cd python
vi main.py
|
1 2 3 4 | ''' main.py '''
DeviceID = '2632d4478100fda674lxlu' # 替换成自己的DeviceID
DeviceSecret = 'qxZS1LhriSGzzqiE' # 替换成自己的DeviceSecret
|
可以自行修改待上传的温度值和led开关值:
1 2 3 4 5 6 7 8 9 10 | ''' main.py '''
...
# 上报的温度值
temp_value = 35
# 上报的LED开关值
led_value = 1
...
|
执行如下命令运行程序
1 | sudo python main.py
|
手机APP查看数据:


1.3.3. c代码测试¶
c测试代码为:lubancat_rk_code_storage/expansion_board/mqtt/c/main.c
执行如下命令安装程序所需要的相关库:
1 2 | sudo apt update
sudo apt install libssl-dev
|
将程序中使用的DeviceID和deviceSecret替换成自己的:
1 2 | cd c
vi main.c
|
1 2 3 4 | // main.c
#define TUYA_DEVICE_ID "2632d4478100fda674lxlu" // 替换成自己的DeviceID
#define TUYA_DEVICE_SECRET "qxZS1LhriSGzzqiE" // 替换成自己的DeviceSecret
|
可以自行修改待上传的温度值和led开关值:
1 2 3 4 5 6 7 8 | // main.c
...
#define TEMP_VALUE "35" // 上报的温度值
#define LED_VALUE "1" // 上报的LED开关值
...
|
执行如下命令编译运行程序
1 2 | make
sudo ./main
|
手机APP查看数据:
