完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
前言
前段时间尝试了一下阿里云物联网平台,功能还挺强大的,有些经验在此分享一下。 硬件 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,功能也比较类似,有兴趣的可以尝试一下。 |
|
|
|
只有小组成员才能发言,加入小组>>
3278 浏览 9 评论
2955 浏览 16 评论
3455 浏览 1 评论
8987 浏览 16 评论
4050 浏览 18 评论
1101浏览 3评论
570浏览 2评论
const uint16_t Tab[10]={0}; const uint16_t *p; p = Tab;//报错是怎么回事?
568浏览 2评论
用NUC131单片机UART3作为打印口,但printf没有输出东西是什么原因?
2301浏览 2评论
NUC980DK61YC启动随机性出现Err-DDR是为什么?
1856浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-21 19:48 , Processed in 1.153476 second(s), Total 78, Slave 59 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号