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

相关文章

Python实例题之pygame开发打飞机游戏实例代码

《Python实例题之pygame开发打飞机游戏实例代码》对于python的学习者,能够写出一个飞机大战的程序代码,是不是感觉到非常的开心,:本文主要介绍Python实例题之pygame开发打飞机... 目录题目pygame-aircraft-game使用 Pygame 开发的打飞机游戏脚本代码解释初始化部

使用Python开发一个现代化屏幕取色器

《使用Python开发一个现代化屏幕取色器》在UI设计、网页开发等场景中,颜色拾取是高频需求,:本文主要介绍如何使用Python开发一个现代化屏幕取色器,有需要的小伙伴可以参考一下... 目录一、项目概述二、核心功能解析2.1 实时颜色追踪2.2 智能颜色显示三、效果展示四、实现步骤详解4.1 环境配置4.

六个案例搞懂mysql间隙锁

《六个案例搞懂mysql间隙锁》MySQL中的间隙是指索引中两个索引键之间的空间,间隙锁用于防止范围查询期间的幻读,本文主要介绍了六个案例搞懂mysql间隙锁,具有一定的参考价值,感兴趣的可以了解一下... 目录概念解释间隙锁详解间隙锁触发条件间隙锁加锁规则案例演示案例一:唯一索引等值锁定存在的数据案例二:

Python使用smtplib库开发一个邮件自动发送工具

《Python使用smtplib库开发一个邮件自动发送工具》在现代软件开发中,自动化邮件发送是一个非常实用的功能,无论是系统通知、营销邮件、还是日常工作报告,Python的smtplib库都能帮助我们... 目录代码实现与知识点解析1. 导入必要的库2. 配置邮件服务器参数3. 创建邮件发送类4. 实现邮件

基于Python开发一个有趣的工作时长计算器

《基于Python开发一个有趣的工作时长计算器》随着远程办公和弹性工作制的兴起,个人及团队对于工作时长的准确统计需求日益增长,本文将使用Python和PyQt5打造一个工作时长计算器,感兴趣的小伙伴可... 目录概述功能介绍界面展示php软件使用步骤说明代码详解1.窗口初始化与布局2.工作时长计算核心逻辑3

MySQL 表的内外连接案例详解

《MySQL表的内外连接案例详解》本文给大家介绍MySQL表的内外连接,结合实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录表的内外连接(重点)内连接外连接表的内外连接(重点)内连接内连接实际上就是利用where子句对两种表形成的笛卡儿积进行筛选,我

python web 开发之Flask中间件与请求处理钩子的最佳实践

《pythonweb开发之Flask中间件与请求处理钩子的最佳实践》Flask作为轻量级Web框架,提供了灵活的请求处理机制,中间件和请求钩子允许开发者在请求处理的不同阶段插入自定义逻辑,实现诸如... 目录Flask中间件与请求处理钩子完全指南1. 引言2. 请求处理生命周期概述3. 请求钩子详解3.1

如何基于Python开发一个微信自动化工具

《如何基于Python开发一个微信自动化工具》在当今数字化办公场景中,自动化工具已成为提升工作效率的利器,本文将深入剖析一个基于Python的微信自动化工具开发全过程,有需要的小伙伴可以了解下... 目录概述功能全景1. 核心功能模块2. 特色功能效果展示1. 主界面概览2. 定时任务配置3. 操作日志演示

Java Stream.reduce()方法操作实际案例讲解

《JavaStream.reduce()方法操作实际案例讲解》reduce是JavaStreamAPI中的一个核心操作,用于将流中的元素组合起来产生单个结果,:本文主要介绍JavaStream.... 目录一、reduce的基本概念1. 什么是reduce操作2. reduce方法的三种形式二、reduce

JavaScript实战:智能密码生成器开发指南

本文通过JavaScript实战开发智能密码生成器,详解如何运用crypto.getRandomValues实现加密级随机密码生成,包含多字符组合、安全强度可视化、易混淆字符排除等企业级功能。学习密码强度检测算法与信息熵计算原理,获取可直接嵌入项目的完整代码,提升Web应用的安全开发能力 目录