写点什么

OpenHarmony3.0 如何轻松连接华为云 IoT 设备接入平台

  • 2022 年 9 月 06 日
    广东
  • 本文字数:2149 字

    阅读完需:约 7 分钟

OpenHarmony3.0如何轻松连接华为云IoT设备接入平台

本文分享自华为云社区《OpenHarmony3.0如何轻松连接华为云IoT设备接入平台》,作者:华为 IoT 云服务 。


万物互联的全场景、全智能时代,使得人均持有设备量不断攀升,设备和场景的多样性,使应用开发变得更加复杂、应用入口更加丰富。当下依托 OpenHarmony 框架,搭建万物智联底座,重构物联网格局,是当下热门的物联网开发方式之一。那 OpenHarmony3.0 如何连接华为云IoT设备接入平台呢?注意事项又有哪些呢?


本文主要介绍基于 OpenHarmony 3.0 版本来对接华为云 IoT设备接入IoTDA,以小熊派 BearPi-HM_Nano 开发板为例,使用 huaweicloud_iot_link SDK 对接华为云物联网平台的简单流程。


前提条件


  • 已注册华为云官方帐号。未注册可单击注册页面完成注册。

  • 已完成实名制认证。未完成可在华为云上单击实名认证完成认证,否则无法使用设备接入功能。

  • 已开通设备接入服务。未开通则访问设备接入服务,单击“管理控制台”后开通该服务。


硬件环境准备


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. 登录管理控制台,单击左侧导航栏“产品”,单击页面右上角的“创建产品”。


  1. 根据页面提示填写参数,然后单击“确认”,完成产品的创建。



图 3 创建产品


二、开发产品模型


  1. 找到新增的产品,单击“产品”进入产品界面。


  1. 在产品详情“模型定义”页面,直接上传模型文件zip


说明:


在产品列表中,单击对应的产品,进入产品详情页。您可以查看产品 ID、产品名称、设备类型、数据格式、厂商名称、所属资源空间、协议类型等产品基本信息。其中产品 ID(product Id)是物联网平台自动生成的,其余信息均是由用户创建产品时自定义。


产品创建成功后,您可以单击“删除”删除不再使用的产品。删除产品后,该产品下的产品模型、编解码插件等资源将被清空,请谨慎操作。


三、注册设备


  1. 访问设备接入服务,单击“管理控制台”进入设备接入控制台。


  1. 在左侧导航栏选择“ 设备> 所有设备”,单击右上角“注册设备”,按照如下表格填写参数后,单击“确定”。


图 4 注册单个设备



图 5 获取设备密钥


说明:


设备注册成功后,请妥善保管好设备 ID 和密钥,用于设备接入平台认证。


若密钥丢失,只能通过重置密钥生成新的密钥,无法找回注册设备时生成的密钥。


用户可在设备列表删除不再使用的设备。删除设备不支持撤回,请谨慎操作。


四、Huaweicloud_iotlink SDK 使用


  1. 下载源码: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 为单元测试代码,可以根据修改 c 文件中最后一行代码中,APP_FEATURE_INIT()中的入口函数,来进行不同的测试用例的执行,分别测试 OSAL 层不同的组件适配,包括任务、互斥锁、信号量、队列、以及 SDK 本身队列等一系列验证,部分内容可以对比 BearPi-HM_Nano 开发板的官方样例代码进行对比验证程序结果的正确性,具体如图7

  • 图 6 中 2 为使用 MQTT 对接华为云的 demo,看一下该 demo 的 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. 设置参数。


图 10 参数修改


注意:


如果需要对接上云需要根据自己的设备修改配网信息,wifi 热点账号以及密码以及自己在云端注册的设备 ID 和设备秘钥,设备仅支持 2.4G 频段的 wifi。


五、设备接入平台


代码烧录到设备后重启设备(首次使用需重启两次,第一次烧录时可能需要配置一下内部信息),第二次设备重启之后可以正常对接华为云。


登录平台可以看见数据上报的具体信息,也可以进行命令下发等操作控制设备,具体如下图 11-13。


图 11 数据上报


图 12 命令下发


图 13 日志信息


总结:


传统的终端操作系统主要是面向单端,基于 OpenHarmony 开源项目开发的系统似乎天生是面向万物互联的,可以运行在大大小小的各种智能终端上。熟悉使用 OpenHarmony 和华为云 IoT 平台结合是物联网开发者的必经之路。


点击关注,第一时间了解华为云新鲜技术~

发布于: 刚刚阅读数: 4
用户头像

提供全面深入的云计算技术干货 2020.07.14 加入

华为云开发者社区,提供全面深入的云计算前景分析、丰富的技术干货、程序样例,分享华为云前沿资讯动态,方便开发者快速成长与发展,欢迎提问、互动,多方位了解云计算! 传送门:https://bbs.huaweicloud.com/

评论

发布
暂无评论
OpenHarmony3.0如何轻松连接华为云IoT设备接入平台_后端_华为云开发者联盟_InfoQ写作社区