手机App是如何通过IoT物联网控制空气净化器的?

相信大家作为互联网的5G冲浪者应该都有使用手机App或是小程序在网上进行过很多操作的经历,部分人应该也有使用手机控制家居智能设备的体验。

img

随时随地远程操控,科技的便捷使得我们的幸福感大大的提升。在我们习以为常的这些使用体验中,大家有没有想过背后实现这些体验的技术是什么样的呢?

今天给大家解析一下手机控制设备是采用什么样的技术实现的。

手机App控制设备,设备能够“自主行动”,是因为设备与App通过云端进行了网络交互,这才会出现在手机上发布指令,设备能够同步接收到,并执行。

爱星物联loT云平台主要针对环境电器与智能家电行业提供一站式智能化解决方案,笔者今天以空气净化器为例,来看一看空净器是如何联网上云并与手机App进行连接的。

原理图如下

img

最右侧是设备端,也就是消费者购买的智能设备,本文以空气净化器为例,即是空气净化器。

中间部分是云端服务,也就是咱们的爱星物联IoT云平台,物联网平台的核心部分,负责产品开发、设备管理、设备接入等重要功能。

最左侧是应用端,也就是咱们的爱星物联App,主要包括设备配网、管理和控制等核心功能。用户通过App对空气净化器设备进行管理和控制,提供了空气净化器功能相关的操作入口。

那么,App是如何通过loT平台控制空气净化器的呢?

笔者以开发者的视角,从设备端、IoT云端、App端三大方面,对这个流程进行介绍。

设备端

设备端开发,设备开发方进行产品规划,完成产品设备硬件技术选型,确定设备通讯方案。设备通讯模组方面,可以选择咱们爱星物联的IoT通讯模组,比如咱们的BL602模组。

img

设备集成IoT通讯模组后,通过模组连接上路由器,再通过该路由器连接上云端。只要路由器是能访问外网的,那么设备通过该路由器是能和云端IoT云平台服务通讯的。

那么,设备端软件方面,开发者需要做什么呢?

开发者确定了通讯模组后,在进行嵌入式开发之前,需要在爱星物联IoT开放平台进行产品开发。

产品开发步骤如下

01 创建产品

定义产品所属品类、方案、产品名称、型号、图片、通讯协议等基础信息。

img

02 功能定义

设备的每个按钮、设置、运行参数,对应到该产品在平台中的一个个“功能点”,如下图的红框部分,是该产品的部分功能点。除了标准功能,还可以自定义功能。

img

03 硬件开发

选择IoT通讯模组及其固件,然后根据所选的模组,自动生成对应MCU SDK,该SDK中已自动涵盖前边步骤定义的功能点、枚举类型等信息。此时,作为设备开发者,可以下载该SDK进行设备嵌入式开发了。

img

当在开放平台进行上述配置后,嵌入式开发者下载MCU SDK集成到MCU程序的开发框架中。开发者在SDK中实现设备的具体功能点,比如开关、模式、风速调节等,并进行必要的单元测试。当完成MCU开发并联通IoT通讯模组后,开发者触发IoT模组到配网模式,然后用App对设备模组进行配网,配网成功后,即可连接IoT云平台进行联调了。

IoT云端

IoT云平台包括许多服务。

通讯模组到云平台这块,当前支持MQTT通讯协议,因此,跟设备接入相关的重要云端服务自然也就是MQTT Broker。值得一提的是,云端的MQTT Broker服务,除了接入设备之外,也直接或间接地接入App的设备相关的功能模块,比如控制与OTA。MQTT Broker在设备和App之间,搭了一座桥梁,负责两者的通讯。

img

App和设备连接MQTT Broker时,都需要通过传输认证信息如id、用户名、密码进行连接认证和topic鉴权。App的认证信息同用户注册信息,设备的认证信息,是IoT通讯模组厂家生产过程中内置的三元组信息。当开发者购买模组后,爱星物联平台运营的相关人员会给开发者分配对应的模组数量。比如,客户订购10万模组,运营人员在后台为该客户增加10万的配额。运营人员增加配额后,开发者根据产品生产需要,可生成对应数量的三元组,并导出三元组给到IoT模组生产部门,进行模组的批量生产和三元组烧录。

img

App端

爱星物联IoT云平台,目前配套提供了公版App和 OEM App。开发者可以在开放平台进行App开发,当前支持logo、UI、多语言、语控、产品文案、证书、协议等重要内容的配置。用户配置完后,系统自动检查相关的配置是否正确,如果有问题会给出相应的提示。开发者配置完,且通过系统检查没有问题后,App可构建完成,开发者就可以下载自己配置的App进行安装使用了。

OEM App开发流程如下

img

img

由上面的图可以看到,OEM App开发非常简单便捷,只需“积木式”构建即可。

开发者经过上述设备端、IoT云端、App端的开发或配置,就完成了智能产品设备端到App应用端的开发。

下面用一个通讯示意图,总结下这三端的指令和状态流程。

img

在技术层面,App控制设备有两种方式。

一种是远程通过云端控制,App与空气净化器经由云端的MQTT Broker进行“连接”。App通过控制页面发送控制指令,云端MQTT Broker将控制指令转发给对应的空气净化器。

另一种是本地局域网控制,当App和空气净化器设备在同一个局域网内,App和设备通过mdns协议,相互广播各自的服务及相关信息,通过这些信息各自发现对方的IP、服务端口。App向设备的IP和服务端口发送基于UDP协议的控制指令,对设备进行操作控制。另外,设备的当前运行状态,封装成功能点数据,依据一定的规则,上报到云端MQTT Broker。之后,App和云端的其它服务均可以订阅到设备的运行状态,感知到设备的当前状态。

写到这里,手机App通过IoT物联网控制空气净化器的整个开发流程、配置流程、交互流程、数据流等都做了简单清晰的介绍,后续笔者会持续更新更多技术内容,带领大家一起走进物联网世界!