单片机学习小组
登录
直播中
胡秋阳
13年用户
1532经验值
私信
关注
怎样在阿里云物联网平台上进行单片机程序的编写呢
开启该帖子的消息推送
单片机
物联网
程序
阿里云物联网平台是怎样设置的?
怎样在阿里云物联网平台上进行
单片机
程序的编写呢?
回帖
(1)
周密
2022-2-22 10:00:25
前言
前段时间尝试了一下阿里云物联网平台,功能还挺强大的,有些经验在此分享一下。
硬件
l单片机:STM32F103C8T6
l网络连接:ESP8266 WIFI模块
l传感器:PM2.5传感器、温湿度传感器
传感器驱动以及WIFI模块的驱动程序比较简单,之前的文章也有过介绍,这里不详细说了。
阿里云物联网平台设置
1、注册阿里云物联网平台,具体不详细介绍了。
2、创建产品,选择高级版。
3、选择产品的属性,如图所示。然后点击完成。添加完成后会在产品列表中看到所添加的设备。
4、增加产品功能。在设备列表中点击查看,查看产品详情,在功能定义菜单下,增加产品功能。其中标识符后面编程会用到。
5、添加设备。在设备菜单下,点击添加设备,选择刚创建的产品,DeviceName随便取一个名字,点击确认。
6、添加完成后查看设备的详细信息,其中Productkey、DeviceName、DeviceSecret后面编程会用到。
7、Topic列表会自动生成一些Topic,后面会用到第一个。
单片机程序编写
平台设置完毕,下面就是单片机程序了。
1.MQTT协议移植的paho.mqtt.embedded-c-master,用到的就是MQTTPacketsrc目录下的文件和MQTTPacketsamples目录下transport.c和.h文件。需要修改的只有transport.c里的两个函数,一个发送,一个接收。
2.打开和关闭连接已经在ESP8266实现了(ESP8266工作在TCP透传模式),所以直接返回0。
3.还需要移植cJSON,只有两个文件cJSON.c和cJSON.h,添加到工程里,直接调用里面的函数就行。
4.连接MQTT服务器,程序如下。抹掉的部分见后面注释。用户名中间有个“&”符号。密码可以是工具生成,也可以是函数生成。
5.生成cJSON字符串,调用cJSON函数生成字符串,其中params内部的参数即为添加产品功能时的标识符。
6.发布消息。函数参数char* pTopic为设备Topic列表中的第一条的字符串,char* PMessage为刚才生成的字符串。通过判断发布消息的反馈来判断服务器连接是否正常,如果不正常就重新连接。
7.发布成功后,在管理平台上会看到设备上传的信息,以及历史曲线。
总结
物联网平台的功能很多,还可以直接在平台生成WEB页面和手机APP程序,当然功能还不是很完善。还有很多其他的物联网平台,比如OneNET,功能也比较类似,有兴趣的可以尝试一下。
前言
前段时间尝试了一下阿里云物联网平台,功能还挺强大的,有些经验在此分享一下。
硬件
l单片机:STM32F103C8T6
l网络连接:ESP8266 WIFI模块
l传感器:PM2.5传感器、温湿度传感器
传感器驱动以及WIFI模块的驱动程序比较简单,之前的文章也有过介绍,这里不详细说了。
阿里云物联网平台设置
1、注册阿里云物联网平台,具体不详细介绍了。
2、创建产品,选择高级版。
3、选择产品的属性,如图所示。然后点击完成。添加完成后会在产品列表中看到所添加的设备。
4、增加产品功能。在设备列表中点击查看,查看产品详情,在功能定义菜单下,增加产品功能。其中标识符后面编程会用到。
5、添加设备。在设备菜单下,点击添加设备,选择刚创建的产品,DeviceName随便取一个名字,点击确认。
6、添加完成后查看设备的详细信息,其中Productkey、DeviceName、DeviceSecret后面编程会用到。
7、Topic列表会自动生成一些Topic,后面会用到第一个。
单片机程序编写
平台设置完毕,下面就是单片机程序了。
1.MQTT协议移植的paho.mqtt.embedded-c-master,用到的就是MQTTPacketsrc目录下的文件和MQTTPacketsamples目录下transport.c和.h文件。需要修改的只有transport.c里的两个函数,一个发送,一个接收。
2.打开和关闭连接已经在ESP8266实现了(ESP8266工作在TCP透传模式),所以直接返回0。
3.还需要移植cJSON,只有两个文件cJSON.c和cJSON.h,添加到工程里,直接调用里面的函数就行。
4.连接MQTT服务器,程序如下。抹掉的部分见后面注释。用户名中间有个“&”符号。密码可以是工具生成,也可以是函数生成。
5.生成cJSON字符串,调用cJSON函数生成字符串,其中params内部的参数即为添加产品功能时的标识符。
6.发布消息。函数参数char* pTopic为设备Topic列表中的第一条的字符串,char* PMessage为刚才生成的字符串。通过判断发布消息的反馈来判断服务器连接是否正常,如果不正常就重新连接。
7.发布成功后,在管理平台上会看到设备上传的信息,以及历史曲线。
总结
物联网平台的功能很多,还可以直接在平台生成WEB页面和手机APP程序,当然功能还不是很完善。还有很多其他的物联网平台,比如OneNET,功能也比较类似,有兴趣的可以尝试一下。
举报
更多回帖
rotate(-90deg);
回复
相关问答
单片机
物联网
程序
如何在手机端和网页端去获取上传的数据
呢
2022-02-22
1010
物
联网
平台上
的数据导出
2021-03-22
10550
STM32F103板子是如何通过MQTT协议连接
阿里
云
物
联网
平台
的
呢
2021-10-26
1710
如何实现Air800接收STM32发送的温湿度并上传
阿里
云
物
联网
云
平台
呢
2021-12-17
1852
如何利用
阿里
云
物
联网
平台
控制开发板上的LED开关功能
呢
2021-12-01
2720
基于CC2640R2F的SDK支持
阿里
云
Link
物
联网
平台
2019-07-15
2337
求大佬分享基于Arduino与
阿里
云
物
联网
产品开发基础教程
2021-10-12
1280
有没有人用开发板连接公有
物
联网
云
平台
2020-11-26
1849
如何连接
阿里
云和OneNET
物
联网
平台
?
2021-12-21
2261
如何从嵌入式开发/
云
平台
开发/Android端来实现一个
物
联网
应用开发?
2022-01-20
1119
发帖
登录/注册
20万+
工程师都在用,
免费
PCB检查工具
无需安装、支持浏览器和手机在线查看、实时共享
查看
点击登录
登录更多精彩功能!
英国威廉希尔公司网站
william hill官网 版块
小组
免费开发板试用
ebook
直播
搜索
登录
×
20
完善资料,
赚取积分