总体方案说明
ablecloud是专门为智能硬件厂商提供的开放平台,该开发平台包括云端服务解决方案,通信联网解决方案,APP解决方案,利用该平台,厂商可以快速的开发自己的智能硬件产品。 整个系统的体系架构如下:
厂商在进行产品开发时,只需要在MCU上开发自己的设备控制逻辑,不用开发相关的联网控制逻辑,所有的联网控制逻辑都实现在wifi联网模块上。MCU和wifi之间采用串口通信。 wifi模块上运行的固件由Ablecloud提供,客户不用进行在模块上进行二次开发。客户只要按照协议要求,进行通信控制即可。
串口通信协议
Wifi模块和MCU之间的采用自定义的通信协议,为减少开发难度,以及硬件资源消耗,该通信协议采用字节流的方式实现。 具体的协议标准,请参见“wifi模块接口说明”第1-3章。 具体的协议过程,请参见“wifi模块接口说明”第4章。 除了标准的协议外,Ablecloud还提供SDK开发包,用户可以直接调用SDK开发包中的API,直接完成协议过程,不需要了解具体协议过程。SDK的使用说明,参见“wifi模块接口说明”第5章。
设备开发准备
厂商在开发每台设备时,首先向Ablecloud申请每台设备的许可证,需要提供如下信息给Ablecloud:
- 设备版本:4字节
- 设备公钥(RSA256):32字节
- 设备ID:16字节
Ablecloud会为每台设备分配一个设备域信息(8字节)。 厂商当完成申请后,需要把如下信息烧制到设备内部存储中(如Flash),这些信息包括如下内容:
- 设备版本:4字节
- 设备密钥(RSA256):112字节(需要和提供给Ablecloud的公钥保持一致)
- 设备ID:16字节
- 设备域信息:8字节
设备应用开发框架
厂商在开发过程,可以直接按照协议标准,以及规定的协议过程进行升级。同时可以调用Ablecloud提供的SDK进行应用开发。SDK5软件逻辑框图如下所示:
在使用SDK开发时,软件逻辑分如下三层:
- APP层:该层实现设备的控制过程,此部分由厂商自行实现。
- HAL层:该层属于硬件抽象层,它向上为APP提供控制逻辑接口,同时为API层提供回调函数,访问硬件资源。
- API层:负责协议控制逻辑的实现,协议报文的解析,协议报文的组装等。
具体开发Demo,请参见“固件开发Demo”。