【福利活动】深度体验 OpenHarmony 对接华为云 IoT
本文主要介绍基于 OpenHarmony 3.0 来接入 IoTDA,以 BearPi-HM_Nano 开发板为例,使用 huaweicloud_iot_link SDK 对接华为云物联网平台的简单流程。文末为大家提供了体验活动 的福利,最高可得 HUAWEI WATCH FIT 手表、华为手环 7、HUAWEI FreeBuds SE 无线耳机、笔记本电脑支架等重磅好礼;
前提条件
· 已注册华为云官方帐号。未注册可单击注册页面完成注册。
· 已完成实名制认证。未完成可在华为云上单击实名认证完成认证,否则无法使用设备接入功能。
· 已开通设备接入服务。未开通则访问设备接入服务,单击“管理控制台”后开通该服务。
硬件环境
BearPi-HM_Nano 开发板、Type-C 数据线、PC。
软件环境
参考链接单击 这里。
图 1 软件环境创建步骤
说明:
(1)如使用 DevEco Device Tool 参与调试的需要安装 Windows 环境。
(2)获取源码:如果不使用 Docker 方式(使用 Docker 方式),强烈建议采用方式一获取。
(3)在安装开发板中的环境的安装 gcc_riscv32 步骤时,强烈建议直接下载 gcc_riscv32 镜像,否则可能出现某些插件下载或安装失败,具体操作如下图 2 所示。
须知:
开源代码量较大,下载时间可能较长,需预留好充足时间。
图 2 直接下载 gcc_riscv32 镜像
创建产品
1. 登录管理控制台,单击左侧导航栏“产品”,单击页面右上角的“创建产品”。
2. 根据页面提示填写参数,然后单击“确认”,完成产品的创建。
① 所属资源空间:默认资源空间;
② 产品名称:自定义;
③ 协议类型:MQTT;
④ 数据格式:JSON;
⑤ 厂商名称:自定义;
⑥ 设备类型选择: 自定义类型;
⑦ 设备类型:自定义;
开发产品模型
1. 找到新增的产品,单击“查看”进入产品界面。
2. 在产品详情“模型定义”页面,直接上传模型文件 BearPi_Agriculture.zip。
注册设备
1. 访问 设备接入服务,单击管理控制台进入设备接入控制台。
2. 在左侧导航栏选择“ 设备 > 所有设备”,单击右上角“注册设备”,按照如下表格填写参数后,单击“确定”。
① 所属资源空间:默认资源空间;
② 所属产品:选择【创建产品】中已创建的产品;
③ 设备标识码:自定义;
④ 设备名称:自定义;
⑤ 设备认证类型:选择“密钥”;
⑥ 密钥/确认密钥:固定为 12345678;
Huaweicloud_iotlink SDK 使用
1. 下载源码:oh3.0_hwcloud_iotlink-master.zip。
2. 将上述源码直接拷贝到 OpenHarmony 源码的 third-party 文件目录下,此处需要注意的是 OpenHarmony 和 Huaweicloud_iotlink SDK 共同具备的三方库直接使用 OpenHarmony 的库文件,如 CJSON 和 mbedtls。
3. 在 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 的安装以及其他配置的初始化。
1. 设置参数。
2.
(图 10 参数修改)
注意:
如果需要对接上云需要根据自己的设备修改配网信息,wifi 热点账号以及密码以及自己在云端注册的设备 ID 和设备秘钥,设备仅支持 2.4G 频段的 wifi。
设备接入平台
代码烧录到设备后重启设备(首次使用需重启两次,第一次烧录时可能需要配置一下内部信息),第二次设备重启之后可以正常对接华为云。
登录平台可以看见数据上报的具体信息,也可以进行命令下发等操作控制设备,具体如下图 11-13。
(图 11 数据上报)
(图 12 命令下发)
(图 13 日志信息)
物联网被称为继计算机和互联网之后的第三次信息技术革命,其应用无处不在。 鸿蒙的出现,让硬件、软件行业面临着变革与重构的洪流,但激流勇进中,也潜藏着巨大机遇。物联网设备与鸿蒙结合已成为社会发展的必然趋势。
本次活动邀请大家体验华为云 IoT+OpenHarmony,了解鸿蒙设备接入华为云 IoT 全过程。上述文章为基础版体验,活动还有高阶版体验,配备了完善的体验手册和社群专家指导,是以 OpenHarmony 3.1.1 和 rk3568 为例,阐述如何用子系统方式使用 SDK。
同时,为大家准备了丰厚礼品。报名活动领取华为云免费资源即可参与抽奖,各环节大奖不停,最高可得华为手表、华为手环、华为无线耳机、笔记本电脑支架等重磅好礼,更多活动规则点击活动链接查看详情;
https://developer.huaweicloud.com/signup/445027b70943460481e6062c8c5b1da2
(活动礼品一览)
评论