鸿蒙OS南向开发实战:【智能电子牌】

智能电子牌开发样例

样例简介

本Demo是基于hi3516dv300开发板,使用开源鸿蒙OpenHarmony 开发的应用。通过该应用不仅可以查看时间、日期以及对应的室内外温湿度、空气质量等,还可以查看当日的行程,让我们随时随地把握行程,不会遗漏任何重要的安排。

应用运行效果图

运行效果

左边栏显示的是实时时间以及当天天气相关的信息。

右边显示的是当天日期以及日程列表,日程包含了日程的名字,以及开始时间及日程的内容。

样例原理

原理示意图

如上图所示,当手机端创建日程后会将相关日程信息发送到云端,智能电子牌是通过HTTP协议主动从云端获取所有的日程信息。

工程版本
  • 系统版本/API版本:OpenHarmony 1.0.1 release
  • IDE版本:DevEco Device Tool Release 3.0.0.401

快速上手

准备硬件环境
  • 预装windows系统的PC机
  • Hi3516DV300 IoT Camera开发板套件
准备开发环境
开发环境安装配置参照文档:[DevEco Device Tool 环境搭建]docs.qq.com/doc/DUmN4VVhBd3NxdExK
准备工程

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

本用例采用DevEco Device Tool工具进行开发,当配置完开发环境后,我们可以在IDE上进行工程的配置下载。

  • 打开DevEco Device Tool,连接远程linux服务器:[DevEco Device Tool 环境搭建]
  • 点击左下角DevEco插件图标,然后点击左边框出现的主页,弹出主页界面,主页中选择新建项目,如下图:

main_config

  • 配置下载工程

config download

如上图所示,填写对应样例工程的名称,选择对应的样例组件和样例工程存放路径后,点击创建即可进行样例工程的下载。下载界面如下:

download

当右下角显示正在下载OpenHarmony镜像时,耐心等待下载完成即可。

download

准备工具链
  • 在Projects中,点击Settings按钮,进入配置工程界面。

  • 在toolchain页签中,DevEco Device Tool会自动检测依赖的编译工具链是否完备,如果提示部分工具缺失,可点击SetUp按钮,自动安装所需工具链。

  • 工具链自动安装完成后如下图所示。

工具链配置成功

编译

样例代码下载完成后,DevEco Device Tool会重新要求连接远程服务器,输入密码连接后会进入对应的代码编辑界面,此时点击左下角DevEco插件图标,选择PROJECT TASKS可以查看到对应的样例工程,点击build选项进行编译,并可在终端查看对应的编译结果。

build

固件生成在对应工程目录的out/hispark_taurus/electronic_board/目录下。

firm

烧录/安装

编译完成后可以通过DevEco Device Tool进行烧录,在烧录前需要做一些烧录的配置:

配置准备

在配置烧录前需要先查看DevEco Device Tool是否可以正常识别串口。

  • 点击左边栏"REMOTE DEVELOPMENT",找到 并点击” Local PC “ 选项。

  • 查看 Local PC右边图标

    如若图标为

    方型图标

    ,则代表DevEco Device Tool已连接本地,可以正常识别串口。

    如若图标为

    箭头图标

    ,则代表DevEco Device Tool未连接本地,不能识别串口,此时需要点击该绿色图标进行连接,连接成功后图标会变为

    方型图标

check local pc

  • 点击主页,在主页选择对应工程,点击配置工程进入到配置页面。

start config project

配置串口

配置页面选择的板级配置页面,在该页面查找到烧录选项,配置烧录选项中的upload_port和upload_protocol,upload_port选择开发板对应的串口号,upload_protocol选择hiburn-usb,最后点击右上角的保存按钮进行保存。

config searail

烧录
  • 当配置完串口以及固件后,直接点击左边栏工程管理中的upload即可启动烧录。

burn

  • 在终端窗口显示如下蓝色提示信息时,在终端按下任意键继续烧录。

continueburn

  • 在终端窗口显示如下提示信息时,按住复位键,插拔USB线,最后松开复位键启动烧录。

startburn

  • 启动烧录后,界面提示如下信息时,表示烧录成功。

burnseccess

设备启动

如果是第一次烧录程序的话,单板在启动的时候需要设置bootargs,否则不能正常启动。单板第一次启动会停在hisilicon界面:

set bootargs

我们需要输入以下指令即可。

setenv bootcmd "mmc read 0x0 0x80000000 0x800 0x4800; go 0x80000000"; setenv bootargs "console=ttyAMA0,115200n8 root=emmc fstype=vfat rootaddr=10M rootsize=20M rw"; saveenv reset

打包应用

本Demo是以安装包的形式安装到系统中启动运行的。因此,在安装应用前,需要将应用打包成安装包。

将编译好的libelectrBoard.so文件与工程目录下的res以及config.json文件通过压缩打包成zip格式(三个文件直接压缩,不能压缩文件夹),并将后缀名改为hap(electrBoard.hap)。

make hap

挂载NFS

应用打包后,我们是通过NFS方式将单板挂载到本地,通过相关的指令来安装的

mount nfs

安装

通过nfs是单板连接到本地电脑后,我们可以通过bm安装指令进行安装。bm 安装工具在系统编译完后会自动生成,路径在:

out/hispark_taurus/electronic_board/dev_tools/bin/

bm

由于bm默认安装的应用为已经签名的应用,所以我们在安装前需要先将签名去掉。

bm set -s disable // 去签名 bm install -p filename // 安装应用filename, filename需要指定路径

bm install

安装完后桌面会显示对应应用的ICON,直接点击ICON即可以启动电子牌应用。

image-20211021102146214

操作体验

大屏6

  • 设备启动后,桌面会有setting,camera,gallery以及electrboard等应用图标显示。其中setting,camera,gallery为系统应用。
  • 因为电子牌应用是通过网络获取时间以及天气信息,所以使用电子牌前需要先通过setting来配置网络。
  • 网络配置成功后点击桌面electrboard,电子牌应用即启动成功。此时通过电子牌可以查看到当前时间,天气以及对应当天的日程安排。

鸿蒙开发岗位需要掌握那些核心要领?

目前还有很多小伙伴不知道要学习哪些鸿蒙技术?不知道重点掌握哪些?为了避免学习时频繁踩坑,最终浪费大量时间的。

自己学习时必须要有一份实用的鸿蒙(Harmony NEXT)资料非常有必要。 这里我推荐,根据鸿蒙开发官网梳理与华为内部人员的分享总结出的开发文档。内容包含了:【ArkTS、ArkUI、Stage模型、多端部署、分布式应用开发、音频、视频、WebGL、OpenHarmony多媒体技术、Napi组件、OpenHarmony内核、Harmony南向开发、鸿蒙项目实战】等技术知识点。

废话就不多说了,接下来好好看下这份资料。

如果你是一名Android、Java、前端等等开发人员,想要转入鸿蒙方向发展。可以直接领取这份资料辅助你的学习鸿蒙OpenHarmony知识←前往。下面是鸿蒙开发的学习路线图。

针对鸿蒙成长路线打造的鸿蒙学习文档。鸿蒙(OpenHarmony )学习手册(共计1236页)与鸿蒙(OpenHarmony )开发入门教学视频,帮助大家在技术的道路上更进一步。

其中内容包含:

《鸿蒙开发基础》鸿蒙OpenHarmony知识←前往

  1. ArkTS语言
  2. 安装DevEco Studio
  3. 运用你的第一个ArkTS应用
  4. ArkUI声明式UI开发
  5. .……

《鸿蒙开发进阶》鸿蒙OpenHarmony知识←前往

  1. Stage模型入门
  2. 网络管理
  3. 数据管理
  4. 电话服务
  5. 分布式应用开发
  6. 通知与窗口管理
  7. 多媒体技术
  8. 安全技能
  9. 任务管理
  10. WebGL
  11. 国际化开发
  12. 应用测试
  13. DFX面向未来设计
  14. 鸿蒙系统移植和裁剪定制
  15. ……

《鸿蒙开发实战》鸿蒙OpenHarmony知识←前往

  1. ArkTS实践
  2. UIAbility应用
  3. 网络案例
  4. ……

最后

鸿蒙是完全具备无与伦比的机遇和潜力的;预计到年底将有 5,000 款的应用完成原生鸿蒙开发,这么多的应用需要开发,也就意味着需要有更多的鸿蒙人才。鸿蒙开发工程师也将会迎来爆发式的增长,学习鸿蒙势在必行!

相关推荐

最近更新

  1. TCP协议是安全的吗?

    2024-04-13 03:32:01       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-04-13 03:32:01       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-04-13 03:32:01       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-04-13 03:32:01       20 阅读

热门阅读

  1. 什么是H5应用加固?

    2024-04-13 03:32:01       16 阅读
  2. 【2024】将二进制的node_exporter包制作成rpm包

    2024-04-13 03:32:01       17 阅读
  3. 学习笔记-微服务基础(黑马程序员)

    2024-04-13 03:32:01       16 阅读
  4. ORACAL执行计划

    2024-04-13 03:32:01       11 阅读
  5. 在vue3中使用pinia

    2024-04-13 03:32:01       13 阅读
  6. 正则表达式|*+?

    2024-04-13 03:32:01       32 阅读
  7. 深入理解 Golang 中 New() 和 make() 的区别

    2024-04-13 03:32:01       17 阅读
  8. 构建高效运维平台与数据中心可视化方案

    2024-04-13 03:32:01       14 阅读
  9. <网络安全>《72 微课堂<什么是靶场?>》

    2024-04-13 03:32:01       17 阅读
  10. Anaconda的常用指令

    2024-04-13 03:32:01       15 阅读
  11. 桶排序:原理、实现与应用场景详解

    2024-04-13 03:32:01       14 阅读
  12. LeetCode 1. Two Sum

    2024-04-13 03:32:01       14 阅读