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

2024-04-18 00:52

本文主要是介绍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星河版开发学习文档》  

这篇关于OpenHarmony南向开发案例【智慧中控面板(基于 Bearpi-Micro)】的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/913336

相关文章

Android开发中gradle下载缓慢的问题级解决方法

《Android开发中gradle下载缓慢的问题级解决方法》本文介绍了解决Android开发中Gradle下载缓慢问题的几种方法,本文给大家介绍的非常详细,感兴趣的朋友跟随小编一起看看吧... 目录一、网络环境优化二、Gradle版本与配置优化三、其他优化措施针对android开发中Gradle下载缓慢的问

Python爬虫selenium验证之中文识别点选+图片验证码案例(最新推荐)

《Python爬虫selenium验证之中文识别点选+图片验证码案例(最新推荐)》本文介绍了如何使用Python和Selenium结合ddddocr库实现图片验证码的识别和点击功能,感兴趣的朋友一起看... 目录1.获取图片2.目标识别3.背景坐标识别3.1 ddddocr3.2 打码平台4.坐标点击5.图

使用Go语言开发一个命令行文件管理工具

《使用Go语言开发一个命令行文件管理工具》这篇文章主要为大家详细介绍了如何使用Go语言开发一款命令行文件管理工具,支持批量重命名,删除,创建,移动文件,需要的小伙伴可以了解下... 目录一、工具功能一览二、核心代码解析1. 主程序结构2. 批量重命名3. 批量删除4. 创建文件/目录5. 批量移动三、如何安

Android 悬浮窗开发示例((动态权限请求 | 前台服务和通知 | 悬浮窗创建 )

《Android悬浮窗开发示例((动态权限请求|前台服务和通知|悬浮窗创建)》本文介绍了Android悬浮窗的实现效果,包括动态权限请求、前台服务和通知的使用,悬浮窗权限需要动态申请并引导... 目录一、悬浮窗 动态权限请求1、动态请求权限2、悬浮窗权限说明3、检查动态权限4、申请动态权限5、权限设置完毕后

使用Navicat工具比对两个数据库所有表结构的差异案例详解

《使用Navicat工具比对两个数据库所有表结构的差异案例详解》:本文主要介绍如何使用Navicat工具对比两个数据库test_old和test_new,并生成相应的DDLSQL语句,以便将te... 目录概要案例一、如图两个数据库test_old和test_new进行比较:二、开始比较总结概要公司存在多

基于Python开发PPTX压缩工具

《基于Python开发PPTX压缩工具》在日常办公中,PPT文件往往因为图片过大而导致文件体积过大,不便于传输和存储,所以本文将使用Python开发一个PPTX压缩工具,需要的可以了解下... 目录引言全部代码环境准备代码结构代码实现运行结果引言在日常办公中,PPT文件往往因为图片过大而导致文件体积过大,

使用DeepSeek API 结合VSCode提升开发效率

《使用DeepSeekAPI结合VSCode提升开发效率》:本文主要介绍DeepSeekAPI与VisualStudioCode(VSCode)结合使用,以提升软件开发效率,具有一定的参考价值... 目录引言准备工作安装必要的 VSCode 扩展配置 DeepSeek API1. 创建 API 请求文件2.

SpringBoot实现动态插拔的AOP的完整案例

《SpringBoot实现动态插拔的AOP的完整案例》在现代软件开发中,面向切面编程(AOP)是一种非常重要的技术,能够有效实现日志记录、安全控制、性能监控等横切关注点的分离,在传统的AOP实现中,切... 目录引言一、AOP 概述1.1 什么是 AOP1.2 AOP 的典型应用场景1.3 为什么需要动态插

Golang操作DuckDB实战案例分享

《Golang操作DuckDB实战案例分享》DuckDB是一个嵌入式SQL数据库引擎,它与众所周知的SQLite非常相似,但它是为olap风格的工作负载设计的,DuckDB支持各种数据类型和SQL特性... 目录DuckDB的主要优点环境准备初始化表和数据查询单行或多行错误处理和事务完整代码最后总结Duck

基于Python开发电脑定时关机工具

《基于Python开发电脑定时关机工具》这篇文章主要为大家详细介绍了如何基于Python开发一个电脑定时关机工具,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1. 简介2. 运行效果3. 相关源码1. 简介这个程序就像一个“忠实的管家”,帮你按时关掉电脑,而且全程不需要你多做