本文主要介绍基于OpenHarmony 3.0来接入IoTDA,以BearPi-HM_Nano开发板为例,使用huaweicloud_iot_link SDK对接华为云物联网平台的简单流程。文末为大家提供了的福利,最高可得HUAWEI WATCH FIT手表、华为手环7、HUAWEI FreeBuds SE 无线耳机、笔记本电脑支架等重磅好礼;

前提条件

·已注册华为云官方帐号。未注册可单击注册页面完成注册。

·已完成实名制认证。未完成可在华为云上单击实名认证完成认证,否则无法使用设备接入功能。

·已开通设备接入服务。未开通则访问,单击“管理控制台”后开通该服务。

硬件环境

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. 在产品详情“模型定义”页面,直接上传模型文件。

注册设备

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

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

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

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

③ 设备标识码:自定义;

④ 设备名称:自定义;

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

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

Huaweicloud_iotlink SDK使用

1. 下载源码:。

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 日志信息)

物联网被称为继计算机和互联网之后的第三次信息技术革命,其应用无处不在。 鸿蒙的出现,让硬件、软件行业面临着变革与重构的洪流,但激流勇进中,也潜藏着巨大机遇。物联网设备与鸿蒙结合已成为社会发展的必然趋势。

本次活动邀请大家体验华为云IoT+OpenHarmony,了解鸿蒙设备接入华为云IoT全过程。上述文章为基础版体验,活动还有高阶版体验,配备了完善的体验手册和社群专家指导,是以OpenHarmony 3.1.1和rk3568为例,阐述如何用子系统方式使用SDK。

同时,为大家准备了丰厚礼品。报名活动领取华为云免费资源即可参与抽奖,各环节大奖不停,最高可得华为手表、华为手环、华为无线耳机、笔记本电脑支架等重磅好礼,更多活动规则点击活动链接查看详情;

(活动礼品一览)

【福利活动】深度体验OpenHarmony对接华为云IoT相关推荐

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

    摘要:本文主要介绍基于OpenHarmony 3.0版本来对接华为云IoT设备接入IoTDA,以小熊派BearPi-HM_Nano开发板为例,使用huaweicloud_iot_link SDK对接华 ...

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

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

  3. 动手实践丨使用华为云IoT边缘体验“边云协同”

    摘要:"边云协同",即云端与边缘的协同.通过边云通道,部署在边缘节点上,并实现在云端远程管理应用,保障部署在边缘的应用能够正常运行,并通过与云端的连线,将业务执行结果在云端呈现. ...

  4. 解放重复劳动丨华为云IoT API Explorer对接小程序实现系统化应用

    摘要:<物联网平台接口调用实验>详细讲解了API Explorer的应用,根据提供的接口,结合真实案例,制作了一个小程序,真正的把它应用起来,解放重复劳动,小程序是一个很好的平台,作为应用 ...

  5. 六步带你完成博流wifi模组对接华为云流程

    摘要:本文主要采用基于博流wifi模组以及我们的SDK移植实现华为云的对接,上报数据以及命令下发等,希望对您有所帮助. 1 简介 首先需要研究透彻博流项目的编译运行流程,首先看其根目录中包括compo ...

  6. 以云数据库产品为例深度对比分析:华为云更安全还是阿里云更安全?

    以云数据库产品为例深度对比分析:华为云更安全还是阿里云更安全? 博主介绍 目前市场云 阿里云 阿里云云原生关系型数据库 PolarDB MySQL引擎 什么是PolarDB 产品优势 产品架构 一写多 ...

  7. 物联网网关BL110对接华为云

    BL110是一款各种PLC协议.Modbus RTU .Modbus TCP.DL/T645.IEC101.IEC104.BACnet IP.BACnet MS/TP等多种协议转换为Modbus TC ...

  8. 华为云 IoT 物联网数据分析能力详解

    1如何做好 IoT 数据分析? 物联网数据主要是指传感器和设备发过来的数据.这些数据一部分是对现实环境参数的采集值,一部分是设备的一些常规信息值,比如:状态.故障信息.错误代码.运行情况等.物联网数据 ...

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

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

最新文章

  1. php登陆验证码错误,DEDE织梦后台登陆提示验证码错误的方法
  2. eclipse配置maven及查看对应maven配置文件settings.xml的地方
  3. 如果我的接口必须返回Task,那么实现无操作的最佳方法是什么?
  4. cuda win10安装
  5. 一天1个机器学习知识点(四)
  6. 干货丨你知道Python中a += b和a = a + b的结果是不一样的吗?
  7. C# 通过pid获取hwnd / 通过pid查找hwnd
  8. i5四核八线程怎么样_同样四核八线程,Ryzen 3 3100和3300X区别大了!
  9. 前华远房地产任大炮任志强:我一定不要清华的毕业生
  10. 存放80000000学生成绩的集合,怎么统计平均分性能高
  11. 7年前的200电话卡帐号
  12. kali Linux渗透测试教程.pdf
  13. lenovo G50-80bios设置U盘启动选项及win10永久激活及win10下载
  14. led的伏安特性曲线 matlab实现_Matlab在伏安特性实验中的应用
  15. 一款好用的应用程序打包工具
  16. mysql连接两个字段_sql如何将二个字段连接在一起
  17. 2017.1直播类APP排行:斗鱼第一、YY第二、映客第三
  18. 【01】花卉识别-基于tensorflow2.3实现
  19. CAD看图如何在电脑上快速找到并打开指定CAD图纸
  20. python解析MNIST数据集(IDX格式)

热门文章

  1. 7-6 图着色问题 (25 分)
  2. openstack是什么?openstack的主要功能组件有哪些
  3. PHP Smarty 模板,php中Smarty模板初体验
  4. Vue的基础知识之插值操作
  5. 了解维客模式wiki,联想《集思广益系统》
  6. Log4net和Nlog
  7. 1911: [Apio2010]特别行动队
  8. 启动时隐藏窗口及恢复
  9. python mysql blob_Mysql的BLOB操作
  10. kettle实战-4 OMI介绍