后台构建 我选择用netty,当时使用的SSM的后台系统,不过最近一次整理我采用了SpringBoot+Netty来配合,我需要让单片机与netty能够正常的通信且是在业务功能正常执行的情况下。 团队的嵌入式工程师选用了简易的TCP/IP协议来通讯,且自己构建了电路板来控制对应的24把锁。 通讯协议帧头+ID+数据类型+24把锁状态+crc校验+帧尾 这里介绍一下,帧头与帧尾是后台与单片机之间通讯的协议,我们使用普通的字符串来通讯,而通讯的过程中字符长度是固定的,帧头与帧尾都是自拟定的2个字符。 对于ID可能要介绍一下,这里是每一个单片机的身份*,因为对于每一个链接,netty都会生成一个自己的全局随机ID,这是不易于管理的。所以我们在生产的时候,后台就会对每个借书柜的单片机的通讯Id进行控制,固定的字段与唯一的标识,这有助于后台的管理,也能立马保证该借书柜的状态。 数据类型是针对业务而言的,我们的业务是需要控制类型、经纬度传输、设备电量、开关异常、报警等等,后台在获取到对应的数据类型的时候,就会进行对应的操作。 假如是控制类型的话,那么后面的24个字符就是对应的24把锁的状态,o表示开启、f表示关闭。 crc校验是方便双方做更深一层的校验与安全防护,我们采用了CRC16的方式,校验值都是4位。 心跳的保持是netty自身自带的。
|