摘要:本文主要介绍基于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. CC2530_ZigBee+华为云IOT:设计一套属于自己的冷链采集系统

    摘要:以CC2530单片机为核心器件,设计一个冷链环境信息采集系统,利用传感器技术对冷藏仓内的环境参数进行采集,上传到华为云物联网云平台,然后通过手机端或移动端进行显示,便于分析,观察冷链环境信息. ...

  2. 基于STM32+华为云IOT设计智能称重系统

    摘要:选择部署多个重量传感器和必要的算法.通过WiFi 通信模块.GPS定位模块,采集车辆称重数据一地理位置信息,并通过网络发送至云平台,设计图形化UI界面展示称重.地图位置等重要信息,实现对称重系统 ...

  3. 基于华为云IoT Studio自助生成10万行代码的奥秘

    华为IoT小助手们搬好板凳.备好笔记本.听了HDC.Cloud的几场华为云技术架构师的直播讲课,感觉获益匪浅却又似懂非懂,直后悔自己没有好好打下基础.为了避免再次出现这样的情况,小助手偷偷跑去找了华为 ...

  4. 华为云MVP熊保松谈物联网开发:华为云IoT是首选,小熊派是神器

    摘要:在AI.5G的技术驱动下,物联网行业的发展愈加如火如荼,开发者在技术的快速更迭间,也得乘风破浪跟上新技术的节奏. 在AI.5G的技术驱动下,物联网行业的发展愈加如火如荼,开发者在技术的快速更迭间 ...

  5. 直击Huawei Mate 40产线背后的华为云IoT智能制造

    摘要:数字孪生?在数字世界找到物理世界的设备! 本文分享自华为云社区<[云驻共创]Huawei Mate 40产线直击之华为云IoT智能制造助力工厂数字化转型>,原文作者:启明. Part ...

  6. 聊聊如何在华为云IoT平台进行产品开发

    摘要:华为云物联网平台承载着南北向数据互通的功能职责. 本文分享自华为云社区<如何基于华为云IoT物联网平台进行产品开发>,作者: Super.雯 . 华为云物联网平台承载着南北向数据互通 ...

  7. .NET Core 跨平台物联网开发:连接阿里云IOT(一)

    系列教程目录 (一) 连接阿里云IOT (二) 设置委托事件 (三) 上报属性 (四)  SDK文档 属性.方法.委托.类 http://pan.whuanle.cn/index.php?dir=up ...

  8. 基于华为云IOT及无线RFID技术的智慧仓储解决方案最佳实践系列一

    [摘要]仓储管理存在四大细分场景:出入库管理.盘点.分拣和货物跟踪.本系列将介绍利用华为云IOT全栈云服务,端侧采用华为收发分离式RFID解决方案,打造端到端到IOT智慧仓储解决方案的最佳实践. 仓储 ...

  9. 【VNCserver】Centos7.4安装VNC连接华为云或亚马逊云

    1.1 文档背景 CentOS 7 / RHEL 7部署图形化界面 安装VNCserver实现linux系统云主机桌面化,通过普通用户实现桌面化操作 2.  Vncserver服务端部署 2.1 安装 ...

随机推荐

  1. 由ASP.NET Core根据路径下载文件异常引发的探究

    前言 最近在开发新的项目,使用的是ASP.NET Core6.0版本的框架.由于项目中存在文件下载功能,没有使用类似MinIO或OSS之类的分布式文件系统,而是下载本地文件,也就是根据本地文件路径进行 ...

  2. 疫情在校学生之——用python对某校园热水服务app进行测试,实现自动免费用水(仅供参考)

    写在前面的过场话: 本文只是对某校园热水服务app做个测试,其实本人并没有做大坏事,并未传播相关技术,文章以下内容的敏感部分会打码,并且相关厂商已经正在进行漏洞修复,大家看看就好.文章后会提供&quo ...

  3. 10.5 详解Android Studio项目结构

    Android项目的结构很复杂,并不像HTML项目,最简单的直接一个HTML文件就行了,相信学完上一节的同学就明白,哪怕是一个HelloWorld这样一个项目的文件可能都有几十个,所以我们需要搞清楚, ...

  4. NC201605 Bits

    NC201605 Bits 题目 题目描述 Nancy喜欢做游戏! 汉诺塔是一个神奇的游戏,神奇在哪里呢? 给出 \(3\) 根柱子,最开始时 \(n\) 个盘子按照大小被置于最左的柱子. 如果盘子数 ...

  5. 测试右移:线上质量监控 ELK 实战

    目录 [测试右移]介绍 ELK Stack 介绍 ELK 监控体系搭建 ES & Kibana 搭建 Nginx 日志自动采集 Nginx Agent 安装 Nginx 服务器 数据分析 Lo ...

  6. RS485 MODBUS RTU通信协议

    1.RS485接口标准 RS485由RS232和RS422发展而来,弥补了抗干扰能力差.通信距离短.速率低的缺点,增加了多点.双向通信能力,即允许多个发送器连接在同一条主线上,同时增加了发送器的驱动能 ...

  7. 新建 Microsoft Office Word 文档 来源:牛客网

    题目 链接:https://ac.nowcoder.com/acm/contest/28886/1015 来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32768K,其 ...

  8. 破坏正方形UVA1603

    题目大意 有一个由火柴棍组成的边长为n的正方形网格,每条边有n根火柴,共2n(n+1)根火柴.从上至下,从左到右给每个火柴编号,现在拿走一些火柴,问在剩下的后拆当中ongoing,至少还要拿走多少根火 ...

  9. 使用Python3.7配合协同过滤算法(base on user,基于人)构建一套简单的精准推荐系统(个性化推荐)

    原文转载自「刘悦的技术博客」https://v3u.cn/a_id_136 时至2020年,个性化推荐可谓风生水起,Youtube,Netflix,甚至于Pornhub,这些在互联网上叱咤风云的流媒体 ...

  10. MySQL 的prepare使用中的bug解析过程

    GreatSQL社区原创内容未经授权不得随意使用,转载请联系小编并注明来源. 目录 一.问题发现 二.问题调查过程 三.问题解决方案 四.问题总结 一.问题发现 在一次开发中使用 MySQL PREP ...