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

news2024/9/21 11:01:47

本文主要介绍基于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。

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

(活动礼品一览)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/797551.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

OSI七层模型——物理层

OSI模型的物理层位于协议栈的底部。它是 TCP/IP 模型的网络接入层的一部分。如果没有物理层,就没有网络。本模块详细介绍了连接到物理层的三种方法。 1 物理层的用途 1.1 物理连接 不管是在家连接本地打印机还是将其连接到另一国家/地区的网站上,在进…

vue 文件扩展名中 esm 、common 、global 以及 mini 、 dev 、prod 、runtime 的含义

vue 文件扩展名中 esm 、common 、global 以及 mini 、 dev 、prod 、runtime 的含义 vue.js 直接用在 script 标签中的完整版本(同时包含编译器 compiler 和运行时 runtime),可以看到源码,适用于开发环境。 这个版本视图可以写在…

vue3+ts+elementui-plus二次封装树形表格实现不同层级展开收起的功能

一、TableTreeLevel组件 <template><div classmain><div class"btns"><el-button type"primary" click"expandLevel(1)">展开一级</el-button><el-button type"primary" click"expandLevel(2…

管理类联考——写作——素材篇——论说文——企业管理故事

文章目录 经典管理案例——武装经管知识&#xff0c;让考官刮目相看分槽喂马金蝉脱壳欲取先与窃符救赵尺蠖huo求伸声东击西借尸还魂以静制动釜底抽薪围师必阙撒豆成兵不入虎穴焉得虎子八坛七盖 经典管理案例 ——武装经管知识&#xff0c;让考官刮目相看 纵使是世界顶级的管理…

音视频入门之音频采集、编码、播放

作者&#xff1a;花海blog 今天我们学习音频的采集、编码、生成文件、转码等操作&#xff0c;我们生成三种格式的文件格式&#xff0c;pcm、wav、aac 三种格式&#xff0c;并且我们用 AudioStack 来播放音频&#xff0c;最后我们播放这个音频。 使用 AudioRecord 实现录音生成…

【Chat GPT】用 ChatGPT 运行 Python

前言 ChatGPT 是一个基于 GPT-2 模型的人工智能聊天机器人&#xff0c;它可以进行智能对话&#xff0c;同时还支持 Python 编程语言的运行&#xff0c;可以通过 API 接口进行调用。本文将介绍如何使用 ChatGPT 运行 Python 代码&#xff0c;并提供一个实际代码案例。 ChatGPT …

苹果mac电脑好用的pdf编辑工具PDF Expert 最新中文 v3.2.2

PDF Expert提供了丰富的PDF编辑功能&#xff0c;包括添加、删除、移动、旋转、缩放、裁剪等操作&#xff0c;以及文本、图像、链接、表格、注释等元素的添加和修改。 行云如水&#xff01;阅读PDF文档非常流畅&#xff0c;不管你的文件有多大。编辑PDF文档 以简单快速度编辑PD…

兴达易控 ETHERCAT转PROFIBUS从站网关配置方式

ETHERCAT转PROFIBUS&#xff08;XD-ECPBS20&#xff09;是一款PROFIBUS从站功能的通讯网关。ETHERCAT转PROFIBUS从站网关主要功能是将ETHERCAT设备接入到PROFIBUS网络中。 本网关连接到PROFIBUS总线中做为从站使用&#xff0c;连接到ETHERCAT总线中做为从站使用。 1、配置网关…

基于RWEQ模型的土壤风蚀模数估算及其变化归因分析教程

详情点击公众号链接&#xff1a;基于RWEQ模型的土壤风蚀模数估算及其变化归因分析 前沿 土壤风蚀是一个全球性的环境问题。中国是世界上受土壤风蚀危害最严重的国家之一&#xff0c;土壤风蚀是中国干旱、半干旱及部分湿润地区土地荒漠化的首要过程。中国风蚀荒漠化面积达160…

学习笔记20 Java Collections Framework概览

一、Lists, Sets, and Maps list按位置对元素排序&#xff0c;元素x在列表中的位置&#xff0c;也称为其索引。一个列表允许重复的元素。list通过其索引来区分相同的对象。 set是无序无重复集合。与列表不同&#xff0c;set没有其元素的位置概念。集合的实现通常针对搜索进行…

C++-----stack和queue

本期我们来学习stack和queue 目录 stack介绍 栈的使用 栈的模拟实现 queue介绍 队列的使用 队列的模拟实现 deque 优先级队列 模拟实现 仿函数 全部代码 stack介绍 1. stack 是一种容器适配器&#xff0c;专门用在具有后进先出操作的上下文环境中&#xff0c;其删除…

亚马逊测评自养号:如何正确选择学习对象与获取可靠技术知识?

亚马逊是一家知名的跨境电商平台&#xff0c;吸引了越来越多的人涉足这个领域。随着商家数量的增加&#xff0c;亚马逊的竞争力也在不断提高。在亚马逊平台上&#xff0c;产品评价对于卖家账号的评估以及产品曝光量、销量等方面具有直接影响。因此&#xff0c;对于任何一个希望…

单路 PWM 控制的高调光比 LED 降压恒流控制器

概述 OC5401 是一款单路 PWM 控制的高调光比降压恒流驱动控制器&#xff0c;PWM 调光比最高可达 10000&#xff1a;1。 OC5401 支持 16-60V 输入电压范围。 OC5401 采用电流滞环控制方式&#xff0c;无需环路补偿。 OC5401 可通过外接电阻设置 LED 输出电流&#xff0c;最…

数据库中的事务处理

MySQL的事务处理&#xff1a;只支持 lnnoDB 和BDB数据表类型 1.事务就是将一组SQL语句放在同一批次内去执行 2.如果一个SQL语句出错&#xff0c;则该批次内的所有SQL都将被取消执行 MySQL的事务实现方法一&#xff1a; select autocommit 查询当前事务提交模式 set a…

【第二套】Java面试题

第二套&#xff1a; 一、JavaScript前端开发 1、下列的代码输出什么&#xff1f; var y 1; if(function f(){}){y typeof f; } console.log(y);正确的答案应该是 1undefined。 JavaScript中if语句求值其实使用eval函数&#xff0c;eval(function f(){}) 返回 function f()…

Web前端 常用布局

Flex布局&#xff08;弹性布局&#xff09; 参考&#xff1a;滑动验证页面 space-between与space-around的区别

Python编程很简单,四步菜鸟到高手(文末送书5本)

&#x1f935;‍♂️ 个人主页&#xff1a;艾派森的个人主页 ✍&#x1f3fb;作者简介&#xff1a;Python学习者 &#x1f40b; 希望大家多多支持&#xff0c;我们一起进步&#xff01;&#x1f604; 如果文章对你有帮助的话&#xff0c; 欢迎评论 &#x1f4ac;点赞&#x1f4…

别在找git报错的解决方案啦,多达20条git错误解决方案助你学习工作

1. 找不到Git命令 $ sudo apt-get update $ sudo apt-get install git2. 无法克隆远程仓库 $ git clone https://github.com/username/repo.git3. 无法拉取或推送到远程仓库 $ git pull origin master $ git add . $ git commit -m "Resolve conflicts" $ git pus…

java.lang.ClassNotFoundException: sun.misc.BASE64Decoder

有一个新的应用服务&#xff0c;idea启动应用应用服务时&#xff0c;突然报错java.lang.ClassNotFoundException: sun.misc.BASE64Decoder &#xff0c;然后在网上搜索&#xff0c;说是建议使用apache包&#xff0c;该类新的JRE已经废弃&#xff0c;并从rt.jar包中移除。但是该…

Visual Components数字化工厂仿真软件 衡祖仿真

Visual Components 3D 制造仿真软件可以方便快捷地设计和验证新的生产解决方案&#xff0c;可以向用户提供快速、便捷、真实的智能制造仿真解决方案。 一、数字化工厂产线仿真 VisualComponents仿真软件将离散物流事件仿真、人机协作、机器人工艺仿真和虚拟调试集于一个平台&am…