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

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

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

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

前提条件

  • 已注册华为云官方帐号。未注册可单击注册页面完成注册。
  • 已完成实名制认证。未完成可在华为云上单击实名认证完成认证,否则无法使用设备接入功能。
  • 已开通设备接入服务。未开通则访问设备接入服务,单击管理控制台后开通该服务。

硬件环境准备

BearPi-HM_Nano开发板、Type-C数据线、PC

软件环境准备

参考链接单击这里

软件环境创建步骤

说明:

1)如使用DevEco Device Tool参与调试的需要安装Windows环境。

2)获取源码:如果不使用Docker方式(使用Docker方式),强烈建议采用获取方式一。

3)在安装开发板中的环境的安装gcc_riscv32步骤时,强烈建议直接下载gcc_riscv32镜像,否则可能出现某些插件下载或安装失败,具体操作如下图2所示。

须知:

开源代码量较大,下载时间可能较长,需预留好充足时间。

直接下载gcc_riscv32镜像

一、创建产品

  1. 登录管理控制台,单击左侧导航栏产品,单击页面右上角的创建产品
  2. 根据页面提示填写参数,然后单击确认,完成产品的创建。

基本信息

所属资源空间

平台自动将新创建的产品归属在默认资源空间下。如需归属在其他资源空间下,下拉选择所属的资源空间。如无对应的资源空间,请先创建资源空间

产品名称

自定义。支持字母、数字、下划线(_)、连字符(-)的字符组合。

协议类型

选择MQTT

数据格式

选择JSON

厂商名称

自定义。支持中英文字符、数字、下划线(_)、连字符(-)的字符组合。

所属行业

请根据实际情况填写。若使用平台预置的产品模型,请根据产品模型所属的行业填写。没有填无。

设备类型

请根据实际情况填写。若使用平台预置的产品模型,会自动关联设备类型,不需要再输入设备类型。

高级配置

产品ID

定制ProductID,用于唯一标识一个产品。如果携带此参数,平台将产品ID设置为该参数值;如果不携带此参数,产品ID在物联网平台创建产品后由平台分配获得。

产品描述

产品描述。请根据实际情况填写。

     3.图创建产品

二、开发产品模型

  1. 找到新增的产品,单击产品进入产品界面。
  2. 在产品详情模型定义页面,直接上传模型文件zip

说明:

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

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

三、注册设备

  1. 访问设备接入服务,单击管理控制台进入设备接入控制台。
  2. 在左侧导航栏选择“ 设备所有设备,单击右上角注册设备,按照如下表格填写参数后,单击确定

注册单个设备

参数名称

说明

所属资源空间

选择设备所属的资源空间。

所属产品

选择设备所属的产品。如没有,请先创建产品

设备标识码

node_id,填写为设备的IMEIMAC地址或Serial No;若没有真实设备,填写自定义字符串,由英文字母和数字组成。

设备名称

device_name,可自定义。

设备认证类型

选择密钥

密钥

设备密钥,可自定义,不填写物联网平台会自动生成。

获取设备密钥

说明:

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

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

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

四、Huaweicloud_iotlink SDK使用

  1. 下载源码:0_hwcloud_iotlink-master.zip
  2. 将上述源码直接拷贝到OpenHarmony源码的third-party文件目录下,此处需要注意的是OpenHarmonyHuaweicloud_iotlink SDK共同具备的三方库直接使用OpenHarmony的库文件,如CJSONmbedtls
  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的选择

步骤说明:

  • 61为单元测试代码,可以根据修改c文件中最后一行代码中,APP_FEATURE_INIT()中的入口函数,来进行不同的测试用例的执行,分别测试OSAL层不同的组件适配,包括任务、互斥锁、信号量、队列、以及SDK本身队列等一系列验证,部分内容可以对比BearPi-HM_Nano开发板的官方样例代码进行对比验证程序结果的正确性,具体如图7
  • 62为使用MQTT对接华为云的demo,看一下该demogn文件,具体如图8所示,其中A区域包含开发板硬件和wifi相关的库文件,B区域包括MQTT对接华为云必须的一些库文件,如cJsonmqtt相关、osal相关以及配置库文件,C区域表示编译该文件时需要编译hwcloud_iotlink库,编译是会按照指定路径找到该文件所必要的库以及C文件进行编译。

单元测试

代码编译文件

9 demo的主函数文件

步骤说明:

9A区域表示MQTT对接华为云所必须的一些库文件以及dtls的库文件,入口函数IoTMainTaskEntry()中务必先调用link_main_task_entry()函数,来确保osal的安装以及其他配置的初始化。

  1. 设置参数。

10 参数修改

注意:

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

五、设备接入平台

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

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

11 数据上报

12 命令下发

13 日志信息

总结:

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

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。