OpenHarmony鸿蒙开发( Beta5.0)智能手表应用开发实践

news2024/9/23 19:18:04

样例简介

本项目是基于BearPi套件开发的智能儿童手表系统,该系统通过与GSM模块(型号:SIM808)的通信来实现通话和定位功能。 智能儿童手表系统可以通过云和手机建立连接,同步时间和获取天气信息,通过手机下达日程安排到儿童手表,并显示在儿童手表的屏幕端,还可以通过SIM808模块获取地理位置信息,接收和拨打电话等功能。

运行效果

当设备启动之后,操作效果如下:

样例原理

原理示意图

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

快速上手

准备硬件环境
  • BearPi-HM Nano套件一套

  • 预装HarmonyOS手机一台

    注:HarmonyOS是华为基于开源项目OpenHarmony开发的面向多种全场景智能设备的商用版本

准备开发环境

开发环境安装配置参照文档:DevEco Device Tool 环境搭建

准备工程

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

  • 打开DevEco Device Tool,连接远程linux服务器:DevEco Device Tool 环境搭建

  • 点击左下角DevEco插件图标,然后点击左边框出现的主页,弹出主页界面,主页中选择新建项目,如下图:

main_config

  • 配置下载工程

config && download

如上图所示,点击OpenHarmony源码下的搜索框,设置工程名称后,点击确定即可进行样例工程的下载。搜索框下载操作如下: 

download

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

download

代码修改

样例代码下载完成后,DevEco Device Tool会重新要求连接远程服务器,输入密码连接后会进入对应的代码编辑界面,

由于3861的task数量有限,需要屏蔽掉一些任务:

在文件夹device/bearpi/bearpi_hm_nano/sdk_liteos/build/config/usr_config.mk内屏蔽掉AT相关的任务。 #CONFIG_AT_SUPPORT=y

在文件vendor/team_x/common/iot_boardled/iot_boardled.c屏蔽掉灯的任务。

// g_ledFlashController.taskID = osThreadNew((osThreadFunc_t)LedTaskEntry, NULL, (const osThreadAttr_t *)&attr);

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

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

  • 如果出现安装pip组件失败,可参考修改Python源的方法进行修改,完成尝试重新安装。

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

    工具链配置成功

编译

点击左下角DevEco插件图标,选择PROJECT TASKS可以查看到对应的样例工程,点击build选项进行编译,并可在终端查看对应的编译结果。

build ok

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

烧录/安装

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

配置准备

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

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

  • 查看 Local PC右边图标

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

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

check local pc

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

config project

配置串口

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

config serail port

烧录

当配置完串口以及固件后,直接点击左边栏工程管理中的upload即可,此时下方终端会出现对应烧录的信息,当终端出现BootromDownloadBoot字样,按下开发板的 “RESET” 键复位开发板即可。

burn

操作准备

硬件调整

把E53板上的接口2与主板断开,此管脚复用为跑步计数器的中断引脚,会影响F2按键功能。把E53板上的拨档开关置为OFF,打开串口的TX(IO06)功能。具体见下图:

串口线连接

小熊派板卡与SIM808串口线连接方法如下:

串口小熊派端SIM808通信模块
GNDGNDGND(J6接口)
TXUART_TX(IO06)RXD(J6接口)
RXUART_RX(IO05)TXD(J6接口)

具体实物图如下:

电源和天线连接

安装电源线和天线,最后的总的线材连接如下图:

操作体验

开发板上电

在小熊派开发板和SIM808模块都连接上电源后,先按小熊派复位按钮,启动小熊派开发板。然后再按SIM808模块的电源波动开关,然后按SIM808模块的POWER按键3秒以上。具体如下:

设备配网
  • 在设备上电前需准备好安装了数字管家应用的HarmonyOS手机,详情见数字管家应用开发, 并在设置中开启手机的NFC功能;

  • 写设备NFC标签,详细操作见设备NFC标签指导文档;

  • 烧录完成后,上电。开发者在观察开发板上状态LED灯以8Hz的频率闪烁时,将手机上半部靠近开发板NFC标签处;

  • 无需任何操作手机将自动拉起数字管家应用并进入配网状态,配网过程中无需输入热点账号密码。 具体无感配网相关流程参考 无感配网指南

​ 无感配网操作如下图所示

配网成功后,设备端LCD进入主页面显示,儿童手表会连接IOT云端服务器,注册成功后手机端显示如下:

 

设备端LCD会点亮屏幕并进入显示主页面。

设置联系人和拨打电话

手机端设置紧急联系人电话号码:在手机端的儿童手表详情页,点击紧急联系人菜单的【+】,具体如下图:

设置需要拨打的电话号码,暂时支持设置两个电话号码:

​ 第一个电话号码:father:18688888888

​ 第二个电话号码:mother:18689999999

具体操作如下:

删除联系人的操作跟上面的步骤类似,在紧急联系人选项列表中选择【-】操作,不做过多赘述。

手机端设置完电话号码后,然后短按手表端的F2按键,进入拨打号码界面,具体如下:

长按儿童手表的F2按键3秒以上,进入电话簿界面,然后再短按F2按键可选择联系人,最后长按F2按键保存并退出,下次再次短按F2按键就拨打上次选择的号码。具体如下图:

 

接电话

若有电话打入,设备端会进入来电显示界面,可以短按F2接听,然后再次短按F2可挂断电话。来电界面如下:

GPS地理位置上报

GPS位置上报。若设备端与SIM808模块通过串口已连接,上电后会设备会控制SIM808通过命令打开GPS的POWER,然后查询GPS信息,由于此模块属于2G信号,反应比较慢,需要等待2分钟左右,模块需要放置在室外比较空旷的位置才能获取到位置信息。获取到的地理位置显示在手机端的儿童手表详情页界面,具体如下:

日程安排设置

在手机端的“日程”界面,选择右上角的“+”按钮。弹出“新增日程”菜单项,如下图:

写入日程名称,例如“起床”,现可选择【起床,吃饭,睡觉,吃药,喝水,写作业】,如下图:

【通知成员】选项选择需要通知的设备,如下图:

【相关设备】选项选择需要操作的设备,如下图:

开始时间和结束时间选择需要通知的时间,如下图:

提醒方式可选择需要周几提醒,如下图:

最后选择【√】下发日程到设备端。然后等待时间到,设备端提示相关信息。

最后

小编在之前的鸿蒙系统扫盲中,有很多朋友给我留言,不同的角度的问了一些问题,我明显感觉到一点,那就是许多人参与鸿蒙开发,但是又不知道从哪里下手,因为体系杂乱无章,教授的人也多,无从选择。有很多小伙伴不知道学习哪些鸿蒙开发技术?不知道需要重点掌握哪些鸿蒙应用开发知识点?而且学习时频繁踩坑,最终浪费大量时间。所以有一份实用的鸿蒙(HarmonyOS NEXT)文档用来跟着学习是非常有必要的。 

为了确保高效学习,建议规划清晰的学习路线,涵盖以下关键阶段:

希望这一份鸿蒙学习文档能够给大家带来帮助~

GitCode - 全球开发者的开源社区,开源代码托管平台


 鸿蒙(HarmonyOS NEXT)最新学习路线

该路线图包含基础技能、就业必备技能、多媒体技术、六大电商APP、进阶高级技能、实战就业级设备开发,不仅补充了华为官网未涉及的解决方案

路线图适合人群:

IT开发人员:想要拓展职业边界
零基础小白:鸿蒙爱好者,希望从0到1学习,增加一项技能。
技术提升/进阶跳槽:发展瓶颈期,提升职场竞争力,快速掌握鸿蒙技术

2.视频教程+学习PDF文档

(鸿蒙语法ArkTS、TypeScript、ArkUI教程……)

 纯血版鸿蒙全套学习文档(面试、文档、全套视频等)

                   

鸿蒙APP开发必备

​​

总结

参与鸿蒙开发,你要先认清适合你的方向,如果是想从事鸿蒙应用开发方向的话,可以参考本文的学习路径,简单来说就是:为了确保高效学习,建议规划清晰的学习路线

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2110826.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Qt/C++开源项目 TCP客户端调试助手(源码分享+发布链接下载)

这是一个TCP客户端调试助手,具有简洁直观的界面,用户能够方便地测试TCP协议的通信功能,并可同时作为客户端与服务器端使用。以下是该程序的功能特点及用途介绍: 功能特点: TCP客户端与服务器调试:支持同时…

C++11 --- 可变参数模板

序言 不知道大家有没有细细研究过在 C 语言 中的 printf 函数,也许我们经常使用他,但是我们可能并不是那么了解他。先看一下调用格式:int printf ( const char * format, ... );,在这里的 format 代表我们的输出格式,后…

若依库存管理 ruoyi-wms V2.0发布:升级到jdk17和vue3,支持一物一码

开源地址 https://gitee.com/zccbbg/wms-ruoyi 项目代码、文档 均开源免费可商用 遵循开源协议在项目中保留开源协议文件即可 活到老写到老 为兴趣而开源 为学习而开源 为让大家真正可以学到技术而开源 若依wms是一套基于若依的wms仓库管理系统,支持lodop和网页…

Windows环境虚拟机安装

一、软件安装 1. vmware官网地址 点进去选这个products 然后往下滑选这个查看桌面虚拟机管理程序 然后点击这个桌面虚拟机管理程序 然后下拉找到download now下载 然后会跳转到broadcom网站,选择注册账号,这里我是使用谷歌邮箱注册的 注册完之后点击这个链接&…

【LeetCode】07.整数反转

题目要求 解题思路 这道题的难点在于怎么判断越界,我们无法直接与最大值或最小值比较,但是由于每一次我们的ret都需要乘10这个特性来使用ret与最大值或最小值除10进行比较 代码实现 class Solution { public:int reverse(int x) {int ret0;while(x){…

JS生成二维码QRCode代码

JavaScript是一种广泛使用的前端编程语言,它不仅用于网页交互,还可以实现许多实用功能,如生成二维码。本篇文章将深入探讨如何使用JavaScript生成二维码,以及如何确保这种生成的二维码在各种浏览器和手机端都能正常工作&#xff0…

C语言-程序环境 #预处理 #编译 #汇编 #链接 #执行环境

文章目录 前言 一、程序的环境翻译和执行环境 二、翻译环境 (一)、整体把握 (一)、编译 1、预处理(预编译) 2、编译 a、词法分析 b、语法分析 c、语义分析 d、符号汇总 3、汇编 (二)、链接 三、运行环境 总结​​​​​​​ 前言 路漫漫其修远兮,吾将…

波导模式分析2 用于圆TE01模式高功率传输线的大型多模波导滤波器

摘要: 一种对于大型多模波导滤波器的设计方法,其能衰减掉(deteriorate)不想要的模式而不影响所需要的工作模式,被提出来抑制用于圆TE01模式高功率传输线的受限模式谐振。为了从TE10模式中分离出不期望的模式&#xff…

【蓝桥杯嵌入式(二)Led、Key、Lcd】

蓝桥杯嵌入式(二)Led、Key、Lcd 五、Led模块1.原理图配置2. 知识点3.底层代码 六、Key模块1.原理图配置2.知识点3.底层代码底层代码(四⾏代码版本)底层代码(状态机版本) 七、LCD模块1.原理图配置2.知识点底…

文章改写工具,帮你进行文章修改润色提升文章质量

在文字的世界里,每一篇文章都是创作者心灵的结晶。然而,即使是经验丰富的作家,也难免会在创作过程中遇到表达上的瓶颈。此时,文章改写工具便显得尤为重要,它以其独特的功能,对文章进行精准的修改与润色&…

机器学习算法那些事 | Plotly Express:一种简洁且强大的可视化神器

本文来源公众号“机器学习算法那些事”,仅用于学术分享,侵权删,干货满满。 原文链接:Plotly Express:一种简洁且强大的可视化神器 Plotly Express 是 Python 交互式库 Plotly 的高级组件,受 Seaborn 和 g…

全国机器人大赛 Robocon 常州工学院团队首战国三

全国机器人大赛 Robocon 常州工学院团队首战国三 通宵7天7夜,常州工学院RC团队,首次闯入全国机器人大赛国赛,并成功得分! 不同于老牌强队,常州工学院(下面用"常工"代替)的这只队伍&…

Java题集(由入门到精通)03

此系列文章收录大量Java经典代码题(也可以算是leetcode刷题指南),希望可以与大家一起努力学好Java。3、2、1,请看! 目录 1.创建学生成绩表 2.冒泡排序 3.模拟彩票中奖 4.杨辉三角 1.创建学生成绩表 输入n个学生的…

【学习笔记】SSL证书安全机制之证书撤销

前言:以往提到过,钓鱼网站会仿冒我们,如果我们的私钥泄露了,如果被不法分子得到了私钥,他们就能假装是我们网站。那现在,我们要做的是生成新私钥并申请新证书。问题来了,旧的证书亦然存在且有效…

胶条的回弹状态检测 仅需一台回弹测试仪

胶条的回弹状态检测之所以重要,主要基于以下几个方面的考虑: 一、保证产品功能性和密封性 密封效果:胶条作为密封元件,其回弹性能直接关系到密封效果的好坏。 耐久性:如果回弹性能不佳,容易出现永久性变形&…

8个txt自动化脚本,一定有你用得上的!Python如何读取txt文件数据!

这次和大家分享txt办公自动化,包括读取、对比、过滤、合并、转换格式、提取数据、统计词频、生成报告等。 分享一份Python学习大礼包(激活码安装包、Python web开发,Python爬虫,Python数据分析,人工智能、自动化办公等…

GAMES101(0~1作业)

搭建虚拟机环境 安装Oracle VM VirtualBox虚拟机,安装虚拟硬盘,配置Linux Ubuntu-64 bit系统,启动虚拟机,发生冲突错误: 将Vmware虚拟设备取消挂起状态,关机确保 Hyper-V 完全关闭:bcdedit /se…

Pandas DataFrame的多级列索引导出到Excel时,如何避免空白行和列

我想将multi-header数据框保存为Excel文件。以下是示例代码: import pandas as pd import numpy as npheader pd.MultiIndex.from_product([[location1,location2],[S1,S2,S3]],names[loc,S])df pd.DataFrame(np.random.randn(5, 6), index[a,b,c,d,e], columnsh…

Python 中的 11 种经典时间序列预测方法(备忘单)

摘要: 本文演示了 11 种不同的经典时间序列预测方法,这些方法包括: 自回归(AR) 移动平均线 (MA) 自回归移动平均线 (ARMA) 自回归综合移动平均线 (ARIMA) 季节性自回归综合移动平均线 (SARIMA) 季节性自回归综合移动平均线与外生回归量... 本文演示了 11 种不同的经典时间序…

sheng的学习笔记-AI-半监督聚类

AI目录:sheng的学习笔记-AI目录-CSDN博客 半监督学习:sheng的学习笔记-AI-半监督学习-CSDN博客 聚类:sheng的学习笔记-AI-聚类(Clustering)-CSDN博客 均值算法:sheng的学习笔记-AI-K均值算法_k均值算法怎么算迭代两次后的最大…