深度体验OpenHarmony对接华为云IoT

608 篇文章 11 订阅
392 篇文章 0 订阅

本文主要介绍基于OpenHarmony 3.0来接入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. 登录管理控制台,单击左侧导航栏“产品”,单击页面右上角的“创建产品”。

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

① 所属资源空间:默认资源空间;

② 产品名称:自定义;

③ 协议类型:MQTT;

④ 数据格式:JSON;

⑤ 厂商名称:自定义;

⑥ 设备类型选择: 自定义类型;

⑦ 设备类型:自定义;

开发产品模型

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

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

注册设备

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

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

① 所属资源空间:默认资源空间;

② 所属产品:选择【创建产品】中已创建的产品;

③ 设备标识码:自定义;

④ 设备名称:自定义;

⑤ 设备认证类型:选择“密钥”;

⑥ 密钥/确认密钥:固定为12345678;

Huaweicloud_iotlink SDK使用

1. 下载源码:https://obs-pipeline.obs.cn-north-4.myhuaweicloud.com/sdkDeploy/quickStart/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 开发环境搭建:https://qr18.cn/CgxrRy

《OpenHarmony源码解析》:https://qr18.cn/CgxrRy

  • 搭建开发环境
  • Windows 开发环境的搭建
  • Ubuntu 开发环境搭建
  • Linux 与 Windows 之间的文件共享
  • ……

系统架构分析:https://qr18.cn/CgxrRy

  • 构建子系统
  • 启动流程
  • 子系统
  • 分布式任务调度子系统
  • 分布式通信子系统
  • 驱动子系统
  • ……

OpenHarmony 设备开发学习手册:https://qr18.cn/CgxrRy

在这里插入图片描述

OpenHarmony面试题(内含参考答案):https://qr18.cn/CgxrRy

  • 12
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
华为云IoT是华为公司推出的一款云端物联网解决方案,作为上位机,它提供了强大的数据处理和分析能力。通过华为云IoT平台,用户可以连接和管理大量的物联网设备,实现设备间的数据交互和信息共享。同时,华为云IoT平台基于大数据和人工智能技术,能够对设备产生的海量数据进行实时分析和挖掘,为用户提供智能化的决策支持。 作为上位机,华为云IoT还具备了良好的可扩展性和定制化能力。用户可以根据自身业务需求,通过华为云IoT平台快速构建所需的物联网解决方案,并进行灵活的功能定制和业务逻辑的扩展。同时,华为云IoT平台还提供了丰富的开发接口和工具,方便开发者进行二次开发和集成,实现更多样化的应用场景。 除此之外,华为云IoT作为上位机还具备了高度的安全性和稳定性。通过严格的数据加密和隐私保护机制,保障物联网数据的安全传输和存储。与此同时,华为云IoT平台还拥有高可用性和可靠性,能够满足用户对设备数据实时性和准确性的要求,保障物联网应用系统的稳定运行。 综上所述,华为云IoT作为上位机,通过其强大的数据处理和分析能力、高度的可扩展性和定制化能力,以及高安全性和稳定性,能够为物联网应用提供全方位的解决方案和支持,助力用户实现智能化物联网应用的快速部署和商业化落地。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值