体验OpenHarmony对接华为云IoT【华为云IoT+鸿蒙】
前提条件
- 已注册华为云官方帐号。未注册可单击注册页面完成注册。
- 已完成实名制认证。未完成可在华为云上单击实名认证完成认证,否则无法使用设备接入功能。
- 已开通设备接入服务。未开通则访问设备接入服务,单击“管理控制台”后开通该服务。
硬件环境
BearPi-HM_Nano开发板、Type-C数据线、PC。
软件环境
参考链接单击这里。
图1 软件环境创建步骤
说明:
(1)如使用DevEco Device Tool参与调试的需要安装Windows环境。
(2)获取源码:如果不使用Docker方式(使用Docker方式),强烈建议采用方式一获取。
(3)在安装开发板中的环境的安装gcc_riscv32步骤时,强烈建议直接下载gcc_riscv32镜像,否则可能出现某些插件下载或安装失败,具体操作如下图2所示。
须知:
开源代码量较大,下载时间可能较长,需预留好充足时间。
图2 直接下载gcc_riscv32镜像
创建产品
- 登录管理控制台,单击左侧导航栏“产品”,单击页面右上角的“创建产品”。
- 根据页面提示填写参数,然后单击“确认”,完成产品的创建。
- 所属资源空间:默认资源空间;
- 产品名称:自定义;
- 协议类型:MQTT;
- 数据格式:JSON;
- 厂商名称:自定义;
- 设备类型选择: 自定义类型;
- 设备类型:自定义;
开发产品模型
- 找到新增的产品,单击“查看”进入产品界面。
- 在产品详情“模型定义”页面,直接上传模型文件BearPi_Agriculture.zip。
注册设备
- 所属资源空间:默认资源空间;
- 所属产品:选择【创建产品】中已创建的产品;
- 设备标识码:自定义;
- 设备名称:自定义;
- 设备认证类型:选择“密钥”;
- 密钥/确认密钥:固定为12345678;
Huaweicloud_iotlink SDK使用
- 下载源码:oh3.0_hwcloud_iotlink-master.zip。
- 将上述源码直接拷贝到OpenHarmony源码的third-party文件目录下,此处需要注意的是OpenHarmony和Huaweicloud_iotlink SDK共同具备的三方库直接使用OpenHarmony的库文件,如CJSON和mbedtls。
- 在OpenHarmony 3.0源码device\bearpi\bearpi_hm_nano\app\BUILD.gn中添加如下代码,根据#是否注释来决定具体编译demo的选择。
# "//third_party/hwcloud_iotlink/demos/test_iotlink:test_iotlink", "//third_party/hwcloud_iotlink/demos/mqtt_tiny_v5_agriculture_demo:mqtt_tiny_v5_agriculture_demo",复制
(图6 demo的选择)
说明:
图6中1为单元测试代码,可以根据修改test_main.c文件中最后一行代码中,APP_FEATURE_INIT()中的入口函数,来进行不同的测试用例的执行,分别测试OSAL层不同的组件适配,包括任务、互斥锁、信号量、队列、以及SDK本身队列等一系列验证,部分内容可以对比BearPi-HM_Nano开发板的官方样例代码进行对比验证程序结果的正确性,具体如图7。
图6中2为使用MQTT对接华为云的demo,看一下该demo的BUILD.gn文件,具体如图8所示,其中A区域包含开发板硬件和wifi相关的库文件,B区域包括MQTT对接华为云必须的一些库文件,如cJson,mqtt相关、osal相关以及配置库文件,C区域表示编译该文件时需要编译hwcloud_iotlink库,编译是会按照指定路径找到该文件所必要的库以及C文件进行编译。
(图7 单元测试)
(图8 代码编译文件)
(图9 demo的主函数文件)
说明:
图9中A区域表示MQTT对接华为云所必须的一些库文件以及dtls的库文件,入口函数IoTMainTaskEntry()中务必先调用link_main_task_entry()函数,来确保osal的安装以及其他配置的初始化。
- 设置参数。
(图10 参数修改)
注意:
如果需要对接上云需要根据自己的设备修改配网信息,wifi热点账号以及密码以及自己在云端注册的设备ID和设备秘钥,设备仅支持2.4G频段的wifi。
设备接入平台
代码烧录到设备后重启设备(首次使用需重启两次,第一次烧录时可能需要配置一下内部信息),第二次设备重启之后可以正常对接华为云。
登录平台可以看见数据上报的具体信息,也可以进行命令下发等操作控制设备,具体如下图11-13。
(图11 数据上报)
(图12 命令下发)
(图13 日志信息)
我正在参加【有奖征文 第25期】深度体验OpenHarmony对接华为云IoT,输出优质体验文章,赢开发者定制大礼包!https://bbs.huaweicloud.com/blogs/406570
- 点赞
- 收藏
- 关注作者
评论(0)