## 数字管家应用开发样例 ### 样例简介 数字管家场景需要手机端、设备端和服务端三方协同完成,本文档介绍的demo是数字管家大场景中的手机端应用;用户注册登录后可创建我的家庭并管理家庭成员;可以添加设备(包括智能台灯,智能窗帘,智能养花机等)并进行配网和控制;添加日程编排、控制设备,从而达到多设备联动的效果;除了控制类设备外,告警类设备还可以检测环境状态,并主动将告警消息通知到家庭成员; #### 运行效果 应用安装成功后效果如下:  ![运行效果图](./media/run.gif) #### 样例原理 ![原理图](./media/interaction.png) 如上图,本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应用的开发环境,请参考 [搭建开发环境流程]( https://developer.harmonyos.com/cn/docs/documentation/doc-guides/installation_process-0000001071425528 ); - 准备好已实名认证的开发者联盟账号 ,具体 [实名认证](https://developer.huawei.com/consumer/cn/doc/start/itrna-0000001076878172); - 开发工具:DevEco Studio 3.0 Beta1 及以上,SDK 请配置 API Version 6 2.2.0.3 版本以上,具体 [DevEcoStudio下载](https://developer.harmonyos.com/cn/develop/deveco-studio#download/) - 打开手机**设置 > 应用和服务 > 应用管理** (点击右上角图标,点击显示系统程序选项),搜索“智慧生活基础服务”,检测智慧生活基础服务的版本是否为12.0.2.306及以上。如果不是,请打开华为手机的“智慧生活”APP,点击“**我的 > 设置 > 检查应用更新**”,更新“智慧生活基础服务”。 #### 准备工程 ##### 配置git - 提前注册准备码云gitee账号。 - git工具下载安装 ``` 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 ![打开工程](./media/open_project.png)![导入工程](./media/import_project.png) - 并将下列文件bundleName由com.example.distschedule修改为自己申请的包名 ``` ./netconfig/src/main/js/default/pages/index/index.js ./entry/src/config.json ./netconfig/src/main/config.json ``` #### 编译 - 准备项目签名文件,并配置签名信息,请参考 [申请发布证书和Profile文件/配置签名信息](https://developer.harmonyos.com/cn/docs/documentation/doc-guides/publish_app-0000001053223745#section178461193713) - 配置多hap包模式,本样例包括一个entry模块,和netconfig模块; ![配置](./media/config_hap.png)![多模块](./media/multi_hap.png) - 点击Build->Build Hap/APPs 编译,编译成功生成entry-debug-rich-signed.hap ![编译](./media/build_hap.png)![编译完成](./media/build_complete.png) #### 烧录/安装 - 在Phone中,打开“开发者模式”,可在设置 > 关于手机中,连续多次点击“版本号”,直到提示“您正处于开发者模式”即可。 - 然后在设置的系统与更新 > 开发人员选项中,打开“USB调试”开关。 - 使用USB方式,将Phone与PC端进行连接,USB连接方式选择“传输文件,会弹出“是否允许USB调试”的弹框,点击确定。 ![调试](./media/open_debug.png)![允许调试](./media/allow_debug.png) - 识别到phone后点击![img](./media/install.png),或使用默认快捷键Shift+F10(macOS为Control+R)运行应用。 ![运行](./media/run_phone.png) #### 操作体验 ##### 设备配网 - 给应用配置配置智慧服务意图,[ 设备碰一碰配置指南](../../dev/docs/NFC_label_definition) - 提前准备好智能设备端,且让设备端进入配网模式,可参考[设备端无感配网介绍](../../dev/docs/net_config#3%E6%93%8D%E4%BD%9C%E8%AF%B4%E6%98%8E); - 打开手机NFC功能,打开应用并登陆账号,手机碰一碰智能设备,等待拉起配网页面后开始给设备端配网; - 在设备端配网成功后,进入设备控制页可控制设备开关机等; ![配网操作](./media/config_network.gif) ##### 新智能设备接入 参考 [数字管家设备接入指南](../../FA/DistSchedule/docs/数字管家设备接入指南.md),根据文档编写页面、处理相关逻辑和对接服务端接口,即可将已开发完成的智能设备快速接入到数字管家应用端。 ### 参考资料 - [FAQs](../../FA/DistSchedule/docs/FAQs.md) - [数字管家FA服务端修改](../../FA/DistSchedule/docs/数字管家FA接入新服务端.md) - [数字管家设备接入FA指南](../../FA/DistSchedule/docs/数字管家设备接入指南.md) - [数字管家快速上手指南](../../dev/docs/quick_start/README.md) - [数字管家服务端](../../Server) - [数字管家设备端](../../dev/docs/README.md) - [HarmonyOS应用开发官网](https://developer.harmonyos.com/cn/) - [学生党上手数字管家 — — 碰一碰让台灯亮起来!](../../FA/DistSchedule/docs/学生党上手数字管家/README.md)