OpenHarmony南向开发案例【智慧中控面板(基于 Bearpi-Micro)】

1 开发环境搭建

【从0开始搭建开发环境】【快速搭建开发环境】 参考鸿蒙开发指导文档:gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md点击或复制转到。

【注意】:快速上手教程第六步出拉取代码时需要修改代码仓库地址

image-20220314113346980

  1. 在MobaXterm中输入以下命令获取源码:

    gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md
    

    其他同请参考官方文档。

搜狗高速浏览器截图20240326151547.png

2 开发板设置

【注意】:使用demo时必须修改网络信息配置文件后才能继续进行:

打开开发板源码目录:

image-20220314120253791

image-20220314120323734

修改自己的网络热点信息后编译烧录镜像文件重启

开发板上电后等待网络驱动加载完毕,即出现以下界面:

image-20220314115320661

此时,输入命令:

./bin/wpa_supplicant -i wlan0 -c /etc/wpa_supplicant.conf

【注意,上述命令必须处于根目录,若开发板为刚安装好Hap应用,请切换到根目录】使用下列命令即可

cd /

image-20220314115816371

等待Wifi连接完成。

【注意】开发板设置界面WIFI连接暂时存在BUG,请勿使用,必须使用命令行进行连接

连接完成后命令界面如下:

image-20220314115956130

此时可以输入下列命令检测网络是否通畅

ping www.baidu.com

image-20220314120056230

3 智慧面板应用程序源码下载及安装

【注意:Demo程序使用笔者预先在华为云创建的设备,如不能使用需按步骤 5 教程自己创建】

在Windows主机上拉取智慧面板demo应用程序源码

git clone https://gitee.com/ohpostman/smart-pannel

代码拉取完毕后,使用DevEco Studio 3.0.0 打开工程

image-20220314114215523

拉取完毕后编译工程:

点击Build->Build Hap(s)->Build Hap(s)

image-20220314114332827

编译后的安装包所在目录为:

image-20220314114537169

文件名:entry-debug-lite-unsigned.hap

将该文件安装到开发板

安装完成后:

4 demo应用测试

打开命令行终端,输入下列命令初始化驱动:

./bin/smartcnt

出现下列信息即说明驱动加载完成并已经连接上云服务器:

image-20220314121508170

此时查看云设备:

image-20220314121629713

此时,你需要一块小熊派Nano开发板作为子节点

打开例程后,修改接入地址:

image-20220314122118623

主要修改:网络热点信息

image-20220314122219839

笔者的demo设备信息:

#define CONFIG_APP_DEVICEID    "61ed6998de9933029be43a78_bearpinano"    //替换为注册设备后生成的deviceid
#define CONFIG_APP_DEVICEPWD    "eff7148f5597501527986078e6901a6e"      //替换为注册设备后生成的密钥

【注意:Demo程序使用笔者预先在华为云创建的设备,如不能使用需按步骤 5 教程自己创建】

下载烧录后nano板出现以下调试信息,说明连接成功:

image-20220314122703302

此时,打开中控板上的scp应用程序。【左右滑动切换】

点击打开测试灯按钮。

image-20220314123120751

可以看见中控命令行终端出现类似信息,并且可以观察到Nano节点的LED处于打开状态。

点击关闭测试灯按钮。可以看见灯光熄灭。

自此,整个demo使用实例演示完毕。下面我们进入自己添加设备的阶段。

5 添加自己的设备

5.1 修改自己的云信息

打开华为云IOT平台,[设备接入-控制台 (huaweicloud.com)],登录后进入

image-20220314123659770

找到如下信息:

image-20220314123759607

接着打开命令终端:

image-20220314124041818

找到对应的IP地址,备用

接着进入产品界面

image-20220314124215983

点击创建产品,输入相关信息后点击确定

image-20220314124332209

接着注册设备

image-20220314124509773

image-20220314124553759

填入信息,点击注册即可

接着点击产品,注册服务

image-20220314124820404

填入相关信息即可

下面是demo相关信息,按需添加即可

image-20220314124904637

image-20220314124951150

image-20220314125207205

下面点击规则

image-20220314125624491

image-20220314125635270

同理,添加其他内容即可。

5.2 将自己的云信息添加到系统

【注意】该处设计有待优化,后续优化后会更新文档

打开中控代码,修改下列信息

image-20220314125918188

修改完成,编译烧录即可完成中控端的配置

接着修改应用端配置信息:

打开应用端源代码:

【注意】UI界面请按自己的喜好进行设计

找到如下文件

image-20220314130345414

将红框内数据按照云服务的定义进行配置,接着添加事件,以,打开测试灯为例,添加open函数,按下列进行修改

image-20220314130529553

将led属性设置为1,云端匹配完成后会下发指令到led节点进行控制。

image-20220314130654873

同理,可以安装上述步骤添加属于自己的控制信息。

鸿蒙Next核心技术分享

1、鸿蒙基础知识←《鸿蒙NEXT星河版开发学习文档》

2、鸿蒙ArkUI←《鸿蒙NEXT星河版开发学习文档》

3、鸿蒙进阶技术←《鸿蒙NEXT星河版开发学习文档》

 4、鸿蒙就业高级技能←《鸿蒙NEXT星河版开发学习文档》 

 5、鸿蒙多媒体技术←《鸿蒙NEXT星河版开发学习文档》 

6、鸿蒙南向驱动开发←《鸿蒙NEXT星河版开发学习文档》  

7、鸿蒙南向内核设备开发←《鸿蒙NEXT星河版开发学习文档》  

 8、鸿蒙系统裁剪与移植←《鸿蒙NEXT星河版开发学习文档》  

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

考研数学|《1800》《660》《880》如何选择和搭配?(附资料分享)

直接说结论:基础不好先做1800、强化之前660,强化可选880/1000题。 首先,传统习题册存在的一个问题是题量较大,但难度波动较大。《汤家凤1800》和《张宇1000》题量庞大,但有些题目难度不够平衡,有些过于简单…

【笔试训练】day4

不到5分钟写完,今天的题又又又难一点啦! 1.Fibonacci数列 思路: 直接模拟一遍斐波那契数列的递增过程,大于n就直接结束。因为后面只会越来越大,跟题目求的最小步数不符。在这个过程中用一个变量去维护这个当前的元素与目标n还差…

IntelliJ IDEA配置类注释模板和方法注释模板

配置类注释模板和方法注释模板 IDEA模板预定义变量类注释模方法注释模板方法参数优化 IDEA模板 在IDEA中,自带的注释模板可能不满足自身需求或者不满意,此时可以通过配置IDEA模板来解决。 预定义变量 内置模板是可编辑的,除了静态文本、代码和…

力扣hot100:136. 只出现一次的数字 及其衍生

文章目录 一、LeetCode:136. 只出现一次的数字 使用到的异或运算的特点: 两个相同的数异或,结果为0 一、LeetCode:136. 只出现一次的数字 LeetCode:136. 只出现一次的数字 这里数组nums的特点是,除了一…

近屿OJAC带你解读:什么是预训练(pre-training)?

预训练(Pre-training)是深度学习中一种常见的技术,特别是在自然语言处理(NLP)和计算机视觉等领域。预训练模型的目的是在特定任务之前,先在大量数据上训练一个模型,使其学习到通用的特征和知识。…

EelasticSearch安装及分词器安装

Docker安装 首先在你的linux系统的opt目录下创建一个es7文件夹,然后再在里面创建一个data文件夹(data可省略在运行下面命令时它会自动创建) docker run -d --name es7 -e ES_JAVA_POTS"-Xms256m -Xmx256m" -e "discovery.ty…

Ai2024安装包(亲测可用)

目录 一、软件简介 二、软件下载 一、软件简介 Adobe illustrator,常被称为“AI”,是一种应用于出版、多媒体和在线图像的工业标准矢量插画的软件。作为一款非常好的矢量图形处理工具,该软件主要应用于印刷出版、海报书籍排版、专业插画、多…

Vue3从入门到实战:深度掌握组件通信(下部曲)

5.组件通信方式5-$attrs $attrs的概念: 在Vue中,$attrs 是一个特殊的属性,用于访问父组件向子组件传递的非特定属性。它可以让子组件轻松地获取父组件传递的属性,而无需在子组件中显式声明这些属性。 想象一下你有一个父组件和…

Latent Guard、Tokenization in LLM、​3D Human Scan、FusionPortableV2

本文首发于公众号:机器感知 https://mp.weixin.qq.com/s/HlVV3VnqocBI4XBOT6RFHg A Multi-Level Framework for Accelerating Training Transformer Models The fast growing capabilities of large-scale deep learning models, such as Bert, GPT and ViT, are r…

微软开源 WizardLM-2,70B优于GPT4-0613,7B持平阿里最新的Qwen1.5-32B

当地时间4月15号,微软发布了新一代大语言模型 WizardLM-2,新家族包括三个尖端型号:WizardLM-2 8x22B, WizardLM-2 70B,和WizardLM-2 7B,作为下一代最先进的大型语言模型,它在复杂聊天、多语言、推理和代理方面的性能有…

算法打卡day37

今日任务: 1)1049. 最后一块石头的重量 II 2)494. 目标和 3)474.一和零 4)复习day12 1049. 最后一块石头的重量 II 题目链接:1049. 最后一块石头的重量 II - 力扣(LeetCode) 题目难…

B1100 校庆

输入样例: 5 372928196906118710 610481197806202213 440684198612150417 13072819571002001X 150702193604190912 6 530125197901260019 150702193604190912 220221196701020034 610481197806202213 440684198612150417 370205198709275042 输出样例:…

LINUX中使用cron定时任务被隐藏,咋回事?

一、问题现象 线上服务器运行过程中,进程有莫名进程被启动,怀疑是有定时任务自动启动,当你用常规方法去查看,比如使用crontab去查看定时器任务,提示no crontab for root 或者使用cat到/var/spool/cron目录下去查看定时…

python使用uiautomator2操作真机(华为Honor 10)

环境: python3.8.10,华为手机Honor 10(6G,64g),版本android 9。 之前写过一篇文章: python使用uiautomator2操作真机_python uiautomator2 控制真机-CSDN博客 今天再拿另外一部手机测试。 一、将手机设置为开发者模式 1、设…

基于ssm冀中工程技师校园网站设计与实现论文

摘 要 使用旧方法对冀中工程技师学院网站的信息进行系统化管理已经不再让人们信赖了,把现在的网络信息技术运用在冀中工程技师学院网站的管理上面可以解决许多信息管理上面的难题,比如处理数据时间很长,数据存在错误不能及时纠正等问题。这次…

【数据恢复软件】:Magnet AXIOM V8.0

Magnet AXIOM V8.0重大更新 1、全新的UI设计 2、更快的相应速度 3、补全工件分析 4、支持亚马逊AWS云数据( 获取同一帐户或安全帐户上下文中的快照。 支持Windows实例、加密卷和超过1 TB的卷、具有多个卷的实例等等! ) 5、Bug修复 6、AI支持…

Promise模块化编程ES6新特性

文章目录 Promise&模块化编程1.Promise基本介绍2.快速入门1.需求分析2.原生ajax jQuery3.Promise使用模板 3.课后练习1.原生ajax jQuery2.promise 4.模块化编程基本介绍5.CommonJS基本介绍6.ES5模块化编程1.题目2.示意图3.代码实例—普通导入导出function.jsuse.js 4.代码…

JVM垃圾回收与算法

1. 如何确定垃圾 1.1 引用计数法 在 Java 中,引用和对象是有关联的。如果要操作对象则必须用引用进行。因此,很显然一个简单 的办法是通过引用计数来判断一个对象是否可以回收。简单说,即一个对象如果没有任何与之关 联的引用,即…

推荐系统综述

推荐系统研究综述 - 中国知网 传统推荐方法主要分类: 1)基于内容推荐方法 主要依据用户与项目之间的特征信息,用户之间的联系不会影响推荐结果,所以不存在冷启动和稀疏问题,但是基于内容推荐的结果新颖程度低并且面临特征提取的问题。 基于内容的推荐方法的思想非…

能源成果3D网络三维展厅越发主流化

在这个数字化飞速发展的时代,我们为您带来了全新的展览形式——线上3D虚拟展厅。借助VR虚拟现实制作和web3d开发技术,我们能够将物品、图片、视频和图文信息等完美融合,通过计算机技术和3D建模,为您呈现一个逼真、生动的数字化展览…