今天使用鸿蒙OS,做一个LOT上云的智慧家居项目。我们想实现的场景是这样的:云端WEB有一个控制界面,能够操控家房间里的灯和风扇,同时将房间里温度、湿度、光强实时显示出来。
二、案例思路先讲一下大致的思路,可以分为两个部分:先配置云服务器,再编写底层MCU的业务代码,实现数据采集与联网上报。逻辑上没有复杂的东西,但贵在走通整个流程。和普通RTOS上云的方案差不多,具体差异在软件方面。
1、准备工作云服务器的配置,不算复杂,主要是前端的处理和显示,可以先在服务器调通,再根据云服务提供的API,进行访问。
硬件环境使用小熊派·鸿蒙季开发板和E53_IA1扩展板(有温湿度光强传感器和电机)。
具体如何创建工程,可以参考我的上一篇文章,这里采用Windows环境下的开发方式。无论是基于HPM还是Docker环境获取鸿蒙源码创建工程,都很简单。
这个Demo,我们将会用到鸿蒙OS的内核子系统和驱动子系统。内核子系统主要使用线程相关的API(基于CMSIS-2.0)和网络服务相关的API(socket);驱动子系统主要调用底层的GPIO和硬件I2C,控制外部设备。
在内核子系统和驱动子系统上,我们还需要一个组件(软件包),物联网通信协议MQTT,利用它进行上云服务。
列一下主要的资源和工具:
硬件:
- 小熊派 · 鸿蒙季开发板
- E53_IA1扩展板
源码:
- Hi3861开发板的源码,来源Hb,适用于windows环境
IDE
- vscode(IDE平台)
- DevEco Device Tool (IDE组件,可选)
- RaiDrive
本地环境:
- windows10 64位
- ubuntu18.04
云环境:
- HUAWEI-LoTCloud(云服务器平台)
- CloudIDE(可选,用于在线调试API接口)
下面,跟着我具体的操作,一步一步实现整个方案,内容比较多,务必提前装好环境,可以先看看前面的文章,把环境搭建起来。
2. 云端操作先讲云服务器这里。为了方便验证,我们首选华为云服务器(腾讯云、阿里云也可,原理大同小异)。
操作流程大致如下:
设备接入华为云平台之前,需要在平台注册用,已注册过的可忽略这一步。华为云地址:https://www.huaweicloud.com/
登陆以后,在华为云首页单击控制台,进入产品控制终端,这里包含了各种云服务的产品。