摘要:本文主要介绍基于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 软件环境创建步骤

说明:

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

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

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

须知:

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

图2 直接下载gcc_riscv32镜像

一、创建产品

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

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

图3 创建产品

二、开发产品模型

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

说明:

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

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

三、注册设备

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

图4 注册单个设备

图5 获取设备密钥

说明:

设备注册成功后,请妥善保管好设备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的选择

步骤说明:

  • 图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. 设置参数。

图10 参数修改

注意:

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

五、设备接入平台

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

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

图11 数据上报

图12 命令下发

图13 日志信息

总结:

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

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

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

  1. 设备如何使用go sdk轻松连接华为云IoT平台

    本文分享自华为云社区<设备如何使用go sdk轻松连接华为云IoT平台>,作者:华为云IoT专家团 . 本文介绍使用huaweicloud-iot-device-sdk-go 连接华为云I ...

  2. 华为云IoT设备接入服务全体验

    摘要:华为云IoT设备接入服务,海量设备,一键接入,你值得拥有! 本文分享自华为云社区<[云驻共创]Huawei Mate 40产线直击之 华为云IoT设备接入服务全体验>,原文作者:启明 ...

  3. 【教程】ESP32连接华为云IoT平台

    目录 1前言 2应用侧接入华为云IoT平台 3必备环境 4使用步骤 4.1华为云IoT平台简介 4.2产品定义 4.3设备定义与注册 4.4ESP32编程接入 4.4.1头文件的包含 4.4.2接入参 ...

  4. 【教程】应用侧连接华为云IoT平台

    文章目录 1.写在前面 2.关于设备侧与华为云IoT平台的连接 3.进入华为云IoT平台 4.接收属性上报,实现数据转发至服务器 4.1.数据转发的总体实现思路 4.2.创建规则触发条件 4.3.创建 ...

  5. STM32通过NB(BC35-G)连接华为云IOT

    第一步:注册并绑定NB 注册账号之类的直接省略......直接从主题说起! 1.在自己已经建好的项目里面绑定NB模组: == *设备标识必须是NB模块的IMEI号(IMEI在芯片的丝印上)== 第二步 ...

  6. 华为云物联网设备接入及OBS使用

    记录华为云的上云操作及OBS对象上传文件等操作,大部分操作在WSL Ubuntu中完成,与树莓派环境基本一致. linux操作系统连接华为云 参考这篇文档:Linux配置上云环境及demo 上传TOP ...

  7. 前端怎么获取华为云IoT设备数据

    这个开发过程中没有后端,只能获取华为云设备的实时数据,个人思路是先获取token,拿到token后,携带在请求头中,根据这个获取设备的实时数据,而且也没有数据库,没有注册登录页面,和传统的前后端分离的 ...

  8. 5分钟教你如何利用华为云IoT进行物联网设备上云

    一.背景 近些年,云计算的发展使得物联网技术突飞猛进,万物联网已经成为这个时代的标识,没有物联网之前,你能想象人在路上就能打开家里的空调?有了物联网,冰箱也能听懂主人在说什么:有了物联网,音响可以直接 ...

  9. 华为云IoT智慧物流案例11 | 华为云FOTA升级广和通L610模组

    华为云IoT智慧物流案例11 | 华为云FOTA升级广和通L610模组 一. 创建华为云平台L610产品与设备 二.AT指令连接华为云IoT平台且测试 三.IoT平台配置FOTA升级 一. 创建华为云 ...

最新文章

  1. 人工智能的下一个前沿:识别“零”和“无”
  2. 缓冲流、转换流、序列化流代码练习
  3. ElementUI中的el-table实现递增的序号列
  4. CommonCollection1反序列化链学习
  5. 三个等价c语言表达式,C语言习题综合(20页)-原创力文档
  6. emui换鸿蒙内核,华为EMUI 11.1三月上线,安卓内核替换为鸿蒙内核
  7. 第11章 递归分形树(《Python趣味创意编程》教学视频)
  8. 如何将div高度填满剩余高度
  9. JavaSE基础——IO流详解(1)字节流和字符流
  10. android selector的item属性
  11. Python画新冠肺炎国内和世界各国累计确诊数量热图!某国破百万了
  12. 高级运维工程师证书_运维人员需要考什么证 linux运维工程师考证
  13. java间接调用_无法解析类型 java.util.Map$Entry。从必需的 .class 文件间接引用了它...
  14. 数学中的全微分(方程),全导数(公式),偏微分(方程),梯度,斜率,导数,方向导数等
  15. animate.css 梦幻西游动画
  16. allwinner gsensor 校准调试
  17. SAM-DETR源码讲解
  18. source insight 多文件并行显示
  19. poj 1087 A Plug for UNIX
  20. 初中教师资格证计算机试题,2017上半年初中语文教师资格证面试试题(精选)第二批...

热门文章

  1. LilyPond教程(5)——钢琴独奏片段 III
  2. OCI测试程序 : 执行SQL语句和内置的测试任务
  3. 计蒜客-A1024 淘宝卖家评价体系
  4. python实现“幻影坦克”效果(点开图片是隐藏的另一张图)【详解】
  5. python django安装使用 错误:Type ‘manage.py help <subcommand>‘ for help on a specific subcommand.
  6. 【爱情】小事件の车祸
  7. 简单手绘创意思维导图,思维导图软件
  8. 快速自建Web安全测试环境
  9. linux加载虚拟sriov网卡,网卡直通SR-IOV技术
  10. 闭环控制(自动控制理论)