模拟

首先我们先打开ocean connect开发中心https://iot-dev.huaweicloud.com

1.png

然后我们新建一个项目记住行业选择公用事业。

2.png

然后我们选择产品开发-自定义产品,按照自己需要创建产品,协议为coap。

3.png

然后我们创建profile分别为sensordata。

4.png

smoke

5.png

lightsensor

6.png

Peofile创建完毕之后我们紧接着就创建编解码插件。

Sensordata

7.png

Messageld直接勾选标记为地址域即可保存。

Temperature数据类型为int8s长度1偏移1-2

Humidity数据类型为int8u长度为1偏移为2-3

Battery数据类型为int8u长度1偏移3-4

接下来新增消息smoke。

8.png

Messageld依然为勾选标记为地址域

Concentration数据类型为int8u长度1偏移1-2

接下来创建lightsensor。

9.png

Ligheness数据类型为string长度5偏移1-6

接下来先点击保存在点击部署。

10.png

接下来我们直接选择没有真实的物理设备。

![11.png](https://upload-images.jianshu.io/upload_images/17283379-d9bfd2cea2d2283a.png?imageMogr2/auto-

13.png

orient/strip%7CimageView2/2/w/1240)

我们进去的时候会弹这个,不用管。

12.png

然后我们发送00193C64会得到这样。

13.png

但是我们发送0119又会这样。

14.png

我们多发几位又会这样。

15.png

我们发送0319又不会显示。

16.png

我们发送01194561时和发送0119接收到的数据都是一样的这是因为编解码插件读取到01时由于我们只在后面添加了一个数据上报的字段,所以只会给后面留一个16进制位数,超过的是不会理解的。

我们发送0319时收不到数据是因为编解码插件那里对03是没有定义的,所以收到03开头的信息是无法做出反应的。

为什么应用模拟器能够根据不同的设备命令收到做出不同的反应呢?

那是因为我们在编解码插件那里的创建的messageld对不同的数据开头划分了不同的代码所以平台才能知道设备传上来的是什么数据。

为什么我们上传00193C64会得到这个呢?

17.png

因为我们上传的时候上传的是16进制的数字,平台会将16进制按照约定好的规则转换成不同的数据,这里就是将16进制转换成10进制。

18.png

而这个lightness 251.6则是因为我们上传的16进制数被转换成了ASCII码。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容