继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

NB物联网之天翼物联(2)——profile定义与使用

不吃带叶的
关注TA
已关注
手记 5
粉丝 3
获赞 0

前言

前面大体讲了电信NB平台的一些概念,本篇就来接触一下电信NB的核心配置之一profile。
profile 就是配置文件嘛!编解码插件就是编解我们与设备通讯使用的十六进制码流的东西。

profile的定义

每一个service包含属性和命令两部分
属性对应的是上传的数据,我们定义好规则之后,上传的16进制码流会根据我们定义的规则拆分到指定的service的 属性列表 中的 属性 中,生成一个json传递给我们的应用;
命令对应的是下发的数据,我们定义好规则之后,下发的json(下发命令字段 中的 属性 的键值对)根据我们定义好的规则将json转换成16进制码流传递到设备上;
http://img3.mukewang.com/5e2019970001441314910670.jpg
如上图所示:
我们定义了一个名字为CommandService的服务,这个服务是专门用来下发命令的,应为我需要下发的命令单一,所以只定义了一个Send命令,这个命令中有一个value属性,类型是string类型的,长度是500,然后定义了一个叫做response的响应命令字段(其实并没有看出来有什么用,可以不定义)。

我理解的数据流向

http://img2.mukewang.com/5e2019bf0001b3e007660400.jpg

16进制码流

profile

16进制码流

profile

对应到profile属性上

设备

profile封装工具

平台

编解码插件

应用-根据配置文读取数据

profile

profile

16进制码流

profile

16进制码流

应用

平台

profile封装工具

设备

编解码如上图所示:profile封装工具根据我们配置好的profile属性将设备上传的16进制码流拆解到对应的profile,同时当有命令下发时,将应用传来的profile转换成相应的16进制码流。

与编解码插件的联系

理论上当我们将profile定义完成之后我们就确定了编解码插件的编解码规则,所以我们后面的工作就有了理论基础。
最后,要吐槽一下电信的编解码插件,太麻烦了!修改编解码插件需要申请,文档写的太不清晰,兼容性比较差,应为我们先做了移动nb,考虑到兼容性问题我们做了透传的模式,就是我们自己开发的应用下发的是16进制码流,表具上来的数据也是16进制码流,这样我们不管是移动还是电信都可以用一套规则去解析,换言之解析码流和生成码流的工作应该交给终端应用去做,有着方面需求的小伙伴一定要看下去哟!

打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP