HarmonyOS开发实例:【数字管家app】
样例简介
数字管家场景需要手机端、设备端和服务端三方协同完成,本文档介绍的demo是数字管家大场景中的手机端应用;用户注册登录后可创建我的家庭并管理家庭成员;可以添加设备(包括智能台灯,智能窗帘,智能养花机等)并进行配网和控制;添加日程编排、控制设备,从而达到多设备联动的效果;除了控制类设备外,告警类设备还可以检测环境状态,并主动将告警消息通知到家庭成员;
运行效果
应用安装成功后效果如下:

样例原理

如上图,本demo是数字管家大场景中的数据管家应用,主要的作用是对设备进行控制,和日程编排,并更新设备状态;
工程版本
-
系统版本/API版本:HarmonyOS Legacy SDK API 7
-
IDE版本:DevEco Studio 3.0 Beta2
注:HarmonyOS是华为基于开源项目OpenHarmony开发的面向多种全场景智能设备的商用版本。
快速上手
准备硬件环境
-
搭载HarmonyOS系统的手机,确保HarmonyOS 手机中api version 在 API 6以上;
-
查看HarmonyOS手机API方法:在HarmonyOS SDK存储目录下的Sdk\toolchains文件下打开命令行工具,执行如下命令进行查询真机设备的apiversion;
-
HarmonyOS SDK存储目录可通过DevEco Studio中点击File->setting->SDM Manager->HarmonyOS Legacy SDK;
-
命令如下:
hdc shell getprop hw_sc.build.os.apiversion // 返回数值是6或者6以上
准备开发环境
- 准备HarmonyOS应用的开发环境,请参考 [搭建开发环境流程]
gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md - 准备好已实名认证的开发者联盟账号;
- 开发工具:DevEco Studio 3.0 Beta1 及以上,SDK 请配置 API Version 6 2.2.0.3 版本以上
- 打开手机设置 > 应用和服务 > 应用管理 (点击右上角图标,点击显示系统程序选项),搜索“智慧生活基础服务”,检测智慧生活基础服务的版本是否为12.0.2.306及以上。如果不是,请打开华为手机的“智慧生活”APP,点击“我的 > 设置 > 检查应用更新”,更新“智慧生活基础服务”。
准备工程

配置git
-
提前注册准备码云gitee账号。
-
git工具下载安装
鸿蒙开发文档知识更新在:mau123789是v可以直接拿取 sudo apt install git sudo apt install git-lfs -
配置git用户信息
git config --global user.name "yourname" git config --global user.email "your-email-address" git config --global credential.helper store
git下载
git clone https://gitee.com/openharmony-sig/knowledge_demo_smart_home.git --depth=1
工程导入
-
DevEco Studio导入本工程;
打开DevEco Studio,点击File->Open->下载路径/FA/DistSchedule


-
并将下列文件bundleName由com.example.distschedule修改为自己申请的包名
./netconfig/src/main/js/default/pages/index/index.js ./entry/src/config.json ./netconfig/src/main/config.json
编译
-
准备项目签名文件,并配置签名信息
-
配置多hap包模式,本样例包括一个entry模块,和netconfig模块;


-
点击Build->Build Hap(s)/APP(s) 编译,编译成功生成entry-debug-rich-signed.hap


烧录/安装
-
在Phone中,打开“开发者模式”,可在设置 > 关于手机中,连续多次点击“版本号”,直到提示“您正处于开发者模式”即可。
-
然后在设置的系统与更新 > 开发人员选项中,打开“USB调试”开关。
-
使用USB方式,将Phone与PC端进行连接,USB连接方式选择“传输文件”,会弹出“是否允许USB调试”的弹框,点击确定。


-
识别到phone后点击
,或使用默认快捷键Shift+F10(macOS为Control+R)运行应用。

操作体验
设备配网
-
给应用配置配置智慧服务意图,
-
提前准备好智能设备端,且让设备端进入配网模式;
-
打开手机NFC功能,打开应用并登陆账号,手机碰一碰智能设备,等待拉起配网页面后开始给设备端配网;
-
在设备端配网成功后,进入设备控制页可控制设备开关机等;

相关文章:
HarmonyOS开发实例:【数字管家app】
样例简介 数字管家场景需要手机端、设备端和服务端三方协同完成,本文档介绍的demo是数字管家大场景中的手机端应用;用户注册登录后可创建我的家庭并管理家庭成员;可以添加设备(包括智能台灯,智能窗帘,智能…...
人工智能_大模型033_LangChain003_记忆封装Memory上下文控制机制_LCEL表达式语言---人工智能工作笔记0168
## 三、记忆封装:Memory ### 3.1、对话上下文:ConversationBufferMemory from langchain.memory import ConversationBufferMemory, ConversationBufferWindowMemoryhistory = ConversationBufferMemory() history.save_context({"input": "你好啊"}…...
持安科技与顺丰正式签约!共建零信任应用安全最佳实践
近日,北京持安科技有限公司与顺丰科技有限公司基于零信任“应用数据网关产品”签署了合作协议,持安科技创始人兼CEO何艺、顺丰科技底盘领域负责人刘潭仁出席活动并签署协议。 根据协议,双方将基于持安科技的零信任应用数据网关产品展开合作与…...
Elasticsearch分布式搜索
实用篇-ES-环境搭建 ES是elasticsearch的简称。我在SpringBoot学习 数据层解决方案 的时候,写过一次ES笔记,可以结合一起看一下。 之前在SpringBoot里面写的相关ES笔记是基于Windows的,现在我们是基于docker容器来使用,需要你们提…...
【Unity 实用工具篇】 | UIEffect 实现一系列UGUI特效,灰度、负片、像素化特效
前言 【Unity 实用工具篇】 | UIEffect 实现一系列UGUI特效,灰度、负片、像素化特效一、UGUI特效插件:UIEffect1.1 介绍1.2 效果展示1.3 使用说明及下载 二、组件属性面板三、代码操作组件四、组件常用方法示例4.1 使用灰度特效做头像(关卡)选择 总结 前…...
ECMA进阶1之从0~1搭建react同构体系项目1
ECMA进阶 ES6项目实战前期介绍SSRpnpm 包管理工具package.json 项目搭建初始化配置引入encode-fe-lint 基础环境的配置修改package.jsonbabel相关tsconfig相关postcss相关补充scripts脚本webpack配置base.config.tsclient.config.tsserver.config.ts src环境server端࿱…...
【回溯】Leetcode 22. 括号生成【中等】
括号生成 数字 n 代表生成括号的对数,请你设计一个函数,用于能够生成所有可能的并且 有效的 括号组合。 示例 1: 输入:n 3 输出:[“((()))”,“(()())”,“(())()”,“()(())”,“()()()”] 解题思路 1、使用回溯…...
Java生成带数字的图片
Java生成带数字的图片示例 在Java中,你可以使用java.awt和javax.imageio等图形库来生成带有数字的图片。下面是一个简单的示例代码,展示了如何创建并保存一张带有数字的图片。 示例代码 import javax.imageio.ImageIO; import java.awt.*; import…...
FreeSWITCH 1.10.10 简单图形化界面17 - ubuntu22.04或者debian12 安装FreeSWITCH(IamFree)
FreeSWITCH 1.10.10 简单图形化界面17 - ubuntu22.04或者debian12 安装FreeSWITCH 界面预览00、先看使用手册0、安装操作系统1、下载脚本2、开始安装3、登录网页 FreeSWITCH界面安装参考:https://blog.csdn.net/jia198810/article/details/132479324 界面预览 htt…...
【数据结构】06图
图 1. 定义1.1 无向图和有向图1.2 度、入度和出度1.3 图的若干定义1.4 几种特殊的图 2. 图的存储2.1 邻接矩阵-顺序存储(数组)2.2 邻接表-顺序存储链式存储(数组链表)2.3 十字链表-适用于有向图2.4 邻接多重表-适用于无向图 3. 图…...
Flink作业 taskmanager.numberOfTaskSlots 这个参数有哪几种设置方式
Flink作业 taskmanager.numberOfTaskSlots 这个参数有哪几种设置方式 taskmanager.numberOfTaskSlots 参数用于设置每个TaskManager上的任务槽(task slot)数量,决定了TaskManager可以并行执行的任务数量。这个参数可以通过多种方式进行设置。…...
京东详情比价接口优惠券(2)
京东详情API接口在电子商务中的应用与作用性体现在多个方面,对于电商平台、商家以及用户都带来了显著的价值。 首先,从应用的角度来看,京东详情API接口为开发者提供了一整套丰富的功能和工具,使他们能够轻松地与京东平台进行交互。…...
Python knn算法
KNN(K-Nearest Neighbors)算法,即K最近邻算法,是一种基本且广泛使用的分类和回归方法。在分类问题中,KNN通过查找一个样本点的K个最近邻居,然后根据这些邻居的类别通过多数投票或加权投票来预测该样本点的类…...
[大模型]Langchain-Chatchat安装和使用
项目地址: https://github.com/chatchat-space/Langchain-Chatchat 快速上手 1. 环境配置 首先,确保你的机器安装了 Python 3.8 - 3.11 (我们强烈推荐使用 Python3.11)。 $ python --version Python 3.11.7接着,创建一个虚拟环境ÿ…...
K8S之资源管理
关于资源管理,我们会从计算机资源管理(Computer Resources)、服务质量管理(Qos)、资源配额管理(LimitRange、ResourceQuota)等方面来进行说明 Kubernetes集群里的节点提供的资源主要是计算机资源…...
Grok-1.5 Vision:X AI发布突破性的多模态AI模型,超越GPT 4V
在人工智能领域,多模态模型的发展一直是科技巨头们竞争的焦点。 近日,马斯克旗下的X AI公司发布了其最新的多模态模型——Grok-1.5 Vision(简称Grok-1.5V),这一模型在处理文本和视觉信息方面展现出了卓越的能力&#x…...
【御控物联】Java JSON结构转换(1):对象To对象——键值互换
文章目录 一、JSON是什么?二、JSON结构转换是什么?三、核心构件之转换映射四、案例之《JSON对象 To JSON对象》五、代码实现六、在线转换工具七、技术资料 一、JSON是什么? Json(JavaScript Object Notation)产生于20…...
【学习笔记】rt-thread
任务 创建好任务,不管是动态还是静态创建,任务的状态是init ,通过start方法来启动任务;线程大小 设置小了,无法正常工作?显示占空间100% 启动过程 TODO 这是编译器特性? 因为RT-Thread使用编…...
一文掌握 React 开发中的 JavaScript 基础知识
前端开发中JavaScript是基石。在 React 开发中掌握掌握基础的 JavaScript 方法将有助于编写出更加高效、可维护的 React 应用程序。 在 React 开发中使用 ES6 语法可以带来更简洁、可读性更强、功能更丰富,以及更好性能和社区支持等诸多好处。这有助于提高开发效率,并构建出更…...
读天才与算法:人脑与AI的数学思维笔记01_洛夫莱斯测试
1. 创造力 1.1. 创造力是一种原动力,它驱使人们产生新的、令人惊讶的、有价值的想法,并积极地将这些想法付诸实践 1.2. 创造出在表面上看似新的东西相对容易 1.3. 在遇到偶然间的创造性行为时,都会表现得异…...
VMware macOS解锁工具:普通PC上运行苹果系统的终极解决方案
VMware macOS解锁工具:普通PC上运行苹果系统的终极解决方案 【免费下载链接】unlocker VMware macOS utilities 项目地址: https://gitcode.com/gh_mirrors/unl/unlocker macOS Unlocker V4是一款专为VMware Workstation和Player设计的实用工具,它…...
【ZYNQ Linux实战】Petalinux构建u-boot时Task失败:从‘exit code 1’到编译环境深度排查
1. 问题来了:那个令人头疼的“exit code 1” 大家好,我是老李,在嵌入式Linux和ZYNQ这块摸爬滚打十来年了。今天想跟大家聊聊一个几乎所有玩Petalinux的朋友都可能会踩的坑:辛辛苦苦配好了环境,准备构建u-bootÿ…...
三、FastAPI实战:从POST接口设计到自动化测试脚本的完整闭环
1. 从零开始:为什么需要一个完整的“开发-测试”闭环? 你好,我是老张,一个在前后端领域摸爬滚打了十多年的老码农。不知道你有没有过这样的经历:吭哧吭哧写好了后端接口,信心满满地交给前端或者测试同学&am…...
Windows环境一站式搭建:SonarQube与Sonar-Scanner实战配置指南
1. 为什么你的团队需要一个代码“体检中心”? 大家好,我是老张,在软件行业摸爬滚打了十几年,带过不少技术团队。我见过太多项目,初期代码写得飞快,但到了中后期,技术债就像滚雪球一样越滚越大。…...
Hunyuan-MT Pro快速上手:Streamlit缓存机制加速重复翻译响应(Cache层详解)
Hunyuan-MT Pro快速上手:Streamlit缓存机制加速重复翻译响应(Cache层详解) 1. 项目概述:现代化翻译终端 Hunyuan-MT Pro是一个基于腾讯混元开源模型构建的现代化翻译Web终端。它将Streamlit的便捷交互界面与混元模型强大的多语言…...
Python itertools模块详细教程
Python itertools模块详细教程 1. 模块简介 itertools模块是Python标准库中的一个重要模块,提供了一系列快速、节省内存的迭代器函数。这些函数受到APL、Haskell和SML等函数式编程语言的启发,用于创建各种类型的迭代器,帮助开发者更高效地处…...
Stable-Diffusion-V1-5 辅助工业设计:生成产品概念草图与外观方案
Stable-Diffusion-V1-5 辅助工业设计:生成产品概念草图与外观方案 1. 引言 你有没有过这样的经历?面对一个全新的产品设计任务,脑子里想法很多,但要把它们画出来,却感觉无从下笔。一张白纸,一支笔&#x…...
Qwen3-0.6B-FP8极速部署教程:Windows/Linux/macOS三端兼容方案
Qwen3-0.6B-FP8极速部署教程:Windows/Linux/macOS三端兼容方案 想在自己的电脑上跑一个大模型,但又担心配置不够、速度太慢?今天给大家介绍一个“小钢炮”级别的AI对话工具——基于Qwen3-0.6B-FP8模型的极速对话工具。它只有6亿参数…...
Lite-Avatar形象库与Typora集成:技术文档自动化生成
Lite-Avatar形象库与Typora集成:技术文档自动化生成 1. 引言 技术文档编写一直是开发过程中的痛点。传统的文档编写方式需要手动整理代码、截图、说明文字,不仅耗时耗力,还容易出错。特别是当项目更新时,文档往往滞后于代码&…...
实战指南:MinerU与Dify强强联合,高效解析复杂PDF文档
1. 为什么你的PDF解析总是不准?试试这个组合拳 不知道你有没有遇到过这种情况:好不容易把一个几十页的PDF文档上传到你的AI应用里,满心期待它能帮你总结、分析或者回答问题,结果它给出的答案要么是“找不到相关信息”,…...
