设备管理
简介
本系统是基于webman开发的一套物联网平台,可以实现物联网设备的联网上线、数据采集、命令下发、被动回复、实时通讯等功能,支持TCP协议和Websocket协议(ws和wss),本系统提供的是TCP协议透传,用户需根据实际情况将设备协议转为TCP协议后接入本系统,一般可使用DTU设备或IO设备,这些设备可以将硬件的各种协议统一转为TCP协议,如电表、仪表、传感器、地磅、IO设备、开关量、模拟量、扫码枪、语音播报、身份证读卡器、各类灯具、门禁开关等都支持,真正实现万物互联。
功能特性
1、数据采集:支持利用TCP协议从设备实时采集数据,支持数据过滤,支持数据转发给指定url。
2、命令下发:支持服务端秒级给设备下发指令,支持以队列的方式下发。
3、被动回复:根据设备发送的特定指令,针对性的回复命令。
4、实时通讯:可以跟设备实时进行通讯,方便验证命令和调试设备。
5、数据转发:可以实现两个或多个设备之间的相互转发,如:想让设备采集的数据直接发送到网页websocket,用转发即可简单实现。
6、接口API:平台提供API接口供开发者接入自己的系统。
端口
服务端IP:47.104.254.179,也可以用域名iot.workerman.net
TCP协议监听端口:7021
WebSocket协议(ws)监听端口:7031
WebSocket协议监听端口(wss):7041
注意:wss的时候需要用域名连接iot.workerman.net:7041
添加设备
1、名称:设备的名称
2、自定义回复包:设备成功连接物联网平台后,平台对设备连接成功的回复。ASCII:回复的数据不进行处理。HEX:会将自定义回复包转化为16进制数据后回复。
3、协议类型:TCP透传:设备作为TCP客户端与物联网平台进行连接。WebSocket:设备通过ws协议与物联网平台连接。
4、登录类型:单点登录:该设备同一时间只允许一个客户端与平台建立连接,后登录的客户端会踢掉之前登录的客户端,一般TCP协议建议单点登录。多点登录:该设备同一时间允许多个客户端建立连接,一般WebSocket协议建议多点登录。
5、数据类型:将设备发来的数据按照指定数据类型进行处理。ASCII:对设备发来的数据以ASCII类型返回。HEX:将设备发来的数据以16进制类型返回。一般来说16进制居多。
6、数据转发:此字段为配置转发设备的注册包,多个注册包用英文逗号分隔。本字段作用是为了将设备发来的数据同步转发给其他设备。假如你需要在网页上实时显示地磅数据,那么你需要建立一个TCP客户端(地磅),注册包为“K99DCdgs3v5o”,一个WebSocket客户端(网页),注册包为“p0PCEqL8Tb19”,然后将TCP客户端里的数据转发字段设置为WebSocket的注册包“p0PCEqL8Tb19”,这样TCP客户端就与WebSocket客户端建立了连接,TCP发来的数据会实时转发给WebSocket客户端。WebSocket客户端收到数据格式为json字符串:{"k":"K99DCdgs3v5o","v":"542675","t":"2024-06-25 11:22:41"} k:数据来源的注册包(TCP客户端),v:转发的数据(地磅的数据),t:转发时间(数据发来时间).
7、Webhook:此字段为配置数据转发的url,多个url用英文逗号分隔。本字段作用是为了将设备发来的数据同步转发给Url,转发会以post请求进行转发,有以下参数:vtype:数据类型:0表示ASCII,1表示HEX16进制,msg:转发的数据,from:转发来源注册包。
8、数据过滤
(1)如果启用的话,系统会对设备发来的数据进行简单的过滤,不符合过滤条件的数据会被丢弃。注意:数据流上不会显示被丢弃的数据,也不会进行数据转发和Webhook。
(2)字节长度:会根据数据的字节长度进行过滤。
上图含义:设备回复的数据不等于100的都会丢弃。
(3)前N位字符:会根据数据的前N位字符进行过滤。
上图含义:设备回复的数据,前6位字符不是010305的都会丢弃
(4)忽略心跳包:会根据特定字符串进行过滤。
上图含义:设备回复的数据如果等于30303030的都会丢弃
注意:三种过滤方式可以叠加生效。
定时下发
1、设备默认不启用定时下发,如果启用的话,需要设备重新连接后生效,可以点击按钮“下线设备”,让设备下线后重连。
2、系统默认支持频率:1秒1次、1秒2次、3秒1次、10秒1次、30秒1次、1分钟1次、5分钟1次、10分钟1次。
3、下发内容:ASCII类型,HEX类型。物联网设备一般以HEX16进制类型下发。
4、支持填写多个指令,用英文逗号,分隔。若设置多个指令,则会按照设置的频率,按照指令从前到后依次发送。
如上图所示,代表第一个1分钟的时候,发送010300010001D5CA,第二个1分钟发送010300040001C5CB,第三个1分钟发送010300010001D5CA,依次类推。这样设计的目的是有些设备会限制请求帧的频率,频率太高或一次性发多条,设备就不会回复。
建议频率设置为10秒以上,有些设备发送指令太频繁会失去响应。
被动回复
1、设备默认不启用被动回复,如需启用,请将状态设置为“已启用”。
2、系统支持设置两套命令回复。
3、触发指令:设备回复的指令如果与触发指令匹配即触发,服务端会进行回复。
4、回复指令:当触发被动回复后服务端回复的指令。
5、ASCII类型,HEX类型(16进制)
6、同一模式里触发指令和回复指令必须同时填写或者同时为空
数据流
主要用于调试,可以跟设备进行模拟通讯,设备发送的数据都会在这个数据流上显示,你也可以通过数据流给设备发送指令。
下线设备
点击下线设备后,平台会将该设备踢下线,如果该设备允许多点登录,会将所有登录全部踢下线。
设备数据日志
该日志记录了设备的所有回复的数据(如果启用了过滤规则,被过滤丢弃的数据不会记录)
Webhook日志
该日志记录了设备调用的webhook记录(如果启用了过滤规则,被过滤丢弃的数据不会记录)
注意事项
1、客户端一定要有重连机制,断开连接后客户端要有重连机制。
2、客户端一定要有心跳机制,如果客户端55秒(大约)内没有发送任何数据,平台就会断开连接。建议心跳频率设置为30秒一次,发送任意数据即可。