目录

MQTT学习笔记-阿里云物联网连接三SDK仿真设备上线

MQTT学习笔记–阿里云物联网连接(三)SDK仿真设备上线

百度:阿里云——产品——物联网IOT——企业物联网平台——进入控制台——选择华东2——进入公共示例

https://i-blog.csdnimg.cn/blog_migrate/f5a096de52732f1bd5dc87a25c4b964b.png

https://i-blog.csdnimg.cn/blog_migrate/738208ac7586a03843ffb3c0ad33a241.png

https://i-blog.csdnimg.cn/blog_migrate/255a2c7a178b703ee55a3b9e2f75ea93.png

产品:家族

设备:家族中的成员

https://i-blog.csdnimg.cn/blog_migrate/09a9c5b632a66d19596d92f0aac265ae.png

产品创建成功后,会出现如下页面,这里可以点击添加设备也可以点击为产品定义物模型(为产品定义属性、服务、事件)。下面步骤我们先添加设备。 https://i-blog.csdnimg.cn/blog_migrate/16c558e4cda269ccb67deb51bf7fcbbb.png

选择设备所属的产品,然后添加设备。

https://i-blog.csdnimg.cn/blog_migrate/d0423df4e4eaa5ba2853eb903ffc958d.png

因为创建产品是自定义功能,因此我们要添加功能

查看设备——功能定义——编辑草稿——添加自定义功能——发布功能

https://i-blog.csdnimg.cn/blog_migrate/b3d2622183c50277903f9480c10e53bf.png

https://i-blog.csdnimg.cn/blog_migrate/d50c3f78e4195bb0cad11ee1af0bc927.png

https://i-blog.csdnimg.cn/blog_migrate/e22eca31625c52997c45bea0208b9aa8.png

添加自定义功能 对话框中可按自己的场景需求选择属性/服务/事件这三种功能类型,这里我们选择 功能类型属性 。( 注意:这里的标识符和代码里的要一致

单击左侧导航栏 设备管理 > 设备 ,进入前面建立的设备的详情页

单击 物模型数据 > 运行状态 可查看设备的属性值,此时真实设备未接入,值均为空。

https://i-blog.csdnimg.cn/blog_migrate/6db26fa0187d12782c2880abb5f4d3fc.png

https://i-blog.csdnimg.cn/blog_migrate/1606559f9720e13ca7b0dc4feec38895.png

https://i-blog.csdnimg.cn/blog_migrate/b68bbca5d9ddd13351058e23810df057.png

点击生成,会有一个压缩包,复制压缩包到linux系统中(我用的是虚拟机)

下载之后解压打开SDK,进入LinkSDK/demos文件夹下的 data_model_basic_demo .c 进行修改。

1、采用了rand()随机函数生成数值来代替采样数据,实现仿真,因此头文件需要加上这些常用库函数(反正我常用的全给加上,有些没必要的我也加上了)

https://i-blog.csdnimg.cn/blog_migrate/76ce310758867e00db1795c11b94d3cf.png

2、在main函数中修改三元组

https://i-blog.csdnimg.cn/blog_migrate/809dd85971f0e0b38c4603a4dddd0c4c.png

3、找到属性上报函数,修改

这里删除了一个形参,并将属性上报的格式内容写到了函数里。

https://i-blog.csdnimg.cn/blog_migrate/6ed1e60d2f5510726381f449473a0f0c.png

4、 在main函数里,启动上传属性的函数

https://i-blog.csdnimg.cn/blog_migrate/12f79d8a26df53a5ca9df6a17761fd65.png

5、在LinkSDK目录下执行make

在make的提醒下修改bug

https://i-blog.csdnimg.cn/blog_migrate/66e92bd0c55dc053b59711bc3cc4ba38.png

6、make无错误之后进入到output目录,运行datamodel-basic-demo

https://i-blog.csdnimg.cn/blog_migrate/2d521a9bfef4dd2184ba8c4b7b33c70e.png

6、显示消息发送成功

https://i-blog.csdnimg.cn/blog_migrate/52b316094727ff9d8225834da9b02334.png

回到物联网平台,可以看到设备已经在线,并且得到光照值,点击查看数据,可以看到曲线的变换

https://i-blog.csdnimg.cn/blog_migrate/9c9ba56568618adee3bd8d697c589c7d.png

https://i-blog.csdnimg.cn/blog_migrate/8ddb31b3614fe0ff90b3f5c4e0183da9.png

湿度和温度不知道为什么没显示,存在bug,但是这个产品只是我自学过程中的测试,入门学习的时候,帮助理解mqtt,因此我没有继续深究这个问题,如果以后项目中遇到了,那就需要解决了。