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

相关文章

PyQt5 GUI 开发的基础知识

《PyQt5GUI开发的基础知识》Qt是一个跨平台的C++图形用户界面开发框架,支持GUI和非GUI程序开发,本文介绍了使用PyQt5进行界面开发的基础知识,包括创建简单窗口、常用控件、窗口属性设... 目录简介第一个PyQt程序最常用的三个功能模块控件QPushButton(按钮)控件QLable(纯文本

RabbitMQ消费端单线程与多线程案例讲解

《RabbitMQ消费端单线程与多线程案例讲解》文章解析RabbitMQ消费端单线程与多线程处理机制,说明concurrency控制消费者数量,max-concurrency控制最大线程数,prefe... 目录 一、基础概念详细解释:举个例子:✅ 单消费者 + 单线程消费❌ 单消费者 + 多线程消费❌ 多

基于Python开发一个图像水印批量添加工具

《基于Python开发一个图像水印批量添加工具》在当今数字化内容爆炸式增长的时代,图像版权保护已成为创作者和企业的核心需求,本方案将详细介绍一个基于PythonPIL库的工业级图像水印解决方案,有需要... 目录一、系统架构设计1.1 整体处理流程1.2 类结构设计(扩展版本)二、核心算法深入解析2.1 自

MySql基本查询之表的增删查改+聚合函数案例详解

《MySql基本查询之表的增删查改+聚合函数案例详解》本文详解SQL的CURD操作INSERT用于数据插入(单行/多行及冲突处理),SELECT实现数据检索(列选择、条件过滤、排序分页),UPDATE... 目录一、Create1.1 单行数据 + 全列插入1.2 多行数据 + 指定列插入1.3 插入否则更

Python通用唯一标识符模块uuid使用案例详解

《Python通用唯一标识符模块uuid使用案例详解》Pythonuuid模块用于生成128位全局唯一标识符,支持UUID1-5版本,适用于分布式系统、数据库主键等场景,需注意隐私、碰撞概率及存储优... 目录简介核心功能1. UUID版本2. UUID属性3. 命名空间使用场景1. 生成唯一标识符2. 数

PostgreSQL的扩展dict_int应用案例解析

《PostgreSQL的扩展dict_int应用案例解析》dict_int扩展为PostgreSQL提供了专业的整数文本处理能力,特别适合需要精确处理数字内容的搜索场景,本文给大家介绍PostgreS... 目录PostgreSQL的扩展dict_int一、扩展概述二、核心功能三、安装与启用四、字典配置方法

Python中re模块结合正则表达式的实际应用案例

《Python中re模块结合正则表达式的实际应用案例》Python中的re模块是用于处理正则表达式的强大工具,正则表达式是一种用来匹配字符串的模式,它可以在文本中搜索和匹配特定的字符串模式,这篇文章主... 目录前言re模块常用函数一、查看文本中是否包含 A 或 B 字符串二、替换多个关键词为统一格式三、提

Python get()函数用法案例详解

《Pythonget()函数用法案例详解》在Python中,get()是字典(dict)类型的内置方法,用于安全地获取字典中指定键对应的值,它的核心作用是避免因访问不存在的键而引发KeyError错... 目录简介基本语法一、用法二、案例:安全访问未知键三、案例:配置参数默认值简介python是一种高级编

MySQL中的索引结构和分类实战案例详解

《MySQL中的索引结构和分类实战案例详解》本文详解MySQL索引结构与分类,涵盖B树、B+树、哈希及全文索引,分析其原理与优劣势,并结合实战案例探讨创建、管理及优化技巧,助力提升查询性能,感兴趣的朋... 目录一、索引概述1.1 索引的定义与作用1.2 索引的基本原理二、索引结构详解2.1 B树索引2.2

SpringBoot开发中十大常见陷阱深度解析与避坑指南

《SpringBoot开发中十大常见陷阱深度解析与避坑指南》在SpringBoot的开发过程中,即使是经验丰富的开发者也难免会遇到各种棘手的问题,本文将针对SpringBoot开发中十大常见的“坑... 目录引言一、配置总出错?是不是同时用了.properties和.yml?二、换个位置配置就失效?搞清楚加