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如何开发游戏

《一文详解Python如何开发游戏》Python是一种非常流行的编程语言,也可以用来开发游戏模组,:本文主要介绍Python如何开发游戏的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下... 目录一、python简介二、Python 开发 2D 游戏的优劣势优势缺点三、Python 开发 3D

基于Python开发Windows自动更新控制工具

《基于Python开发Windows自动更新控制工具》在当今数字化时代,操作系统更新已成为计算机维护的重要组成部分,本文介绍一款基于Python和PyQt5的Windows自动更新控制工具,有需要的可... 目录设计原理与技术实现系统架构概述数学建模工具界面完整代码实现技术深度分析多层级控制理论服务层控制注

Java中的分布式系统开发基于 Zookeeper 与 Dubbo 的应用案例解析

《Java中的分布式系统开发基于Zookeeper与Dubbo的应用案例解析》本文将通过实际案例,带你走进基于Zookeeper与Dubbo的分布式系统开发,本文通过实例代码给大家介绍的非常详... 目录Java 中的分布式系统开发基于 Zookeeper 与 Dubbo 的应用案例一、分布式系统中的挑战二

Java 中的 equals 和 hashCode 方法关系与正确重写实践案例

《Java中的equals和hashCode方法关系与正确重写实践案例》在Java中,equals和hashCode方法是Object类的核心方法,广泛用于对象比较和哈希集合(如HashMa... 目录一、背景与需求分析1.1 equals 和 hashCode 的背景1.2 需求分析1.3 技术挑战1.4

Java中实现对象的拷贝案例讲解

《Java中实现对象的拷贝案例讲解》Java对象拷贝分为浅拷贝(复制值及引用地址)和深拷贝(递归复制所有引用对象),常用方法包括Object.clone()、序列化及JSON转换,需处理循环引用问题,... 目录对象的拷贝简介浅拷贝和深拷贝浅拷贝深拷贝深拷贝和循环引用总结对象的拷贝简介对象的拷贝,把一个

基于Go语言开发一个 IP 归属地查询接口工具

《基于Go语言开发一个IP归属地查询接口工具》在日常开发中,IP地址归属地查询是一个常见需求,本文将带大家使用Go语言快速开发一个IP归属地查询接口服务,有需要的小伙伴可以了解下... 目录功能目标技术栈项目结构核心代码(main.go)使用方法扩展功能总结在日常开发中,IP 地址归属地查询是一个常见需求:

Java中最全最基础的IO流概述和简介案例分析

《Java中最全最基础的IO流概述和简介案例分析》JavaIO流用于程序与外部设备的数据交互,分为字节流(InputStream/OutputStream)和字符流(Reader/Writer),处理... 目录IO流简介IO是什么应用场景IO流的分类流的超类类型字节文件流应用简介核心API文件输出流应用文

基于 Cursor 开发 Spring Boot 项目详细攻略

《基于Cursor开发SpringBoot项目详细攻略》Cursor是集成GPT4、Claude3.5等LLM的VSCode类AI编程工具,支持SpringBoot项目开发全流程,涵盖环境配... 目录cursor是什么?基于 Cursor 开发 Spring Boot 项目完整指南1. 环境准备2. 创建

MyBatis分页查询实战案例完整流程

《MyBatis分页查询实战案例完整流程》MyBatis是一个强大的Java持久层框架,支持自定义SQL和高级映射,本案例以员工工资信息管理为例,详细讲解如何在IDEA中使用MyBatis结合Page... 目录1. MyBATis框架简介2. 分页查询原理与应用场景2.1 分页查询的基本原理2.1.1 分

SpringBoot 多环境开发实战(从配置、管理与控制)

《SpringBoot多环境开发实战(从配置、管理与控制)》本文详解SpringBoot多环境配置,涵盖单文件YAML、多文件模式、MavenProfile分组及激活策略,通过优先级控制灵活切换环境... 目录一、多环境开发基础(单文件 YAML 版)(一)配置原理与优势(二)实操示例二、多环境开发多文件版