主题名称
发布和订阅的主题均在在cfg.jsn中定义,例如cfg.jsn如下定义
名称 | 参考值 | 描述 |
---|---|---|
UID_MQTT | “tgw” | MQTT的用户标识 |
SUB_TOPIC | “rx” | 订阅主题 |
PUB_TOPIC | “tx” | 发布主题 |
TinyGW发布主题就是tgw/tx, 订阅的主题tgw/rx, MQTT客户端只需使用订阅和发布这两个主题, 就可以和TinyGW进行交互了, 命令的格式和交互命令类似, 其中一些参数解释可参见
http://www.tinywsn.net/wordpress/index.php/docs/manual/node/node-usrpkt/usrpkt-intr
由于TinyGW是开源的,用户可以自行定制和扩充,它的源码链接
https://gitee.com/tinywsn/tinygw
数据收发
功能 | 格式 | 主题 | 描述 |
---|---|---|---|
数据发送 | #addr$data,payload[/bfn] | 发布 | 主动发送数据,addr是目的地址,payload是发送数据 |
数据接受 | +addr$data,payload | 订阅 | 异步接受数据,addr是源地址,payload是接受的数据 |
系统控制
功能 | 格式 | 主题 | 描述 |
---|---|---|---|
连接测试 | #addr$ping[/bfndxp] | 发布 | 连接测试,addr是目的地址, 后缀/bfn是命令选项 |
连接响应 | +addr$ping,dtu_addr,nod_level,nod_func,nod_chan,dtu_chan,drx_rssi,urx_rssi,sys_soft,usr_soft | 订阅 | 连接响应,addr是响应节点地址,nod_level是它的网络层次,nod_func是它的节点角色,dtu_addr是它父节点地址,nod_chan节点上行信道,dtu_chan是节点的下行信道(只对路由节点有效),drx_rssi是下行信号接收强度,urx_rssi是上行信号接收强度,sys_soft是系统软件版本,usr_soft是用户软件版本 |
唤醒节点 | addr$wkup,nod_addr[,token][/bfn] | 发布 | 唤醒节点,addr是执行唤醒命令的节点,nod_addr是被唤醒的节点, token一次唤醒的标识,避免节点再次被唤醒。 |
唤醒响应 | +addr$wkup,dtu_addr,nod_level,nod_func,nod_chan,dtu_chan,drx_rssi,urx_rssi,sys_soft,usr_soft | 订阅 | 唤醒响应,格式同上面的连接响应 |
配置设置 | #addr$setf,bits | 发布 | 设置配置bits位 |
配置清除 | #addr$rstf,bits | 发布 | 清除配置bits位 |
默认配置 | #addr$load | 发布 | 使用默认配置 |
读取状态 | #addr$info | 发布 | 读取网络状态 |
读取响应 | +addr#info,nvm_set,bcast_stat,nod_num | 订阅 | 返回网络状态 |
复位网络 | #addr$rnet | 发布 | 复位整个网络 |
复位系统 | addr$rsys | 发布 | 复位单个节点 |
暂停网络 | #addr$halt | 发布 | 暂停网络服务 |
恢复网络 | #addr$cont | 发布 | 恢复网络服务 |
命令选项
所有命令可以接受后缀/bfndxp, 作为命令选项
b 表示接受者(addr),进行小区广播
f 表示接受者(addr),进行子网广播
n 对于广播消息,终端节点需要处理此消息
d 对于广播消息,路由节点需要处理此消息
x 对于广播消息,所以节点需要处理此消息
p 当消息到达后,系统会返回消息处理结果