# 自行车 mqtt 协议文档 ## sub: device/lock/{siteId}/{lockId}/info {"bikeCode":"1234567890","lockId":"kjflksjlkfsjdlk","siteId": 456,"status":0,"code":"789"} ## sub: device/lock/{siteId}/{lockId}/bike {"bikeCode":"1234567890","lockId":789,"siteId": 456,"time":"2023-10-13 10:12:90"} # 自行车 mqtt 协议文档 ## 通信规范 - 每个站点一个 mqtt 连接,clientId 为 SITE_站点编号 - 一个站点由部署在上位机上的软件通过can总线与多个锁通信,并与服务器通过mqtt做消息转发 - siteId + lockId 为锁的唯一索引,在同一站点下,lockId不重复 ## sub: device/lock/{siteId}/{lockId}/info qos=1 > **锁信息,在站点软件启动初始化、getInfo主题,unlock主题时时会推送锁的完整状态** - 数据 ```json { "siteId": "1015", // 站点编号,同主题{siteId} "lockId": 2, // 锁编号,同主题{lockId} "status": 1, // 状态,0闭合, 1打开,2运行中, 3异常, -1自检中 "bikeCode": "12345678", // 自行车ic卡号,8位数字,如:10000012,无车为空 "timestamp": 1234567823423 // 时间戳, ms值 } ``` ## pub: device/lock/{siteId}/{lockId}/getInfo qos=0 > 实时获取锁信息, 站点在收到此消息时,发送指定获取到锁的实时消息,并发布到info主题 - 数据 ```json ``` ## pub: device/lock/{siteId}/{lockId}/unlock qos=0 > 开锁,成功失败可关注info消息推送 - 数据 ```json ``` ## sub: device/lock/{siteId}/{lockId}/bike qos=1 > 还车, 还车成功时,获得所还车辆ic卡号推送 - 数据 ```json { "siteId": "1015", // 站点编号,同主题{siteId} "lockId": 2, // 锁编号,同主题{lockId} "status": 1, // 状态,0闭合, 1打开,2运行中, 3异常, -1自检中 "bikeCode": "12345678", // 自行车ic卡号,8位数字,如:10000012,无车为空 "timestamp": 1234567823423 // 时间戳, ms值,站点上位机收到还车指令的时间,仅做参考,请以服务器时间为准 } ```