本文主要介绍基于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. 在产品详情“模型定义”页面,直接上传模型文件 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. 设置参数。

2. 

(图10 参数修改)

注意:

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

设备接入平台

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

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

(图11 数据上报)

(图12 命令下发)

(图13 日志信息)

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

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

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

https://developer.huaweicloud.com/signup/445027b70943460481e6062c8c5b1da2

(活动礼品一览)

【福利活动】深度体验OpenHarmony对接华为云IoT的更多相关文章

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

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

  2. Modbus的设备怎么对接华为云 使用金鸽BL100只需要5步

    BL100是一款高性价比的Modbus转MQTT网关支持一键对接阿里云.华为云. BL100将Modbus串口设备的数据上传至华为云只需要简单五步 第一步.首先将Modbus的设备通过RS485接上M ...

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

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

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

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

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

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

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

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

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

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

  8. CC2530_ZigBee+华为云IOT:设计一套属于自己的冷链采集系统

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

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

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

  10. 阿里云 IOT 对接设备开发 C# 开发设备对接阿里云 IOT平台

    一,创建阿里云 IOT 产品.设备 目前阿里云每月赠送 100 万条流量,可以免费使用基础版.高级版,开通后即可免费使用. 阿里云 IOT 平台地址 https://iot.console.aliyu ...

随机推荐

  1. 【Azure K8S】记录AKS VMSS实例日志收集方式

    问题描述 如何从AKS的VMSS集群中收集实例日志? 参考步骤 第一步:登陆VMSS实例 参考官网步骤:使用 SSH 连接到 Azure Kubernetes 服务 (AKS) 群集节点以进行维护或故 ...

  2. 云原生基础设施实践:NebulaGraph 的 KubeBlocks 集成故事

    像是 NebulaGraph 这类基础设施上云,通用的方法一般是将线下物理机替换成云端的虚拟资源,依托各大云服务厂商实现"服务上云".但还有一种选择,就是依托云数据基础设施,将数据 ...

  3. C++特殊类的设计与单例模式

    #pragma once // 1. 设计一个不能被拷贝的类/* 解析:拷贝只会放生在两个场景中:拷贝构造函数以及赋值运算符重载,因此想要让一个类禁止拷贝, 只需让该类不能调用拷贝构造函数以及赋值运算 ...

  4. centos7通过配置hosts.allow和hosts.deny限制登陆

    etc/hosts.allow和/etc/hosts.deny两个文件是控制远程访问设置的,通过他可以允许或者拒绝某个ip或者ip段的客户访问linux的某项服务. 我们通常只对管理员开放SSH登录, ...

  5. Java开发者的Python快速进修指南:掌握T检验

    前言 T检验是一种用于比较两个独立样本均值差异的统计方法.它通过计算T值和P值来判断样本之间是否存在显著性差异.通常情况下,我们会有两组数据,例如一组实验组和一组对照组. T检验的原假设是两组样本的均 ...

  6. Dash 2.16版本新特性介绍

    本文示例代码已上传至我的Github仓库https://github.com/CNFeffery/dash-master 大家好我是费老师,几天前Dash发布了其2.16.0版本,随后在修复了一些潜在 ...

  7. Spring Cloud 系列之Hystrix、Ribbon、Feign 源码剖析(一)引子

    系列目录 Spring Cloud 系列之Hystrix.Ribbon.Feign 源码剖析(一)引子 Spring Cloud 系列之Hystrix.Ribbon.Feign 源码剖析(二)原理概括 ...

  8. finger 单词学习 词源通 five (penkwe)

    印欧语penkwe - finger p通f 元音i通e 或者说从e降级到i (aeiou) n保持不变 k通g we 怎么转的 er 我也不知道,不嫌麻烦就是 w -> m -> n - ...

  9. vscode 格式化空格,constructor 构造函数的空格 会有问题,找到一个配置文件好使

    Ctrl+Shift+P "javascript.format.enable": false, "javascript.format.insertSpaceAfterCo ...

  10. 将谷歌chrome浏览器主题变黑的方法

    两个步骤: 第一: 桌面找到google chrome图标右键->属性,在后面加上: --force-dark-mode (注意有空格) 第二: 1.浏览器地址输入chrome://flags/ ...