# 数字管家快速上手指南
下面以智能台灯设备为例,给大家介绍怎样快速上手体验数字管家
## 1、操作体验
##### 1.1 设备配网
1) 在设备上电前需准备好安装了数字管家应用的HarmonyOS手机,详情见本指南第5章数字管家应用编译、安装, 并在设置中开启手机的NFC功能;
2) 写设备NFC标签,详细操作见本指南第6章写NFC标签和配置应用服务关联章节;
3) 智能台灯烧录完成后,上电。详细操作见本指南第4章写NFC标签和配置应用服务关联章节,开发者在观察开发板上状态LED灯以8Hz的频率闪烁时,将手机上半部靠近开发板NFC标签处;
4) 无需任何操作手机将自动拉起数字管家应用并进入配网状态,配网过程中无需输入热点账号密码。 具体无感配网相关流程参考 [无感配网指南](../net_config/README.md)

##### 1.2 设备控制
配网完成后,数字管家应用会自动进入智能台灯的控制页面,通过控制页面可以实现对智能台灯开关、亮度控制的操作。

##### 1.3 添加日程
使用者可以进入数字管家的日程管理页面中添加智能台灯的相关日程,具体步骤如下:
1) 在输入日程名称后,选择相关通知成员和台灯设备;
2) 选择期待执行的台灯操作,例如:设置台灯在特定时间段内亮灯或关灯;
3) 设置日程的重复日期,例如:可以设置单次日程(仅在当天执行),或者重复日程(设置日程在设定的 星期几重复执行)

## 2、环境准备
##### 2.1 硬件准备
- HarmonyOS 手机一台,Harmony OS 版本2.0.0.168以上;
- BearPi-HM Nano主板+ E53-SC1拓展板( [购买地址](https://item.taobao.com/item.htm?spm=a1z10.5-c-s.w4002-22244473708.15.305b5f69P3rzYw&id=633296694816)),如下图
##### 2.2 软件准备
- DevEco studio 版本:推荐DevEco Studio 3.0 Beta1 版本或以上
- 在华为应用市场,下载并安装“应用调测助手”APP,用于写NFC标签。
- 打开手机**设置 > 应用和服务 > 应用管理** (点击右上角图标,点击显示系统程序选项),搜索“智慧生活基础服务”,检测智慧生活基础服务的版本是否为12.0.2.306及以上。如果不是,请打开华为手机的“智慧生活”APP,点击“**我的 > 设置 > 检查应用更新**”,更新“智慧生活基础服务”。
- 确保HarmonyOS 手机中api version 在 API 6以上,查看HarmonyOS 手机API方法:在HarmonyOS SDK存储目录下的**Sdk\toolchains**文件下打开命令行工具,执行如下命令进行查询真机设备的apiversion和releaseType取值。
```
hdc shell
getprop hw_sc.build.os.apiversion // 返回数值是6或者6以上
```
## 3、数字管家相关代码下载
##### 3.1 访问代码仓库
数字管家代码链接: https://gitee.com/openharmony-sig/knowledge_demo_smart_home
##### 3.2 登录gitee账号
注册或者登录提前准备好的gitee 账号
##### 3.3 代码下载
方法一:点击克隆/下载按钮,下载数字管家相关仓库代码,并解压。
方法二:fork数字管家仓库后,使用git 命令下载
```
git clone git@gitee.com:xxx/knowledge_demo_smart_home.git // 其中xxx为你的gitee账号名字。
```
## 4、设备端代码烧录
通过完成本章节流程,可将数字管家设备端的代码烧录至板子中。
##### 4.1 烧录工具下载
下载链接任选其一即可
[Hiburn链接1](https://harmonyos.51cto.com/resource/29) [Hiburn链接2](https://gitee.com/openharmony-sig/vendor_oh_fun/blob/master/bearpi-hm_nano-oh_flower/04_%E7%83%A7%E5%BD%95%E5%B7%A5%E5%85%B7/HiBurn.exe)
##### 4.2 USB转串口驱动安装
首先通过TypeC数据线,将电脑与设备连接。安装CH340驱动,
下载地址:http://www.wch.cn/search?q=ch340g&t=downloads
驱动安装成功后,打开window电脑计算机管理工具,查看开发板的串口,如下图
##### 4.3 配置Hiburn工具
第一步:打开Hiburn工具,并点击`Refresh`,选择相应com,本示例中为com5和上图相匹配,如下图示
第二步: 修改波特率,配置波特率为921600,如下图示
第三步:选择烧录文件后下载:
烧录文件路径:步骤1.3中下载代码路径下,knowledge_demo_smart_home\dev\docs\quick_start\resource\image\
烧录文件名:Hi3861_wifiiot_app_allinone.bin
点击Hiburn工具中的Select file按钮,在弹出的文件框中,选择代码编译所生成的固件然后确认(下图中假设烧录文件在桌面上);选中Auto burn按钮,然后点击connect按钮,等待下载,如下图
按下设备上的复位(RESET)按钮,开始烧录固件,如下图所示
等待进度条跑完,第二次出现“Execution Successful”字样后则表示烧录完成。
## 5、数字管家应用编译、安装
通过完成本章节流程,可将数字管家FA成功安装至手机之中。
##### 5.1 DevEco Studio软件安装
第一步:DevEco Studio 软件下载
版本:DevEco Studio 3.0 Beta1
下载地址:https://developer.harmonyos.com/cn/develop/deveco-studio
第二步:解压下载的deveco-studio 安装包,双击安装deveco-studio-3.0.0.601.exe可执行文件。
在安装向导界面下,一直点击Next直到安装完成后点击Finish按钮。
第三步:安装完成后第一次启动deveco-studio,会提示是否下载OpenHarmony SDK ,如果需要则按照SDK setup 界面默认下载路径。勾选Accept签署协议后,下载OpenHarmony SDK。
##### 5.2 HarmonyOS SDK 下载
打开DevEco-studio, File -> Setting -> SDK Manager -> HarmonyOS Legacy SDK ->Platforms 页面中确保API6 相关sdk 已下载,如下图所示:
##### 5.3 在AGC中创建应用
创建应用是为了确定唯一包名,并用于后续的给FA进行签名,进入步骤如下:
AGC(AppGallery Connect) 地址:https://developer.huawei.com/consumer/cn/service/josp/agc/index.html#/
第一步:登录AGC平台,创建项目;
第二步:进入到你创建的项目里面,点击左上方的 添加应用按钮,填写相关信息后,点击确认即可;
##### 5.4 更换数字管家应用包名
将如下文件中的bundleName由com.example.distschedule替换成为 步骤3.3中已注册的包名: com.keniotest.distschedule,
特别注意:数字管家中的应用包名必须与AGC中注册应用的包名一致,否则应用签名会失败。
```
./entry/src/config.json
./netconfig/src/main/config.json
./netconfig/src/main/js/default/pages/index/index.js
```
##### 5.5 配置应用签名信息
应用签名可使用如下两种方式的一种,其中自动签名较为简单,但是可能会导致后续碰一碰拉起应用配网(NAN+SoftAP组合配网 / NAN)时,没有权限调用配网接口导致配网无反应。
**建议**:可先进行自动签名签名,后面进行**碰一碰拉起应用配网**时,若页面长时间卡在 开始获取wifi列表,且等待一段时间后仍旧如此,再切换至手动签名。
- [自动签名(较简单)](自动签名.md)
- [手动签名](手动签名.md)
##### 5.6 数字管家安装运行
第一步:设置相关配置项

**因为数字管家应用分为entry 和netcfg 两个module,需要勾选 “Deploy Multi Hap Packages”**
第二步:调试安装

更多真机调试细节,请见[真机调试文档](https://developer.harmonyos.com/cn/docs/documentation/doc-guides/ide_debug_device-0000001053822404#section793484619307)
## 6、写NFC标签和配置应用服务关联
通过完成本章节流程,可实现手机通过碰一碰NFC拉起数字管家FA,并且根据NFC中的自定义数据获取设备数据,从而根据是否在线来进行配网或者跳转控制页操作。
##### 6.1 申请Product ID
提前准备已满足环境准备条件的手机,登录你的华为账号,并在华为应用市场中下载安装应用调测助手软件。

##### 6.2 创建智慧服务
进入[华为开发者联盟](https://developer.huawei.com/consumer/cn/) 管理中心页面中依次点击智慧服务->HarmonyOS服务开放平台,最终进入到下图的智慧服务平台。

点击智慧服务模型,填写服务相关信息,点击创建按钮完成智慧服务模型的创建。

##### 6.3 完善智慧服务相关信息
在服务信息栏下的基本信息页面完善智慧服务模型基本信息后,点击右上角保存按钮,保存智慧服务基本信息。

进入服务呈现信息页面完善相关信息(星标项目必填)服务大图标也要填,后续测试项需要,点击右上角保存按钮,保存服务呈现信息。

##### 6.4 录入智慧服务配置信息
点击配置栏,进行配置信息的填写。
HarmonyOS标签页面如下图,其中产品型号填写在步骤4.1 中应用调测助手中申请的Product ID 99HJ ,产品子型号填写00。

FA信息页面填写信息如下图,其中App包名、服务名分别为FA开发中对应的IoT应用的包名,以及开发者期望通过NFC唤起的IoT应用的服务名(本项目唤起的服务为设备配网)。

##### 6.5 录入智慧测试信息
点击测试栏,进入智慧服务测试页面,进行测试相关信息的填写。

第一步:点击创建进入创建真机测试名单窗口。
填写手机号码与描述后确认。

第二步:确认 该手机已经录入名单中;
第三步:点击准备测试按钮。到此,应用功能唤起信息申请和配置完成。
##### 6.6 NFC数据生成
基于[profile设备模型](../../../profile),进行生成对应的NFC数据,生成方式可分以下两种
1. 手动写入:根据下列规则和profile设备模型可生成对应NFC标签的配网信息
| 标签 | 名字 | 描述 | 样例 |
| :--: | ------------- | ---------------------------------------- | ------------------------ |
| 1 | IoTDA平台设备产品ID | 由IoTDA平台中获取,使用自身,标识设备产品品类。典型值24字节,小于32字节 | 6128c7b60ad1ed0286680f19 |
| 2 | NodeID | 设备节点ID,辨识同品类中,不同的设备。典型值8字节,小于64字节 | Lamp01 |
| 3 | DevicePwd | 设备认证秘钥,用于设备连接IoTDA认证。典型值8字节,小于32字节 | 12345678 |
| 4 | 配网标识 | 标识当前设备配网类型,1字节
0:不需要配网设备(如手表平板等自带蜂窝网络的设备);
1:NAN配网 + softAP组合模式配网(能自动使用当前网络配网,不需要输入密码);
2:softAP配网,连入设备热点,输入wifi密码进行配网;
3:ble蓝牙配网;
4:NAN配网 近距离贴近设备配网(能自动使用当前网络配网,不需要输入密码); | 1 |
| 5 | ApSSID | 设备自身热点名,典型值12字节,小于32字节,NAN配网和softAp配网必须提供;构成一般为前缀teamX + nodeID | teamX-Lamp01 |
| 6 | ApToken | 设备自身热点的密码,典型值8字节,小于16字节; | 12345678 |
| 7 | BLE-MAC | 设备蓝牙地址。典型值6字节,BLE配网下必须提供 | 010203040506 |
以设备id为6128c7b60ad1ed0286680f19_Lamp01的台灯为例,配网信息如下:
```
1246128c7b60ad1ed0286680f19206Lamp01308123456784011512teamX-Lamp01
```
下面是标签内容解释:

2. 使用[NFC信息生成器](../NFC_label_definition/数字管家NFC信息生成器.md),进行配网数据生成
**更多设备的配网信息请查看** [更多设备的配网信息](../NFC_label_definition/more_nfc_netconfig_info.md)
##### 6.6 NFC数据写入
NFC标签写入过程如下图所示:

## 7、手机碰一碰
正确的完成上述流程后,手机打开NFC功能后,碰一碰NFC即可实现第一节中的各项功能(配网、控制、设日程),实现手机端到设备端的连通。
## 8、完整项目体验
以上快速上手方式是借助了数字管家的服务器,完整项目部署还需实现:
1. 部署自己的服务端,参考[服务端readme](../../../Server/README.md);
2. [数字管家FA接入新服务端](../../../FA/DistSchedule/docs/数字管家FA接入新服务端.md)