3

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

 2 years ago
source link: https://blog.51cto.com/u_15214399/5655874
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

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

精选 原创

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

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

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

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

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

硬件环境准备

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

软件环境准备

参考链接单击​ ​这里​​。

图1 软件环境创建步骤

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

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

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

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

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

图2 直接下载gcc_riscv32镜像

OpenHarmony3.0如何轻松连接华为云IoT设备接入平台?_物联网_02

一、创建产品

1.登录管理控制台,单击左侧导航栏“产品”,单击页面右上角的“创建产品”。

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

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

图3 创建产品

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

二、开发产品模型

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

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

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

三、注册设备

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

图4 注册单个设备

OpenHarmony3.0如何轻松连接华为云IoT设备接入平台?_开发板_05
OpenHarmony3.0如何轻松连接华为云IoT设备接入平台?_物联网_06

图5 获取设备密钥

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

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

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

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

四、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的选择

OpenHarmony3.0如何轻松连接华为云IoT设备接入平台?_开发板_08

步骤说明:

  • 图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 单元测试

OpenHarmony3.0如何轻松连接华为云IoT设备接入平台?_开发板_09

图8 代码编译文件

OpenHarmony3.0如何轻松连接华为云IoT设备接入平台?_物联网_10

图9 demo的主函数文件

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

步骤说明:

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

  1. 设置参数。

图10 参数修改

OpenHarmony3.0如何轻松连接华为云IoT设备接入平台?_物联网_12

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

五、设备接入平台

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

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

图11 数据上报

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

图12 命令下发

OpenHarmony3.0如何轻松连接华为云IoT设备接入平台?_物联网_14

图13 日志信息

OpenHarmony3.0如何轻松连接华为云IoT设备接入平台?_物联网_15

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

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


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK