TinyGW是网关软件的一个简易实现,主要完成TinyWSN和MQTT之间双向数据转换,节点数据采集的传感器数据,通过网关TinyGW发送到MQTT服务器,各种MQTT的客户端(PC端,Android端,等等)接受传感器数据,同时还可以发起下行的控制。为了便于客户端展示和输入,确定数据的格式为文本,同时由于TinyWSN空中数据帧有效负载比较小(41字节),命令和数据格式尽可能短。下图是TinyGW在MQTT注册的接口, xxxx是在TinyGW在cfg.jsn中配置的标识。
类型 | topic | 说明 |
---|---|---|
public | tinygw_xxxx/node_tx | 节点发布数据 |
subscribe | tinygw_xxxx/node_rx | 节点接受数据 |
public | tinygw_xxxx/gate_tx | 网关发布数据 |
subscribe | tinygw_xxxx/gate_rx | 网关接受数据 |
node_tx格式
测量告警:addr/type, data [,data]
type -> val | ala
data -> id, digits [scale unit]
id -> t | rh | irf | irb | vib | snd | smk | heat | rain | ang | lgt
scale -> f | p | n | u | m | k | M
unit-> C | % | V | A
命令响应:addr/rsp, obj, val
obj -> led | wdt
node_rx格式
设置查询:addr/cmd, obj [,val] [/flag]
cmd -> set | qry
obj -> led | wdt
flag -> b | f
gate_tx格式
设置查询:cmd, obj [,val]
cmd -> dsc
obj -> wsn
gate_tx格式
命令响应:rsp, obj ,val
obj -> wsn
val -> init
通知消息:urc ,obj ,val
obj -> wsn
val -> done
网关软件TinyGW的功能具体描述:
http://www.tinywsn.net/wordpress/index.php/docs/manual/gateway/gateway-tinygw/