本帖最后由 罗菜鸟 于 2020-4-25 19:37 编辑
某物联网系统,有一个中心机,多个终端机。终端机类型有甲,乙,丙,丁,戊共5种类型,将来还会添加其它类型中端(平均每月新增一种)。他们分别搭载A,B,C,D,E,F,G,H共8类传感器,将来也会增加传感器类型(半年会新增一种传感器)。另外客户数量多,分布全中国,但是不同客户采购终端机数量,最少的只有不到10件,最多的采购数量在1000件。
其中终端机搭载传感器的如下
甲: 1*A
乙: 1*A + 1*B
丙: 2*B + 1*C + 1*D
丁: 2*D + 1*E + 1*F
戊: 2*F + 2*G + 2*H
各个传感器的精度如下
A - uint32
B - uint16
C - uint16
D - uint32
E - float32
F - float16
G - uint8
H - uint8
终端机与中心机的通信协议设计如下:
因为统计甲,乙,丙,丁,戊,累计的传感器A为1个,B为2个,C为1个,D为2个,E为1个,F为2个,G为2个,H为2个。因此采用统一的通信协议帧格式。
每个[]表示一个字节,uint32用 [i3] [i2] [i1] [i0]表示,uint16用[ih]和[il]表示,float32用[f3] [f2] [f1] [f0]表示,float16用[fh]和[fl]表示
[A i3] [A i2] [A i1] [A i0] [B1 ih] [B1 il] [B2 ih] [B2 il] [C ih] [C il] [D1 i3] [D1 i2] [D1 i1] [D1 i0] [D2 i3] [D2 i2] [D2 i1] [D2 i0] [e f3] [e f2] [e f1] [e f0] [f1 fh] [f1 fl] [f2 fh] [f2 fl] [g1 i ] [g2 i ] [h1 i ] [h2 i ]
一帧传感器数据,共30字节。不支持的传感器类型,对应数据填0。
问题:
1,这种通信协议存在什么缺陷?考虑到产品成本不能用OTA
2,如果你来维护这套系统,请分别站在老板,部门经理,单片机程序员,Web程序员的立场上,如何保证自己利益最大化? |