偷懒了好久,没有更新,挖坑不填不太好呀。
上次说到总体的需求,按理来说应该由上至下分析一遍,把程序功能理清楚,再决定使用什么软件结构来完成程序的设计。为了说明软件结构时不显得太空,先从具体实现开始写吧。
1 通讯协议介绍
如何用安卓app来控制设备呢?首先就要提及通讯协议这个概念了。我所使用的这套硬件设备有着一套自己的”密码本”,只要我将指令以符合”密码本”的格式发送给设备,设备就会按照给出的指令行动。这里的”密码本”就是上面提到的通讯协议。不过不同设备的具体指令信息或多或少有所不同,大家参考一下就好了。下面给出这一套设备的通讯协议格式,请注意指令使用16进制描述。
表1 通信协议基本格式
具体指令信息(共15位) |
|||||
D0 ~ D8 |
0x2E |
T1 |
T2 |
T3 |
0x0D 0x0A |
位置 |
说明 |
||||
D0 ~ D8 |
为信息位 |
||||
0x2E |
小数点,起分隔作用 |
||||
T1 |
发送方地址值,发送数据的站点地址,即源地址,指明由谁发出的数据 |
||||
T2 |
接收方地址值,接受数据的站点地址,即目的地址,指明数据是发给谁 |
||||
T3 |
为校验位,简单的数据校验,计算方法如下:D0...D8,T1,T2共11个数字的和,取其个位数,十六进制范围在0x30~0x39之间(数字0~9) |
||||
0x0D 0x0A |