爱星物联IoT云平台,是面向智能家电领域的基础物联网平台,可根据不同细分领域和设备品类,在其上构建符合自身产品需求的应用服务。当前平台,为开发者提供产品开发平台,为C端用户提供了iOS APP、安卓APP。
爱星物联IoT云平台的基本原理图如下:
最左侧是设备端——消费者用户购买的智能设备,本文以空气净化器为例,即是空气净化器。
中间部分是云端服务——爱星物联IoT云平台,物联网平台的核心部分,负责产品开发、设备管理、设备接入等重要功能。
最右侧是应用端——爱星物联APP,主要包括设备配网、管理和控制等核心功能。用户通过APP对空气净化器设备进行管理和控制,提供了空气净化器功能相关的操作入口。
那么,APP是如何通过平台控制空气净化器的呢?
笔者以开发者的视角,从设备端、IoT云端、APP端三方面,对这个流程进行介绍。
设备端
设备开发方进行产品规划,完成产品设备硬件技术选型,确定设备通讯方案。
设备通讯模组方面,可以选择爱星物联的IoT通讯模组,比如BL602模组——Ai wb2系列。
设备集成IoT通讯模组后,通过模组连接上路由器,再通过该路由器连接上云端。只要路由器是能访问网络的,那么设备通过该路由器是能和云端IoT云平台服务通讯的。
那么,设备端软件方面,开发者需要做什么呢?
开发者确定了通讯模组后,在进行嵌入式开发之前,需要在爱星物联IoT开放平台进行产品开发。产品开发需要遵循以下步骤:
(1)创建产品,定义所属品类、方案,产品名称,型号,图片,通讯协议等基础信息。
(2)定义功能点,设备的每个按钮、设置、运行参数,对应到该产品在平台中的一个个“功能点”,如下图的红框部分,是该产品的部分功能点。除了标准功能,还可以自定义功能。
(3)硬件开发,选择IoT通讯模组及其固件。然后根据所选的模组,自动生成对应MCU SDK,该SDK中已自动涵盖上述步骤定义的功能点、枚举类型等信息。此时,作为设备开发者,可以下载该SDK进行设备嵌入式开发了。
产品开发的后续步骤跟嵌入式设备开发关联不大,不再细说,具体请参考相关帮助文档。
当在开放平台进行上述配置后,嵌入式开发者下载MCUSDK,集成到MCU程序的开发框架中。
开发者在SDK中实现设备的具体功能点,比如开关、模式、风速调节等,并进行必要的单元测试。当完成MCU开发并联通IoT通讯模组后,开发者触发IoT模组到配网模式,然后用APP对设备模组进行配网,配网成功后,即可连接IoT云平台进行联调了。
IoT云端
IoT云平台包括许多服务。通讯模组到云平台,当前支持MQTT通讯协议,因此,跟设备接入相关的重要云端服务自然也就是MQTT Broker。
值得一提的是,云端的MQTT Broker服务,除了接入设备之外,也直接或间接地接入APP的设备相关的功能模块,比如控制、OTA。MQTT Broker在设备和APP之间,搭了一座桥梁,负责两者的通讯。
APP和设备连接MQTT Broker时,都需要通过传输认证信息如ID、用户名、密码进行连接认证和Topic鉴权。APP的认证信息同用户注册信息。设备的认证信息,是IoT通讯模组厂家生产过程中内置的三元组信息。当开发者购买模组后,爱星物联平台运营的相关人员会给开发者分配对应的模组数量。比如,客户订购10万模组,运营人员在后台为该客户增加10万的配额。运营人员增加配额后,开发者根据产品生产需要,可生成对应数量的三元组,并导出三元组给到IoT模组生产部门,进行模组的批量生产和三元组烧录。
生成三元组和导出三元组功能入口,见下图所示:
APP端
爱星物联IoT云平台,目前配套提供了公版APP和OEM APP。开发者可以在开放平台进行APP开发,当前支持Logo、UI、多语言、语控、产品文案、证书、协议等重要内容的配置,用户配置完后,系统自动检查相关的配置是否正确,如果有问题会给出相应的提示。开发者配置完成且通过系统检查没有问题后,就可以触发APP构建。后台服务自动根据开发者的配置进行构建流程相关的处理,经过一小段时间后,APP可构建完成。开发者就可以下载自己配置的APP进行安装使用了。
OEM APP开发,主要内容,如下面两张图所示:
由上面的图可以看到,OEM APP开发还是比较简单的,流程步骤看起来比较清晰。OEM APP每个流程涉及到的配置项较多,这里不展开具体内容,想了解细节的读者,请注册开放平台体验使用。
总结
开发者经过上述设备端、IoT云端、APP端的开发或配置,就完成了智能产品设备端到App应用端的开发。下面用一个通讯示意图,总结下这三端的指令和状态流程。
如图所示,在技术层面,APP控制设备,有两种方式:一种是远程通过云端控制,APP与空气净化器经由云端的MQTT Broker进行“连接”,APP通过控制页面发送控制指令,云端MQTT Broker将控制指令转发给对应的空气净化器;另一种是本地局域网控制,当APP和空气净化器设备在同一个局域网内,APP和设备通过mDNS协议,相互广播各自的服务及相关信息,通过这些信息各自发现对方的IP、服务端口。
APP向设备的IP和服务端口发送基于UDP协议的控制指令,对设备进行操作控制。另外,设备的当前运行状态,封装成功能点数据,依据一定的规则,上报到云端MQTT Broker。之后,APP和云端的其它服务均可以订阅到设备的运行状态,感知到设备的当前状态。