物联网第三阶段考核后的延伸1-知识点扫盲
物联网第三阶段的考核还是比较有难度的,涉及到的知识点比较多,如果只是打卡的话,按照步骤一步步操作完,达到打卡点,截图,就完成任务了。
但是在完成之后,再回想自己刚才的操作,感觉到阵阵恍惚:我刚刚都干了什么?为什么这样操作?一脸懵
这一路操作下来也不是很顺,有几个被卡住的知识点,在结束之后找了相关的资料,为自己扫盲,也是分享给大家作参考。
1.7883端口号
在第8页标出边缘节点需要使用7883端口号,前面的两次考核都是使用MQTT协议,它们使用1883端口。所以这一点没有太在意。
到28页,文档写着7883,下面截图却是1883,第二张指定证书的页面变成8883,会给人造成干扰。
因端口问题而无法成功连接设备。
后来在这篇文章中:Mqtt设备无法接入边缘节点如何处理?明确指出:
校验设备接入参数是否正确,边缘节点提供Mqtt接入的端口为7883
才恍然发现,原来是端口号问题,修改后连接成功,这个点以后会记得很清楚了。
2.第38页,数据采集配置设置
这里的设置是比较好填的,但是设置完之后,它们是什么含义还是不明白的。
如上图箭头指向所示:
1.根据设备说明书?什么说明书?在哪?
找了一下设备说明书,应该就是IoT边缘使用指南,在IoT边缘主页右上角点击“使用指南”打开,有一篇这样的文章:Modbus协议接入,考核内容与此文章中的几乎一致,并且讲述得更加详细。它就是设备说明书了吧。
2.又是说明书?为什么获取的数值要缩小10倍呢?
在“Modbus协议接入”文章中,有一段文字:“参考如下图温湿度传感器手册”
根据右上角的传感器型号,找到相应的说明书:86壳液晶温湿度(带按键)485型变送器使用说明书,在第8页看到,温湿度显示分辨率都是精确到0.1,也因此传感器值比实际值扩大10倍。整数的二进制要比小数的二进制节约资源。
3.读功能码,写功能码等为什么这样设置?
它们是依据Modbus规约设定的,在Modbus协议接入一文中,有对配置产品属性各字段的详细解释。
参数名称 |
说明 |
|
---|---|---|
采集方式 |
|
|
设备配置 |
全量测点采集时填写。 寄存器起始地址:自定义。 读取寄存器数目:自定义。 |
|
属性配置 |
读功能码 |
Modbus Device提供读操作的指令。 读功能码分为“比特访问(Bit Access)”和“16比特访问(16 Bit Access)”,功能码均为十进制。比特访问功能码:
16比特访问功能码:
|
写功能码 |
Modbus Device提供给Server写操作的指令。 写功能码分为“比特访问(Bit Access)”和“16比特访问(16 Bit Access)”,功能码均为十进制。比特访问功能码:
16比特访问功能码:
说明:
对于设备属性值以寄存器为单位存储时,读功能码建议为“3”,写功能码建议为“16”。 |
|
寄存器地址 |
存储Modbus Device属性值的寄存器地址,寄存器地址占16比特。 |
|
寄存器数量 |
属性对应的数据所在的寄存器个数,占16比特。 |
|
交换寄存器内高低字节 |
是否对寄存器内的数据进行高低位交换,默认:false。例如寄存器中存储的属性数据为:0xabcd ,则IoT边缘节点获取的数据经过高低位交互后为: 0xcdab。 |
|
交换寄存器顺序 |
是否对寄存器的位置进行交换,默认:false。例如寄存器的起始地址为0001,寄存器地址为0002,则将0002地址寄存器与0001地址寄存器进行交换。 |
|
缩放因子 |
对寄存器内的数据进行乘以缩放因子,得到所需的数据,例如获取的温度数据为365,缩放因子为0.1,则得到实际的温度数据为365*0.1=36.5 |
在 86壳液晶温湿度(带按键)485型变送器使用说明书 第12页有Modbus数据帧格式定义。
主要的不明白的点就是这几个,如果真的延伸下去,还有很多很多,比如:
1.ECS服务器与IoT边缘服务是如何对接。
2.Modbus Salve软件的使用
3.考核手册PDF文件用AdobeReader打开,复制Docker命令会变得很乱,用谷歌浏览器是正常的。
只能说自己的知识面太窄了,要学习的太多。
文中如有不足之处,请不吝赐教。
- 点赞
- 收藏
- 关注作者
评论(0)