diff --git a/docs/README.md b/docs/README.md index 40b6130c861964091b68332eb0816350209d1082..28edf3124895e2f4b454eb3541c033e94b825554 100644 --- a/docs/README.md +++ b/docs/README.md @@ -3,7 +3,9 @@

HUAWEI LiteOS Studio简介

-`HUAWEI LiteOS Studio`是以`Visual Studio Code`的社区开源代码为基础,根据`C`编程语言特点、`LiteOS`嵌入式系统软件的业务场景,定制开发的一款轻量级集成开发环境解决方案。它提供了代码编辑、编译、烧录、调试等能力。 +`HUAWEI LiteOS Studio`是以`Visual Studio Code`的社区开源代码为基础,根据`C`编程语言特点、`LiteOS`嵌入式系统软件的业务场景,定制开发的一款轻量 + +级集成开发环境解决方案。它提供了代码编辑、编译、烧录、调试等能力。 - 快速开始 diff --git a/docs/images/burner.png b/docs/images/burner.png index 11fb0cab5f3f74bbe5281e90d466cc06dfed650e..5b353c4c5326c271ff7747a7fafa9d5264aa520d 100644 Binary files a/docs/images/burner.png and b/docs/images/burner.png differ diff --git a/docs/images/create429.png b/docs/images/create429.png index ebffede231b2554c30832ffbbe947dd9772d113a..6a16896c66d7fcc11ca4654260e3bc970e4a3449 100644 Binary files a/docs/images/create429.png and b/docs/images/create429.png differ diff --git a/docs/images/hi2120/A_P_debug.png b/docs/images/hi2120/A_P_debug.png deleted file mode 100644 index 5d7d2d03b2719d29868ddbf449ee44b762cfe8b8..0000000000000000000000000000000000000000 Binary files a/docs/images/hi2120/A_P_debug.png and /dev/null differ diff --git a/docs/images/hi2120/A_P_debugging.png b/docs/images/hi2120/A_P_debugging.png deleted file mode 100644 index 5845e30fcc205c14c4a8768e60d69bc4e9224bf3..0000000000000000000000000000000000000000 Binary files a/docs/images/hi2120/A_P_debugging.png and /dev/null differ diff --git a/docs/images/hi2120/breakpoints.png b/docs/images/hi2120/breakpoints.png deleted file mode 100644 index 227809cc43a8c7ff5a8e1b3a58401b0040fa0c77..0000000000000000000000000000000000000000 Binary files a/docs/images/hi2120/breakpoints.png and /dev/null differ diff --git a/docs/images/hi2120/burn-succ.png b/docs/images/hi2120/burn-succ.png deleted file mode 100644 index fa540602da7b566125862f62803e91a957793edc..0000000000000000000000000000000000000000 Binary files a/docs/images/hi2120/burn-succ.png and /dev/null differ diff --git a/docs/images/hi2120/burn.png b/docs/images/hi2120/burn.png deleted file mode 100644 index b2a54723a2b7de90e67263c3ccdc801de407e21c..0000000000000000000000000000000000000000 Binary files a/docs/images/hi2120/burn.png and /dev/null differ diff --git a/docs/images/hi2120/burner.png b/docs/images/hi2120/burner.png deleted file mode 100644 index 99059542121dea8b15fe0959496b4c0cac64ab37..0000000000000000000000000000000000000000 Binary files a/docs/images/hi2120/burner.png and /dev/null differ diff --git a/docs/images/hi2120/clean_succ.png b/docs/images/hi2120/clean_succ.png deleted file mode 100644 index 5d828b70c116962cd7b659dc044814047e3635f8..0000000000000000000000000000000000000000 Binary files a/docs/images/hi2120/clean_succ.png and /dev/null differ diff --git a/docs/images/hi2120/compile_succ.png b/docs/images/hi2120/compile_succ.png deleted file mode 100644 index 4de9f7dc706397ba709e215749fea8adf51f38f7..0000000000000000000000000000000000000000 Binary files a/docs/images/hi2120/compile_succ.png and /dev/null differ diff --git a/docs/images/hi2120/compiler.png b/docs/images/hi2120/compiler.png deleted file mode 100644 index e099bcda219a9400515647ea427969f1f560e8d8..0000000000000000000000000000000000000000 Binary files a/docs/images/hi2120/compiler.png and /dev/null differ diff --git a/docs/images/hi2120/debugger.png b/docs/images/hi2120/debugger.png deleted file mode 100644 index 571e8cebefe9df0cbd82d1fee9628934e409b0b7..0000000000000000000000000000000000000000 Binary files a/docs/images/hi2120/debugger.png and /dev/null differ diff --git a/docs/images/hi2120/debuggerView.png b/docs/images/hi2120/debuggerView.png deleted file mode 100644 index 8ed208ceb380e91bb22eef7c34f829af103bb12f..0000000000000000000000000000000000000000 Binary files a/docs/images/hi2120/debuggerView.png and /dev/null differ diff --git a/docs/images/hi2120/debuggingView.png b/docs/images/hi2120/debuggingView.png deleted file mode 100644 index c40b6361d6735a23f576e6c8d36aefc094ebd2d4..0000000000000000000000000000000000000000 Binary files a/docs/images/hi2120/debuggingView.png and /dev/null differ diff --git a/docs/images/hi2120/dissasm_0.png b/docs/images/hi2120/dissasm_0.png deleted file mode 100644 index 6b501b8e1020414055db1cf59601925a9179a6ae..0000000000000000000000000000000000000000 Binary files a/docs/images/hi2120/dissasm_0.png and /dev/null differ diff --git a/docs/images/hi2120/dissasm_1.png b/docs/images/hi2120/dissasm_1.png deleted file mode 100644 index cce353276026a6e5479b24c6ac5d22abb4a8e083..0000000000000000000000000000000000000000 Binary files a/docs/images/hi2120/dissasm_1.png and /dev/null differ diff --git a/docs/images/hi2120/dissasm_2.png b/docs/images/hi2120/dissasm_2.png deleted file mode 100644 index 8c5fe408fbc876c399822608e90af773d2b3b710..0000000000000000000000000000000000000000 Binary files a/docs/images/hi2120/dissasm_2.png and /dev/null differ diff --git a/docs/images/hi2120/registers.png b/docs/images/hi2120/registers.png deleted file mode 100644 index 034594325fba8188d358d9534e713bc3ba8d176f..0000000000000000000000000000000000000000 Binary files a/docs/images/hi2120/registers.png and /dev/null differ diff --git a/docs/images/hi2120/serial-succ.png b/docs/images/hi2120/serial-succ.png deleted file mode 100644 index e9b066e9ee5f0c87417aac9871ecf87fedbe4fdb..0000000000000000000000000000000000000000 Binary files a/docs/images/hi2120/serial-succ.png and /dev/null differ diff --git a/docs/images/hi2120/serialPortSetting.png b/docs/images/hi2120/serialPortSetting.png deleted file mode 100644 index 933447532f809890a9e5d28566eb9a51db2976cc..0000000000000000000000000000000000000000 Binary files a/docs/images/hi2120/serialPortSetting.png and /dev/null differ diff --git a/docs/images/hi2120/serialPorts.png b/docs/images/hi2120/serialPorts.png deleted file mode 100644 index 4c0f1ca13ee2e6846d5bec08959503356a7e98f4..0000000000000000000000000000000000000000 Binary files a/docs/images/hi2120/serialPorts.png and /dev/null differ diff --git a/docs/images/hi2120/setBurner.png b/docs/images/hi2120/setBurner.png deleted file mode 100644 index c23a0bf2c5f4af9a55ba052b1efe3cf162b7ed84..0000000000000000000000000000000000000000 Binary files a/docs/images/hi2120/setBurner.png and /dev/null differ diff --git a/docs/images/hi2120/setBurner_dropdown.png b/docs/images/hi2120/setBurner_dropdown.png deleted file mode 100644 index 8dcea9d7f819deacfeba2b12ecfc3cd1591c73c0..0000000000000000000000000000000000000000 Binary files a/docs/images/hi2120/setBurner_dropdown.png and /dev/null differ diff --git a/docs/images/hi2120/targetBoard.png b/docs/images/hi2120/targetBoard.png deleted file mode 100644 index b403d78354648890f861ca6c76f262a29f972742..0000000000000000000000000000000000000000 Binary files a/docs/images/hi2120/targetBoard.png and /dev/null differ diff --git a/docs/images/hi2120/threadawareness.png b/docs/images/hi2120/threadawareness.png deleted file mode 100644 index 8c4247d6f9f3f2b0f58327376a51a538626d3ccd..0000000000000000000000000000000000000000 Binary files a/docs/images/hi2120/threadawareness.png and /dev/null differ diff --git a/docs/images/hi2120/viewmemory.png b/docs/images/hi2120/viewmemory.png deleted file mode 100644 index 535a2297b92052ee9fab2a5d389f0d6770c37b78..0000000000000000000000000000000000000000 Binary files a/docs/images/hi2120/viewmemory.png and /dev/null differ diff --git a/docs/images/hi2120/watchpoint.png b/docs/images/hi2120/watchpoint.png deleted file mode 100644 index 60e4c9b418659262604d2bfe6ad2a9fe2c4aa957..0000000000000000000000000000000000000000 Binary files a/docs/images/hi2120/watchpoint.png and /dev/null differ diff --git a/docs/images/hi3861/Hi3861_Demo_app.png b/docs/images/hi3861/Hi3861_Demo_app.png new file mode 100644 index 0000000000000000000000000000000000000000..7e0763f2b6d3f5ada2d9248f8a746447b393e26d Binary files /dev/null and b/docs/images/hi3861/Hi3861_Demo_app.png differ diff --git a/docs/images/hi3861/Hi3861_Demo_v5_app.png b/docs/images/hi3861/Hi3861_Demo_v5_app.png new file mode 100644 index 0000000000000000000000000000000000000000..0d74fb3df82fd8051a7dc61f4d9a68fb8257886f Binary files /dev/null and b/docs/images/hi3861/Hi3861_Demo_v5_app.png differ diff --git a/docs/images/hi3861/color_light/light.png b/docs/images/hi3861/color_light/light.png index 896af29e4010d4b303d0c8dc10e7ed4e6c3c8be0..18a448d8012815f0a9d055205b378a5e031a1155 100644 Binary files a/docs/images/hi3861/color_light/light.png and b/docs/images/hi3861/color_light/light.png differ diff --git a/docs/images/hi3861/hi3861_demo_set.png b/docs/images/hi3861/hi3861_demo_set.png new file mode 100644 index 0000000000000000000000000000000000000000..36e3cc5d1c3a39a5bf60dc46d7f4dc04925d4dff Binary files /dev/null and b/docs/images/hi3861/hi3861_demo_set.png differ diff --git a/docs/images/hi3861/hi3861_demo_setting.png b/docs/images/hi3861/hi3861_demo_setting.png new file mode 100644 index 0000000000000000000000000000000000000000..29252adc8dd2db3daa6eeead1818123c2bef3864 Binary files /dev/null and b/docs/images/hi3861/hi3861_demo_setting.png differ diff --git a/docs/images/hi3861/hi3861_demo_use.png b/docs/images/hi3861/hi3861_demo_use.png new file mode 100644 index 0000000000000000000000000000000000000000..955ef9dcc8121af879f0ffb5f12776d2b71e45e6 Binary files /dev/null and b/docs/images/hi3861/hi3861_demo_use.png differ diff --git a/docs/images/hi3861/histreaming_app.png b/docs/images/hi3861/histreaming_app.png new file mode 100644 index 0000000000000000000000000000000000000000..0603ce77982494c108626ef8a9cd739b92d6646b Binary files /dev/null and b/docs/images/hi3861/histreaming_app.png differ diff --git a/docs/images/hi3861/ocean_app.png b/docs/images/hi3861/ocean_app.png index 9ffe201b3a158a3f5763a8a28f7a738e4f69a082..b0e716cddca1c4267aabe457fa1a66105200657d 100644 Binary files a/docs/images/hi3861/ocean_app.png and b/docs/images/hi3861/ocean_app.png differ diff --git a/docs/images/hi3861/ocean_bestSample.png b/docs/images/hi3861/ocean_bestSample.png index bb1e3b23256e48cbfe7bab90143bd993792dfd24..c886aeb46d155cc80dc70498f1df17af7475223a 100644 Binary files a/docs/images/hi3861/ocean_bestSample.png and b/docs/images/hi3861/ocean_bestSample.png differ diff --git a/docs/images/hi3861/ocean_connectSucc.png b/docs/images/hi3861/ocean_connectSucc.png index dbdfa5a90bede292ff4bde468970509d38bcef8d..86ce92e51fbac2ae30c49a413b7734105399fd7d 100644 Binary files a/docs/images/hi3861/ocean_connectSucc.png and b/docs/images/hi3861/ocean_connectSucc.png differ diff --git a/docs/images/hi3861/ocean_search.png b/docs/images/hi3861/ocean_search.png index 6e85344032b7f330765a07ff034062c65ed4ca3a..62ca7e9175e63d99ffac38fed0f61a02167dce88 100644 Binary files a/docs/images/hi3861/ocean_search.png and b/docs/images/hi3861/ocean_search.png differ diff --git a/docs/project_stm32.md b/docs/project_stm32.md index d4bf9c3f73d4e22a7da90296a7d9c76d1c782fe2..cc6fa3535170579358d8b4c4d4f94db560fb995f 100644 --- a/docs/project_stm32.md +++ b/docs/project_stm32.md @@ -101,7 +101,7 @@ **注意:如果用户安装的`JLink`目录不是Studio默认填入的`C:\Program Files (x86)\SEGGER\JLink`,请根据实际安装目录进行填写。** **步骤 4** `烧录文件`设置,可以通过手动和自动两种方式设置文件: -- 手动设置:点击`烧录文件`后的图标![avatar](images/browserFoler.png)或者使用下图所示方式选择烧录文件 +- 手动设置:点击`烧录文件`后的图标![avatar](images/browserFoler.png)或者在左侧工程树的烧录文件上`单击右键->设置为烧录文件`进行设置,如下图所示: ![avatar](images/stm/stm_setBurner.png) @@ -166,12 +166,19 @@ ![avatar](images/stm/debuggingView.png) - **变量** 展示局部变量、全局变量、静态变量 + - **监视** 监视指定的表达式 + - **调用堆栈** 展示当前运行状态和暂停状态的任务调用堆栈 + - **断点** 展示设置的断点 + - **寄存器** 查看各个寄存器的数值,支持复制数值操作 + - **反汇编 & 内存** 支持对函数进行反汇编,支持查看内存操作 + - **输出** 展示`GDB`客户端的输出日志 + - **调试控制台** 展示`GDB Server`的输出日志 #### 调试器-断点 @@ -204,11 +211,9 @@ LiteOS作为轻量级物联网操作系统,同时只能运行一个Task任务 #### 调试器-反汇编 -单步调测时,在`调试面板-反汇编&内存`视图中,可以查看对应源代码的反汇编代码,反汇编文件展示效果如下: - -![avatar](images/stm/dissasm_2.png) +单步调测时,在`调试面板-反汇编&内存`视图中,可以查看对应源代码的反汇编代码,支持如下两种方式: -`反汇编&内存`支持如下两种反汇编方式: +![avatar](images/hi3861/dissasm_0.png) - **反汇编指定函数** 点击反汇编指定函数,在弹出的窗口中输入想要反汇编的函数名,回车后就可以在代码区中看到这个函数的反汇编代码。 @@ -216,6 +221,10 @@ LiteOS作为轻量级物联网操作系统,同时只能运行一个Task任务 - **反汇编当前函数** 点击反汇编当前函数,就可以在代码区中展示当前函数的反汇编代码。 +反汇编文件展示效果如下: + +![avatar](images/stm/dissasm_2.png) + #### 调试器-查看内存 在`调试面板-反汇编&内存`视图中,点击`查看内存`,在弹窗中输入内存起始地址及长度,可以展示开发板的内存信息。 @@ -234,7 +243,7 @@ LiteOS作为轻量级物联网操作系统,同时只能运行一个Task任务 #### STLinkReflash 刷JLINK固件 -官方站点下载`ST-Link Reflash Utility`,或本站下载。解压`STLinkReflash.zip`,双击`STLinkReflash.exe`运行。 +官方站点下载`ST-Link Reflash Utility`,或本站下载。解压`STLinkReflash.zip`,双击`STLinkReflash.exe`运行。 **步骤 1** 接受许可Accept @@ -264,4 +273,4 @@ LiteOS作为轻量级物联网操作系统,同时只能运行一个Task任务 正常执行调测,如图: -![avatar](images/stm/st-jlink-debugging.png) \ No newline at end of file +![avatar](images/stm/st-jlink-debugging.png) diff --git a/docs/project_wifiiot.md b/docs/project_wifiiot.md index 8805a225309d91431566f99ddb31d3e56d0cba7b..4ebec95661071ba1135189079fd748c2f8e10d25 100644 --- a/docs/project_wifiiot.md +++ b/docs/project_wifiiot.md @@ -3,19 +3,27 @@

Hi3861V100 WiFi IoT工程示例

-介绍如何使用`HUAWEI LiteOS Studio` 开发WiFi IoT工程。 +本节介绍如何使用`HUAWEI LiteOS Studio`开发WiFi IoT工程。 ### 搭建Windows开发环境 -`WiFi IoT SDK`使用`Scons`进行构建管理, 需要安装`Python`和`Scons`库, 推荐`Python 3.7`以上版本。安装步骤如下: +`WiFi IoT SDK`使用`Scons`进行构建管理, 需要安装`Python`和`Scons`库, 推荐`Python 3.7`以上版本。 + +`WiFi IoT SDK`使用`riscv32-unknown-elf`编译器进行编译,使用`JLink`仿真器进行调测。 + +如果需要新建`WiFi IoT`工程,可能还要安装`git for windows`工具。 + +#### 安装git for windows工具 + +参考[安装Git工具](/install?id=安装Git工具)。 #### 安装Python3.7 -从`https://www.python.org/downloads/release/python-376/`下载, 并按安装向导完成安装`Python3.7.6`。 +从`https://www.python.org/downloads/release/python-376/`下载, 按照安装向导完成`Python3.7.6`的安装。 安装`Python`时, 勾选 `Add Python x.x to PATH` 选项, 将`Python`的安装根目录, 以及安装根目录下的`Scripts`目录, 加入环境变量。 -注意: 如果电脑首次安装`python`,建议重启电脑后再进行后续操作,确保`python`环境生效。 +注意: 如果是首次安装`python`,建议重启电脑后再进行后续操作,确保`python`环境生效。 #### 安装Scons等三方库 @@ -32,7 +40,7 @@ trusted-host = repo.huaweicloud.com timeout = 120 ``` -然后打开命令行窗口, 执行如下命令安装Python三方库: +最后打开命令行窗口, 执行如下命令安装Python三方库: ``` pip install pycryptodome @@ -43,57 +51,51 @@ pip install scons #### 安装riscv32-unknown-elf编译器 -如果用户需要执行编译功能, 则应根据情况安装`riscv32-unknown-elf`编译器。可联系`HUAWEI LiteOS Studio`技术支持人员获取编译器。 - -#### 获取WiFi IoT SDK - -请可以联系我们获取 `WiFi IoT SDK`, 解压放到本地工作目录。 +如果需要执行编译功能,则应安装`riscv32-unknown-elf`编译器。可联系`HUAWEI LiteOS Studio`技术支持获取编译器。 #### 安装JLink软件 -如果`WiFi IoT`开发板支持使用`JLink`仿真器进行`GDB`调测, 开发者对`WiFi IoT`工程进行调测前, 需要确保本机已安装`JLink`软件。如果没有安装, 可从`https://www.segger.com/downloads/jlink/`下载,并按安装向导完成最新版`JLink`的安装。 +如果`WiFi IoT`开发板支持使用`JLink`仿真器进行`GDB`调测,开发者对`WiFi IoT`工程进行调测前,需要确保本机已安装`JLink`软件。参考[安装JLink仿真器软件](/install?id=安装JLink仿真器软件)。 + +#### 获取WiFi IoT SDK -建议将`JLink.exe`所在目录加入`PATH`环境变量。 +请联系我们获取 `WiFi IoT SDK`,解压到本地工作目录。 ### 使用入门 -演示如何新建工程, 编译、烧录、串口调试等功能。 +演示如何新建工程、编译、烧录、串口调试等功能。 #### 新建工程(可选) -**注意:** 当本地已有工程/源码时,无需再新建工程,直接进入下一步`打开工程`。 +**注意:当本地已有工程/源码时,无需再新建工程,直接进入下一步`打开工程`。** -通过点击`新建工程`图标![avatar](images/newFolder.png),打开新建工程界面。在使用`HUAWEI LiteOS Studio`新建`WiFi IoT`工程时,需要联网,确保可以访问[润和 HiHope社区](https://gitee.com/hihopeorg)。如果联网需要代理,请提前配置好代理,否则新建工程会失败。配置代理方法参考[常见问题](/studio_qa?id=新建工程失败问题)。同时,需要确保本地已安装`git for windows`工具。 +通过点击`新建工程`图标![avatar](images/newFolder.png),打开新建工程界面。 **步骤 1** 在`工程名称`中填入自定义的工程名 **步骤 2** 在`工程目录`中填入或选择工程存储路径 -**步骤 3** 选择SDK版本号,当前WiFi IoT工程被维护在`https://gitee.com/hihopeorg`,版本号为`HiHope WiFi-IoT Hi3861SPC021` +**步骤 3** 选择SDK版本号,当前WiFi IoT工程被维护在[润和 HiHope社区](https://gitee.com/hihopeorg),版本号为`HiHope WiFi-IoT Hi3861SPC021` **步骤 4** 在`SDK目录`中填入或选择本地原始SDK路径 -**步骤 5** `工程参考`中可以填入本地路径,也可以填入远程gitee地址,填入远程地址时,需要填入标签或分支的完整地址,例如`https://gitee.com/hihopeorg/HiSpark-WiFi-IoT-DevKit/tree/HiSpark_WiFi-IoT_VER_A_Hi3861_Dev_Kit_SPC021_V1.0.1`(DevKit案例)或`https://gitee.com/hihopeorg/HiSpark-WiFi-IoT-OC/tree/HiSpark_WiFi-IoT_VER_A_Hi3861_OC_Kit_SPC021_V1.0.1`(OC案例) +**步骤 5** `工程参考`中可以填入本地路径,也可以填入远程gitee地址。使用远程gitee下载的方式时,需要联网,确保可以访问[润和 HiHope社区](https://gitee.com/hihopeorg)。如果联网需要代理,请提前配置好代理,否则新建工程会失败。配置代理方法参考[常见问题](/studio_qa?id=新建工程失败问题)。同时,需要确保本地已安装`git for windows`工具。 + +填入远程gitee地址时,需要填入标签或分支的完整地址,例如`https://gitee.com/hihopeorg/HiSpark-WiFi-IoT-DevKit/tree/HiSpark_WiFi-IoT_VER_A_Hi3861_Dev_Kit_SPC021_V1.0.1`(DevKit案例)或`https://gitee.com/hihopeorg/HiSpark-WiFi-IoT-OC/tree/HiSpark_WiFi-IoT_VER_A_Hi3861_OC_Kit_SPC021_V1.0.1`(OC案例) **步骤 6** 在开发板信息表点选开发板所在行,目前默认提供`Hi3861V100`开发板 -点击`确认`按钮,后台下载并保存所选目标板的SDK,等待下载完成后会自动重新打开一个新窗口并自动打开带有工程参考的用户新建工程。 +点击`确认`按钮后可能会弹出对话框,让填写gitee的账号和密码,提交后,后台会下载并保存所选目标板的SDK,等待下载完成后会在一个新窗口中自动打开带有工程参考的新建工程。 ![avatar](images/create3861-2.png) #### 打开工程 -这里演示如何打开存在的工程: - -**步骤 1** 打开`HUAWEI LiteOS Studio` - -**步骤 2** 点击`打开工程`图标![avatar](images/openFolder.png), 选择`WiFi IoT` 工程所在的目录 - -对打开的工程, 可以在工程配置里, 根据实际情况, 选择开发板, 调整编译配置、烧录配置、调试器配置、组件配置、串口配置等。 +新建工程后,会自动打开工程。如果需要打开存在的工程,点击`打开工程`图标![avatar](images/openFolder.png),选择`WiFi IoT`工程所在目录即可。 #### 目标板配置-选择目标板 -**步骤 1** 点击工具栏上的工程设置图标![avatar](images/proSetting.png), 打开工程配置界面。 +**步骤 1** 点击工具栏上的工程设置图标![avatar](images/proSetting.png), 打开工程配置界面 **步骤 2** 点击`目标板`, 选取`Hi3861V100`, 点击确认按钮![avatar](images/confirm.png)进行保存 @@ -101,9 +103,7 @@ pip install scons #### 组件配置-组件使能与属性修改 -**步骤 1** 点击工具栏上的工程设置图标![avatar](images/proSetting.png), 打开工程配置界面 - -**步骤 2** 点击`组件配置`, 在组件属性栏勾选需要使能的组件, 或更改组件属性值, 点击确认按钮![avatar](images/confirm.png)进行保存 +点击工程配置界面上的`组件配置`,在左侧的`选择组件`中点击想要使能或修改的组件,在右侧的`组件属性`栏勾选需要使能的组件,或更改组件属性值,点击确认按钮![avatar](images/confirm.png)保存。 ![avatar](images/componentConfig.png) @@ -115,13 +115,13 @@ pip install scons **步骤 2** `编译器类型`选择`riscv32-unknown-elf` -**步骤 3** `编译器目录`已提供默认路径, 用户可以将`riscv32-unknown-elf`编译器安装到该路径下,也可以自行指定路径安装后,点击图标![avatar](images/browserFoler.png)填入`riscv32-unknown-elf-gcc.exe`所在路径 +**步骤 3** `编译器目录`已提供默认路径, 用户可以将`riscv32-unknown-elf`编译器安装到该路径下,也可以点击图标![avatar](images/browserFoler.png)根据实际情况填入`riscv32-unknown-elf-gcc.exe`所在路径 **步骤 4** `SConstruct脚本`可以点击图标![avatar](images/browserFoler.png) 或在脚本文件上`单击右键->设置为SConstruct文件`进行自定义设置, 也可使用![avatar](images/findScript.png)按钮自动搜索脚本文件 **步骤 5** 配置好后点击确认按钮![avatar](images/confirm.png)进行保存 -**步骤 6** 点击工具栏上的编译图标 ![avatar](images/compile.png) 进行编译代码, 也可以点击清理图标 ![avatar](images/clean.png) 和重新构建图标 ![avatar](images/recompile.png) 进行清理和重新编译 +**步骤 6** 点击工具栏上的编译图标 ![avatar](images/compile.png) 开始编译代码,也可以点击清理图标 ![avatar](images/clean.png) 和重新构建图标 ![avatar](images/recompile.png) 进行清理和重新编译 编译成功的截图示例如下: @@ -131,27 +131,31 @@ pip install scons ![avatar](images/clean_succ.png) -注意: 如果编译报错`Error 309`, 参考[常见问题](/studio_qa?id=scons编译报error-309)解决。 +注意:如果编译报错`Error 309`,参考[常见问题](/studio_qa?id=scons编译报error-309)解决。 #### 烧录配置-HiBurner串口烧录 -`WiFi IoT`开发板支持`HiBurner`串口烧录, 支持`JLink`的部分开发板也已经支持[JLINK烧录](/project_wifiiot?id=烧录配置-J-LINK烧录)。 +`WiFi IoT`开发板支持`HiBurner`串口烧录,部分支持`JLink`的开发板也已经支持[JLINK烧录](/project_wifiiot?id=烧录配置-J-LINK烧录)。 **步骤 1** 点击工程配置界面上的`烧录器` ![avatar](images/burner.png) **步骤 2** `烧录方式`选择`HiBurner` +**注意:HiBurner烧录方式,需要确保开发板主板右边的4个拨码开关全部往上拨。** **步骤 3** `烧录器目录`已提供默认路径, 也可以点击图标![avatar](images/browserFoler.png)进行自定义设置 -**步骤 4** 点击`烧录文件`后的图标![avatar](images/browserFoler.png)选择编译生成的`BIN`文件或者使用如下图所示方式选择烧录文件 +**步骤 4** `烧录文件`设置,可以通过手动和自动两种方式设置文件: +- 手动设置:点击`烧录文件`后的图标 ![avatar](images/browserFoler.png) 浏览选择编译生成的BIN文件,也可以选中要烧录的文件,右键->设置为烧录文件,如下图所示: - ![avatar](images/setBurner.png) + ![avatar](images/setBurner.png) - **注意:对于HiBurner串口烧录, 支持的烧录文件为`Hi3861_demo_burn.bin`和`Hi3861_demo_allinone.bin`。** +- 自动设置:点击下拉菜单选择烧录文件 -**步骤 5** `传输模式`只支持串口烧录, 使用默认的`Serial`即可 + **注意:对于HiBurner串口烧录, 支持的烧录文件为`Hi3861_demo_burn.bin`和`Hi3861_demo_allinone.bin`。** + +**步骤 5** `传输模式`只支持串口烧录,使用默认的`Serial`即可 **步骤 6** 配置好后点击![avatar](images/confirm.png)进行保存 @@ -165,61 +169,61 @@ pip install scons **步骤 9** 设置`波特率`为`921600`, `数据位`、`停止位`、`奇偶`、`流控`保持默认即可 -**步骤 10** 配置好后点击![avatar](images/confirm.png)进行保存 +**步骤 10** 配置好后点击![avatar](images/confirm.png)保存 **步骤 11** 点击工具栏上的图标![avatar](images/burn.png)进行烧录 -弹出烧录进度框, 提示用户复位`RESET`开发板: +弹出烧录进度框,提示用户复位`RESET`开发板,注意:HiBurner烧录前需要先把JLink烧录设备从开发板移除,否则无法烧录: ![avatar](images/resetBoard2.png) -烧录成功的截图如下, 点击关闭按钮, 关闭烧录弹窗。 +烧录成功的截图如下,点击关闭按钮,关闭烧录弹窗。注意:如果没有关闭烧录窗口,当再次按下开发板上的复位键时会再次进入烧录过程。 ![avatar](images/burn-succ2.png) -**步骤 12** 烧录成功后, 点击`串口终端`图标![avatar](images/serialTerminal.png)打开串口终端界面, 设置`端口`, 开启`串口开关`, 开发板按下复位`RESET`按钮, 可以看到串口输出, 烧录成功 +**步骤 12** 烧录成功后,点击`串口终端`图标![avatar](images/serialTerminal.png)打开串口终端界面,设置`端口`,开启`串口开关`,开发板按下复位`RESET`按钮,可以看到串口输出, 烧录成功 ![avatar](images/serial-termial-data.png) #### 烧录配置-J-LINK烧录 -在使用`J-Link`烧录之前, 请确认已经支持该烧录方式, 如果不支持, 请使用[串口烧录方式](/project_wifiiot?id=烧录配置-HiBurner串口烧录)。 +在使用`J-Link`烧录之前,请确认已经支持该烧录方式,如果不支持,请使用[串口烧录方式](/project_wifiiot?id=烧录配置-HiBurner串口烧录)。 **步骤 1** 点击工程配置界面上的`烧录器` ![avatar](images/burner-jlink.png) **步骤 2** `烧录方式`选择`JLink` +**注意:JLink烧录方式,需要确保开发板主板右边的4个拨码开关全部往下拨。** -**步骤 3** `烧录器目录`已提供默认路径, 也可以点击图标![avatar](images/browserFoler.png)进行自定义设置 +**步骤 3** `烧录器目录`已提供默认路径,也可以点击图标![avatar](images/browserFoler.png)进行自定义设置 -**步骤 4** 点击`烧录文件`后的图标 ![avatar](images/browserFoler.png) 浏览选择编译生成的BIN文件, 也可以选中要烧录的文件,右键->设置为烧录文件,如下图所示 +**步骤 4** `烧录文件`设置,可以通过手动和自动两种方式设置文件: +- 手动设置:点击`烧录文件`后的图标 ![avatar](images/browserFoler.png) 浏览选择编译生成的BIN文件,也可以选中要烧录的文件,右键->设置为烧录文件,如下图所示: - ![avatar](images/setBurner.png) + ![avatar](images/setBurner.png) - **注意:对于J-LINK烧录, 支持的烧录文件只有`Hi3861_demo_burn.bin`, 不用使用`Hi3861_demo_allinone.bin`。** +- 自动设置:在编译过程中会自动识别出编译输出件`bin`、`hex`、`fwpkg`并填入`烧录文件`下拉菜单中,可以点击下拉菜单选择烧录文件,如下图所示: -在编译过程中会自动识别出编译输出件`bin、hex、fwpkg`, 在`烧录文件`下拉选择框, 可以选择烧录文件: + ![avatar](images/setBurner_dropdown.png) - ![avatar](images/setBurner_dropdown.png) + **注意:对于J-LINK烧录,仅支持`Hi3861_demo_burn.bin`烧录文件,不支持使用`Hi3861_demo_allinone.bin`。** **步骤 5** `连接方式`、`连接速率`、`加载地址`使用默认值 `连接方式`当前只支持`JTAG`, `连接速率`使用默认值`2000KHz`, 否则烧录会失败。对于`WiFi IoT`开发板, `加载地址`为`0x400000`。 -**步骤 6** 配置好后点击![avatar](images/confirm.png)进行保存 +**步骤 6** 配置好后点击![avatar](images/confirm.png)保存 **步骤 7** 点击工具栏上的图标![avatar](images/burn.png)进行烧录 -在`终端`窗口输出烧录进度, 烧录成功的截图如下: +在`终端`窗口会输出烧录进度,烧录成功的截图如下: ![avatar](images/burn-succ3.png) #### 调试器-执行调试 -`HUAWEI LiteOS Studio` 调测配置非常简单, 只需要几步, 即可支持`WiFi-IoT` 图形化单步调试。由于`WiFi IoT`的`ROM`、封库特性, 有些源码无法单步调测, - -对于没有对应源代码的文件, 使用反汇编文件进行展示。 +`HUAWEI LiteOS Studio` 调测配置非常简单,只需要几步,即可支持`WiFi-IoT` 图形化单步调试。由于`WiFi IoT`的`ROM`、封库特性,有些源码无法单步调测。对于没有对应源代码的文件,可以使用反汇编文件进行展示。 **步骤 1** 点击工程配置界面上的`调试器` @@ -227,23 +231,23 @@ pip install scons **步骤 2** `调试器`选择`JLink` -**步骤 3** `连接方式`选择`JTAG`, 注意: 对于`WiFi IoT` 开发板的连接方式一定要选择`JTAG`, `连接速率`可以默认或者自行指定 +**步骤 3** `连接方式`选择`JTAG`,**注意: 对于`WiFi IoT` 开发板的连接方式一定要选择`JTAG`。**`连接速率`可以默认或者自行指定 **步骤 4** `调试器目录`选择`JLink`的安装目录 -**步骤 5** `GDB目录`可以默认, 或者自行指定 +**步骤 5** `GDB目录`可以默认或者自行指定 -**步骤 6** `可执行文件路径`选择输出目录下的`.out`文件, 可在编译后从下拉菜单点选, 或者自行指定 +**步骤 6** `可执行文件路径`选择输出目录下的`.out`文件,编译后可以从下拉菜单点选,或者自行指定 -**步骤 7** `调试配置`根据需要, 选择`复位调试`或`附加调试` +**步骤 7** `调试配置`根据需要选择`复位调试`或`附加调试` -***`复位调试`*** 会自动重启开发板, 并停止在main函数 +- 复位调试 会自动重启开发板,并停止在main函数 -***`附加调试`*** 不重启开发板, 附加到当前运行代码行 +- 附加调试 不重启开发板,附加到当前运行代码行 -配置好后点击确认按钮![avatar](images/confirm.png)进行保存 +配置好后点击确认按钮![avatar](images/confirm.png)保存 -**步骤 8** 在`HUAWEI LiteOS Studio`左侧的活动栏点击`运行`视图, 可以看到默认已经配置好调试配置`Jlink Debug`, 点击绿色三角按钮, 开始调试 +**步骤 8** 在`HUAWEI LiteOS Studio`左侧的活动栏点击`运行`视图,可以看到默认已经配置好调试配置`Jlink Debug`,点击绿色三角按钮开始调试 ![avatar](images/hi3861/debuggerView.png) @@ -251,57 +255,62 @@ pip install scons ![avatar](images/hi3861/debuggingView.png) -***变量** 展示局部变量、全局变量、静态变量 +- **变量** 展示局部变量、全局变量、静态变量 + +- **监视** 监视指定的表达式 -***监视** 监视指定的表达式 +- **调用堆栈** 展示当前运行状态和暂停状态的任务调用堆栈 -***调用堆栈** 展示当前的调用堆栈 +- **断点** 展示设置的断点 -***断点** 展示设置的断点 +- **寄存器** 查看各个寄存器的数值,支持复制数值操作 -***寄存器** 查看各个寄存器的数值, 支持复制数值操作 +- **反汇编 & 内存** 支持对函数进行反汇编,支持查看内存操作 -***反汇编 & 内存** 支持对函数进行反汇编, 支持查看内存操作。 +- **输出** 展示`GDB`客户端的输出日志 -***输出** 展示`GDB`客户端的输出日志 +- **调试控制台** 展示`GDB Server`的输出日志 -***调试控制台** 展示`GDB Server`的输出日志 +#### 调试器-断点 -#### 调试器-断点 监视点 +添加断点有两种方式: +- 方式一:将鼠标放在代码行号处,行号前面会出现红色圆点,单击圆点将这一行添加为断点。 +- 方式二:点击右键`添加断点`、`添加条件断点`、`添加记录点`。 -在代码行号处单击可以添加断点, 或者右键点击, 支持`条件断点`、`记录点`等 + ![avatar](images/hi3861/breakpoints.png) -![avatar](images/hi3861/breakpoints.png) +右键可以对添加的断点做删除、编辑、禁用操作。 -选中代码文件中的变量或表达式, 右键上下文菜单, 可以添加监视点: +#### 调试器-监视点 +选中代码文件中的变量或表达式,点击右键添加监视点: ![avatar](images/hi3861/watchpoint.png) #### 调试器-寄存器 -在`调试面板-寄存器`视图, 可查看开发板寄存器的数值。右键可复制寄存器值。 +在`调试面板-寄存器`视图,可查看开发板各寄存器的数值。点击右边的“copy value”可以复制这个数值。 ![avatar](images/hi3861/registers.png) #### 调试器-多线程调测 -LiteOS作为轻量级物联网操作系统, 同时只能运行一个Task任务线程。在调试时, 只能展示当前运行状态的任务线程的调用堆栈。通过多线程感知调测技术, 在调测时, 可以展示`Running运行`状态和`Pending暂停`状态的任务线程的调用堆栈, 提供更加强大的调试能力。 +LiteOS作为轻量级物联网操作系统,同时只能运行一个Task任务线程,调试时只能展示当前运行状态的任务线程的调用堆栈。通过多线程感知调测技术,调测时可以展示`Running运行`状态和`Pending暂停`状态的任务线程的调用堆栈,提供更加强大的调试能力。 ![avatar](images/hi3861/threadawareness.png) -点击调用堆栈中的栈帧可以跳转到对应的源文件。当在不同任务的栈帧中切换时, `变量`视图会同步更新展示。 +点击调用堆栈中的栈帧可以跳转到对应的源文件。当在不同任务的栈帧中切换时,`变量`视图也会同步更新展示。 #### 调试器-反汇编 -在单步调测时, 调测面板`反汇编&内存`中, 支持查看对应源代码的反汇编代码, 支持如下两种方式: +单步调测时,在`调试面板-反汇编&内存`视图中,可以查看对应源代码的反汇编代码,支持如下两种方式: ![avatar](images/hi3861/dissasm_0.png) -**反汇编指定函数** 通过输入函数名称, 展示指定函数的反汇编代码。 +- **反汇编指定函数** 点击反汇编指定函数,在弹出的窗口中输入想要反汇编的函数名,回车后就可以在代码区中看到这个函数的反汇编代码。 -![avatar](images/hi3861/dissasm_1.png) + ![avatar](images/hi3861/dissasm_1.png) -**反汇编当前函数** 自动展示当前任务栈函数的反汇编代码。 +- **反汇编当前函数** 点击反汇编当前函数,就可以在代码区中展示当前函数的反汇编代码。 反汇编文件展示效果如下: @@ -309,9 +318,7 @@ LiteOS作为轻量级物联网操作系统, 同时只能运行一个Task任务 #### 调试器-查看内存 -调测面板`反汇编&内存`中, 点击`查看内存`, 通过指定内存起始地址及长度, 可以展示开发板的内存信息。 - -在弹窗中输入内存起始地址, 要展示内存的长度: +在`调试面板-反汇编&内存`视图中,点击`查看内存`,在弹窗中输入内存起始地址及长度,可以展示开发板的内存信息。 ![avatar](images/hi3861/memoryAddress.png) @@ -323,37 +330,38 @@ LiteOS作为轻量级物联网操作系统, 同时只能运行一个Task任务 ### 炫彩灯工程案例 -演示如何创建/打开工程, 编译、烧录、效果演示等功能。 - -#### 硬件开发板准备 +演示如何新建/打开工程, 编译、烧录、效果演示等功能。 -WIFI-IoT开发板安装与介绍: +#### 硬件准备 -- 将Hi3861主板插到底板上 +硬件准备指的是`WiFi IoT`开发板的准备。本案例涉及到主板、通用底板、OLED屏和炫彩灯单板。 -**Hi3861V100主板:** +- **Hi3861V100主板:** -![avatar](images/hi3861/color_light/mainboard.png) + ![avatar](images/hi3861/color_light/mainboard.png) -**通用底板:** +- **通用底板:** -![avatar](images/hi3861/color_light/bottomboard.png) + ![avatar](images/hi3861/color_light/bottomboard.png) -**炫彩灯板:** +- **炫彩灯单板:** -炫彩灯主要包括三部分:炫彩三色灯部分, 由红绿蓝三种颜色组成, 通过PWM来驱动, 可以通过调节RGB的比例来呈现出不同的颜色, 通过调节占空比来调节灯的亮度;人体红外传感器部分, 通过红外探头发出的红外信号来检测外部环境的人体活动情况;光敏电阻, 主要用于检测外部环境的光照情况。 + 炫彩灯单板主要包括三部分: + - 炫彩三色灯:由红绿蓝三种颜色组成,通过PWM来驱动,可以通过调节RGB的比例来呈现出不同的颜色。通过调节占空比来调节灯的亮度。 + - 人体红外传感器:通过红外探头发出的红外信号来检测外部环境的人体活动情况。 + - 光敏电阻:主要用于检测外部环境的光照情况。 -![avatar](images/hi3861/color_light/light.png) + ![avatar](images/hi3861/color_light/light.png) -**主板、I2C屏和炫彩灯屏组合:** +开发板的安装:将Hi3861主板、OLED屏、炫彩灯板插到底板上,下图所示为**主板、OLED屏和炫彩灯单板的组合:** ![avatar](images/hi3861/color_light/together.png) -#### 创建/打开工程 +#### 新建/打开工程 -打开`HUAWEI LiteOS Studio`,点击打开工程按钮![avatar](images/openFolder.png)选择已下载的WIFI-IOT SDK包的目录: +参考[新建工程](/project_wifiiot?id=新建工程(可选))或[打开工程](/project_wifiiot?id=打开工程)。 -SDK路径示例如下(注意:下面截图路径为参考路径, 实际应以用户自己实际路径为标准): +SDK路径示例如下(注意:下面截图路径为参考路径,应以用户实际路径为准): ![avatar](images/hi3861/color_light/sdkPath.png) @@ -382,9 +390,9 @@ Hi3861包含的头文件 - tool: 配置工具, 如python脚本/xml文件等 -#### 工程配置 +#### 目标板配置 -工程配置中需要设置`WiFi IoT`开发板, 参考[目标板选择](/project_wifiiot?id=工程配置-目标板选择)。 +工程配置中需要设置`WiFi IoT`开发板,参考[选择目标板](/project_wifiiot?id=目标板配置-选择目标板)。 #### 组件配置 @@ -392,47 +400,45 @@ Hi3861包含的头文件 ![avatar](images/hi3861/color_light/comp_colorlight.png) -**步骤 2** 选择`App Demo`->选择`COLORFUL_LIGHT`, 点击 进行保存。点击 按钮更新组件目录, 将会加载在线组件目录。这样就选择了炫彩灯的demo,下面再进行其他的配置。 +**步骤 2** 选择`App Demo`->选择`COLORFUL_LIGHT`,点击确认按钮保存,这样就选择了炫彩灯的demo。 #### 编译配置及编译代码 -在工程配置中, 如何设置编译选项, 如何执行编译, 参考[编译代码](/project_wifiiot?id=编译配置-编译代码)。 +参考[编译配置-编译代码](/project_wifiiot?id=编译配置-编译代码)。 #### 烧录配置及开发板烧录 -`WiFi IoT`开发板支持HiBurner串口烧录, 支持JLINK的部分开发板也已经支持JLINK烧录。 - -在工程配置中, 如何设置烧录选项, 如何执行烧录, 分别参考[Hiburner串口烧录](/project_wifiiot?id=烧录配置-hiburner串口烧录)和[J-Link烧录](/project_wifiiot?id=烧录配置-j-link烧录)。 +`WiFi IoT`开发板支持HiBurner串口烧录,支持JLINK的开发板也已经支持JLINK烧录。可分别参考[Hiburner串口烧录](/project_wifiiot?id=烧录配置-hiburner串口烧录)和[J-Link烧录](/project_wifiiot?id=烧录配置-j-link烧录)。 #### 案例效果演示 炫彩灯Demo一共有7种模式: -**(1)Control Mode:**初始模式主要是三色灯的控制, 每按一下右键S1, 在红、绿、蓝三个状态之间切换, 如初始状态是红灯亮,按下右键S1就会让绿灯亮, 再按一下让蓝灯亮, 再按又是红灯亮, 如此循环。 +**1、Control Mode:** 初始模式主要是三色灯的控制,每按一次右键S2,就会在红、绿、蓝三个状态之间切换。如初始状态是红灯亮,按下右键S2就会让绿灯亮,再按一下蓝灯亮,再按又是红灯亮,如此循环。 ![avatar](images/hi3861/color_light/controlmode.png) -这里解释一下OLED屏上面显示的其中四行文字分别代表的含义: +解释一下OLED屏上显示的其中四行文字分别代表的含义: -- 第一行:WiFi-AP ON U:1 wifi状态ON表示WiFi的AP状态开启,OFF表示WiFi的AP状态关闭,U表示有几台设备与主板建立连接。WiFi-Client ON/OFF C/D:显示是否接入路由器, C/D:Connect/Disconnect。 +- 第一行:`WiFi-AP ON U:1` WiFi状态`ON`表示WiFi的`AP`状态开启,`OFF`表示WiFi的`AP`状态关闭,U表示有几台设备与主板建立连接。`WiFi-Client ON/OFF C/D`显示是否接入路由器,`C/D`:Connect/Disconnect。 -- 第二行:Colorful Light:表示的是现在演示的是哪一个demo。 +- 第二行:`Colorful Light`表示现在演示的是哪一个demo,当前为炫彩灯。 -- 第四行:Control Mode:表示现在是在哪个模式下(模式控制)。 +- 第四行:`Control Mode`表示现在是在哪个模式下(模式控制)。 -- 第六行:Blue on:表示现在是哪种状态(让蓝灯亮)。 +- 第六行:`Red on`表示现在是哪种状态(红灯亮)。 -**(2)Colorful Light:** 在上节的状态下, 按一下左键S2, 就从Control mode跳到了Colorful Light:每按一次右键S1, 三色灯会按照不同时间间隔进行循环亮灭。 +**2、Colorful Light:** 在上节`Control Mode`的状态下,按下左键S1,就从`Control Mode`跳到了`Colorful Light`。每按一次右键S2,三色灯就会按照不同时间间隔进行循环亮灭。 -- 1.period by 1s:红、绿、蓝三色灯每隔1秒轮流亮一次。 +- 1.period 1s:红、绿、蓝三色灯每隔1秒轮流亮一次。 -- 2.period by 0.5s:红、绿、蓝三色灯每隔0.5秒轮流亮一次。 +- 2.period 0.5s:红、绿、蓝三色灯每隔0.5秒轮流亮一次。 -- 3.period by 0.25s:红、绿、蓝三色灯每隔0.25秒轮流亮一次。 +- 3.period 0.25s:红、绿、蓝三色灯每隔0.25秒轮流亮一次。 ![avatar](images/hi3861/color_light/colorfullight.png) -**(3)PWM Control:**在上一节状态下, 再按下左键S2, 就从Colorful Light跳到了PWM Control, 每按一下右键S1, 会实现不同的调光类型。 +**3、PWM Control:** 在上节`Colorful Light`的状态下,再按下左键S1,就从`Colorful Light`跳到了`PWM Control`模式,每按一下右键S2,就会实现不同的调光类型。 - 1.Red:红色由暗到最亮 @@ -446,7 +452,7 @@ Hi3861包含的头文件 ![avatar](images/hi3861/color_light/pwmcontrol.png) -**(4)Brightness:**再次按下左键S2, 会从PWM Control跳到Brightness, 你每按下右键S1, 三色灯 的亮度就会发生变化, 从较暗、中等亮度、最亮三种状态间循环变化。 +**4、Brightness:** 再次按下左键S1,就会从`PWM Control`跳到`Brightness`模式,每按下右键S2,三色灯的亮度就会发生变化,在较暗、中等亮度、最亮三种状态间循环变化。 - 1.low:较暗亮度 @@ -456,53 +462,68 @@ Hi3861包含的头文件 ![avatar](images/hi3861/color_light/Brightness.png) -**(5)Human Detect:**再次按下左键S2, 会从Brightness模式调到Human detect, 该模式通过红外探头发出的红外信号来检测外部环境的人体活动情况。当有人经过, 白灯会亮起, 当人离开, 白灯会熄灭。可以通过人的靠近和远离来进行测试。 +**5、Human Detect:** 再次按下左键S1,会从`Brightness`模式跳到`Human detect`,该模式通过红外探头发出的红外信号来检测外部环境的人体活动情况。当有人经过,白灯会亮起;当人离开,白灯会熄灭。可以通过人的靠近和远离来进行测试。 ![avatar](images/hi3861/color_light/humandetect.png) -**(6)Light Detect:** 再次按下左键S2, 会从Human detect跳到Light Detect, 光敏电阻主要用于检测外部环境的光照情况, 如果检测到有光源, 灯熄灭, 当检测到无光源,灯亮起, 可用手遮住光敏电阻或 拿开来进行测试。 +**6、Light Detect:** 再次按下左键S1,会从`Human detect`跳到`Light Detect`,光敏电阻主要用于检测外部环境的光照情况。如果检测到有光源,灯熄灭;当检测到无光源,灯亮起。可以用手遮住光敏电阻或拿开来测试。 ![avatar](images/hi3861/color_light/lightdetect.png) -**(7)Union Detect:** 当再次按下左键S2时, 就会从Light Detect跳到Union detect, 主要是将人体红外传感器和光敏电阻结合起来, 控制白灯的亮灭, 当在无光源环境下且有人经过时, 灯会亮起, 其他情况下等都是熄灭状态。可把光敏电阻遮住, 通过人的走近和远离来测试现象. +**7、Union Detect:** 当再次按下左键S1时,就会从`Light Detect`跳到`Union detect`,主要是将人体红外传感器和光敏电阻结合起来,控制白灯的亮灭。当在无光源环境下且有人经过时,灯会亮起,其他情况下灯都是熄灭状态。可把光敏电阻遮住,通过人的走近和远离来测试现象。 ![avatar](images/hi3861/color_light/uniondetect.png) -**(8)Return Menu:** 当再次按下左键S2, Colorful light的所有模式都已经展示完毕了, 此时会弹出如下图这种情况, 此时你按左键S2就执行continue, 继续演示Colorful light的各种模式。 +**8、Return Menu:** 炫彩灯的所有模式都已经展示完毕。当再次按下左键S1,会出现如下图所示的情况,此时按左键S1就执行continue, 继续演示炫彩灯的各种模式。 ![avatar](images/hi3861/color_light/returnmenu.png) ### 交通灯工程案例 -#### 工程创建 +演示如何新建/打开工程, 编译、烧录、效果演示等功能。 + +#### 硬件准备 -和上一个炫彩灯demo一样打开`HUAWEI LiteOS Studio`进行工程创建和配置, 先安装WIFI-IOT开发板及交通灯demo所需的板子——交通灯单板, 将交通灯板安插在底板的最右侧。 +硬件准备指的是`WiFi IoT`开发板的准备。本案例涉及到主板、通用底板、OLED屏和交通灯单板。主板、底板的介绍可参考[炫彩灯工程案例-硬件准备](/project_wifiiot?id=硬件准备)。 -**交通灯:** 此模块主要包括三部分: 炫彩三色灯部分, 由红绿蓝三种颜色组成, 通过PWM来驱动, 可以通过调节RGB的比例来呈现出不同的颜色, 通过调节占空比来调节灯的亮度;人体红外传感器部分, 通过红外探头发出的红外信号来检测外部环境的人体活动情况;光敏电阻, 主要用于检测外部环境的光照情况。此模块和炫彩灯一样有防呆的箭头和标号。 +安装`WiFi IoT`开发板及交通灯demo所需的板子——交通灯单板,将交通灯单板安插在底板的最右侧。 -智能交通灯 +**交通灯单板:** 主要包括三部分: +- 交通灯,由红绿蓝三种颜色组成,通过PWM驱动。可以通过调节RGB的比例来呈现出不同的颜色,通过调节占空比来调节灯的亮度。 +- 人体红外传感器,通过红外探头发出的红外信号来检测外部环境的人体活动情况。 +- 光敏电阻,主要用于检测外部环境的光照情况。此模块和炫彩灯一样有防呆的箭头和标号。 + + 智能交通灯 防呆箭头和标号 -#### 组件配置 +#### 新建/打开工程 -在`HUAWEI LiteOS Studio`上的配置中除了组件配置要重新配置下外, 其他的配置和炫彩灯demo一致。交通灯demo的组件配置如下:按照截图中1/2/3步骤进行配置即可。 +参考[新建工程](/project_wifiiot?id=新建工程(可选))或[打开工程](/project_wifiiot?id=打开工程)。 -组件配置 +#### 工程配置 + +工程配置包括: +- 目标板配置,设置`WiFi IoT`开发板,参考[选择目标板](/project_wifiiot?id=目标板配置-选择目标板)。 +- 组件配置,按照下图中的步骤配置即可。 -#### 烧录后启动的效果 + 组件配置 +- 编译配置及编译代码,参考[编译配置-编译代码](/project_wifiiot?id=编译配置-编译代码)。 +- 烧录配置及开发板烧录,参考[炫彩灯工程案例-烧录配置及开发板烧录](/project_wifiiot?id=烧录配置及开发板烧录)。 -实际效果:交通灯demo一共有3种模式 +#### 案例效果演示 -**(1)** Control Mode: 进入Traffic Light demo, 初始状态就是Control Mode, 是通过右边按键S1来控制红、黄、绿灯的亮灭状态。但是绿灯亮时, 蜂鸣器会长周期响, 当红灯或绿灯亮时会短周期响。 +交通灯demo一共有3种模式: + +**1、Control Mode:** 此demo的初始状态是`Control Mode`,可以通过右键S2控制红、黄、绿灯的亮灭状态。绿灯亮时,蜂鸣器会长周期响,红灯或绿灯亮时则是短周期响。 Control Mode -**(2)** Auto Mode: 当按下左键S2时, 会从control mode跳到Auto mode, 交通灯模式, 模仿交通灯, 红灯常亮5秒, 然后闪烁3秒, 后黄灯闪烁3秒, 后绿灯常亮5秒, 再是绿灯闪烁3秒, 如此循环。绿灯亮时蜂鸣器长周期响, 红灯或黄灯亮时短周期响。最后一行的R,Y,G后面的数字代表倒数的时间, 动态显示, 时间的单位是秒, R代表红灯, Y代表黄灯, G代表绿灯, B代表的是蜂鸣器, ON代表蜂鸣器打开状态, OFF代表蜂鸣器关闭状态。交通灯的倒数时间我们也可以在代码中自己设置。 +**2、Auto Mode:** 按下左键S1,会从`control mode`跳到`Auto mode`。此模式模仿交通灯,红灯常亮5秒后闪烁3秒,接着黄灯闪烁3秒,然后绿灯常亮5秒后闪烁3秒,如此循环。绿灯亮时蜂鸣器长周期响,红灯或黄灯亮时短周期响。最后一行的`R`、`Y`、`G`后面的数字代表亮灯时间的倒计时,动态显示,单位是秒。`R`代表红灯,`Y`代表黄灯,`G`代表绿灯。`B`代表蜂鸣器,`1`代表蜂鸣器打开状态, `0`代表蜂鸣器关闭状态。交通灯亮灯时间的倒计时也可以在代码中自行设置。 Auto Mode -**(3)**Human Mode: 当再次按下左键S2时, 会从Auto mode跳到Human Mode模式, 就是在Auto mode的基础上增加了人为控制, 且红灯常亮改为30秒。模仿交通灯, 红灯常亮30秒后闪烁3秒, 黄灯闪烁3秒, 然后绿灯常亮5秒, 绿灯闪烁3秒, 如此循环。一旦有人按下右键S1, 红灯立即快闪3秒, 进入绿灯常亮5秒, 再绿灯闪烁3秒, 再进入红灯30秒常亮模式, 后进入正常循环。绿灯亮时蜂鸣器长周期响, 红灯或黄灯亮时短周期响。此时如果再按一下左键S2就会跳到Return Menu界面, 选择按下Continue继续demo循环。 +**3、Human Mode:** 再次按下左键S1,会从`Auto mode`跳到`Human Mode`模式。该模式在`Auto mode`的基础上增加了人为控制,且红灯常亮**改为30秒**。模仿交通灯,红灯常亮30秒后闪烁3秒,接着黄灯闪烁3秒,然后绿灯常亮5秒后闪烁3秒,如此循环。一旦按下右键S2,红灯立即快闪3秒后绿灯常亮5秒,绿灯闪烁3秒后再进入红灯30秒常亮模式,后进入正常循环。绿灯亮时蜂鸣器长周期响,红灯或黄灯亮时短周期响。此时再按一下左键S1就会跳到`Return Menu`界面,选择按下`Continue`继续demo循环。 Human Mode @@ -510,41 +531,58 @@ Hi3861包含的头文件 ### 环境监测工程示例 -#### 工程创建 +演示如何新建/打开工程, 编译、烧录、效果演示等功能。 + +#### 硬件准备 -和上一个炫彩灯demo一样打开`HUAWEI LiteOS Studio`进行工程创建和配置, 先安装WIFI-IOT开发板及环境监测demo所需的板子——环境监测单板, 将环境监测单板安插在底板的最右侧。此模块主要包括三部分:温湿度传感器部分, 主要用于检测外部环境的温湿度数据;烟雾传感器部分, 主要用于检测外部环境的液化气、苯、酒精、烟雾等气体的浓度, 蜂鸣器部分, 我们可以设定这两种传感器采集数据的阈值, 当数据超过阈值蜂鸣器发出警报。 +硬件准备指的是`WiFi IoT`开发板的准备。本案例涉及到主板、通用底板、OLED屏和和环境监测单板。主板、底板的介绍可参考[炫彩灯工程案例-硬件准备](/project_wifiiot?id=硬件准备)。 + +安装`WiFi IoT`开发板及环境监测demo所需的板子——环境监测单板,将环境监测单板安插在底板的最右侧。 + +**环境监测单板:** 主要包括三部分: +- 温湿度传感器,主要用于检测外部环境的温湿度数据。 +- 可燃气体检测传感器,主要用于检测外部环境的液化气、苯、酒精、烟雾等气体的浓度。 +- 蜂鸣器,通过设定温湿度传感器和可燃气体检测传感器采集数据的阈值,当数据超过阈值蜂鸣器发出警报。 环境监测 防呆箭头和标号 -#### 组件配置 +#### 新建/打开工程 + +参考[新建工程](/project_wifiiot?id=新建工程(可选))或[打开工程](/project_wifiiot?id=打开工程)。 + +#### 工程配置 -环境监测demo组件配置如下:1/2/3,其他的配置参考炫彩灯demo。 +工程配置包括: +- 目标板配置,设置`WiFi IoT`开发板,参考[选择目标板](/project_wifiiot?id=目标板配置-选择目标板)。 +- 组件配置,按照下图中的步骤配置即可。 -组件配置 + 组件配置 +- 编译配置及编译代码,参考[编译配置-编译代码](/project_wifiiot?id=编译配置-编译代码)。 +- 烧录配置及开发板烧录,参考[炫彩灯工程案例-烧录配置及开发板烧录](/project_wifiiot?id=烧录配置及开发板烧录)。 -#### 烧录后启动的效果 +#### 案例效果演示 -实际效果:环境监测demo一共有4种模式 +环境监测demo共有4种模式: -**(1)**Environment Monitoring:当进入环境监测demo, 初始状态是Environment Monitoring, 主要用来实时显示外部环境的温湿度以及可燃气体的浓度。OLED显示屏的最后一行文字的含义: +**1、Environment Monitoring:** 此demo的初始状态是`Environment Monitoring`,主要用来实时显示外部环境的温湿度以及可燃气体的浓度。OLED显示屏最后一行的文字含义如下: -T:Temperature温度, H:Humidity湿度, CG:Combustible Gas 可燃气体 +T:Temperature温度, H:Humidity湿度, CG:Combustible Gas可燃气体 -当温度超过25度, 蜂鸣器长周期响, 超过30度, 短周期响,这里的阈值我们也可以在代码中自己设置。 +当温度超过25度,蜂鸣器长周期响;超过30度,短周期响。这里的温度阈值也可以在代码中自行设置。 温度、湿度和可燃气体值显示 -**(2)**Temperature Mode: 当再次按下左键S2时, 会从Environment Monitoring模式跳到Temperature Mode模式, 此模式下的OLED屏上只会显示实时的温度, 通过温度传感器来实时监测外界环境的温度数据。 +**2、Temperature Mode:** 按下左键S1,会从`Environment Monitoring`模式跳到`Temperature Mode`模式,此模式下OLED屏上只显示实时温度,通过温湿度传感器来实时监测外界环境的温度数据。 温度值显示 -**(3)**Humidity Mode: 当再次按下左键S2时, 会从Temperature Mode模式跳转到Humidity mode模式, 此模式下的OLED屏上只会显示实时的湿度, 通过湿度传感器来实时监测外界环境的湿度数据。 +**3、Humidity Mode:** 再次按下左键S1,会从`Temperature Mode`模式跳转到`Humidity mode`模式,此模式下的OLED屏上只显示实时的湿度,通过温湿度传感器来实时监测外界环境的湿度数据。 湿度值显示 -**(4)**Combustible Gas Mode: 当再次按下左键S2时, 会从Humidity mode模式跳转到Combustible Gas Mode模式, 此模式下的OLED屏上只会显示实时可燃气体浓度数据, 通过可燃气体传感器来实时监测外界环境的可燃气体浓度数据。此时如果再按一下左键S2就会跳到 Return Menu界面, 选择Exit就可以跳转到主菜单选择界面。 +**4、Combustible Gas Mode:** 再次按下左键S1,会从`Humidity mode`模式跳转到`Combustible Gas Mode`模式,此模式下的OLED屏上只显示实时可燃气体浓度数据,通过可燃气体传感器来实时监测外界环境的可燃气体浓度数据。此时如果再按一下左键S1就会跳到`Return Menu`界面,选择Exit就可以跳转到主菜单选择界面。 可燃气体值显示 @@ -552,71 +590,83 @@ T:Temperature温度, H:Humidity湿度, CG:Combustible Gas 可燃气体 ### NFC工程案例 -演示如何创建/打开工程,编译、烧录、效果演示等功能。 +演示如何新建/打开工程, 编译、烧录、效果演示等功能。 -#### 工程创建 +#### 硬件准备 -和炫彩灯demo一样,打开`HUAWEI LiteOS Studio`进行工程创建和配置 +硬件准备指的是`WiFi IoT`开发板的准备。本案例涉及到主板、通用底板、OLED屏和和NFC单板。主板、底板的介绍可参考[炫彩灯工程案例-硬件准备](/project_wifiiot?id=硬件准备)。 -#### 硬件开发板准备 +NFC demo所需的板子——NFC单板如下图所示: -安装`WiFi IoT`开发板及NFC demo所需的板子——NFC单板 +![avatar](images/hi3861/NFC/NFCboard.png) -**NFC单板:** +NFC demo可以唤起5个应用程序:微信/今日头条/淘宝/华为智慧生活/histreaming,通过按钮进行切换即可。 -![avatar](images/hi3861/NFC/NFCboard.png) +安装好后的`WiFi IoT`开发板及NFC单板如下图所示: + +![avatar](images/hi3861/NFC/app_wechat.png) -NFC demo内置了可以唤起5个应用程序:分别是微信/今日头条/淘宝/华为智慧生活/和histreaming。通过按钮进行切换即可。 +#### 新建/打开工程 -#### 组件配置 +参考[新建工程](/project_wifiiot?id=新建工程(可选))或[打开工程](/project_wifiiot?id=打开工程)。 -![avatar](images/hi3861/NFC/comp_NFC.png) +#### 工程配置 -其他配置参考炫彩灯demo进行配置即可。 +工程配置包括: +- 目标板配置,设置`WiFi IoT`开发板,参考[选择目标板](/project_wifiiot?id=目标板配置-选择目标板)。 +- 组件配置,按照下图中的步骤配置即可。 + ![avatar](images/hi3861/NFC/comp_NFC.png) +- 编译配置及编译代码,参考[编译配置-编译代码](/project_wifiiot?id=编译配置-编译代码)。 +- 烧录配置及开发板烧录,参考[炫彩灯工程案例-烧录配置及开发板烧录](/project_wifiiot?id=烧录配置及开发板烧录)。 -#### 烧录后启动的效果 +#### 案例效果演示 -NFC demo一共拉起5个APP,按键切换拉起不同应用。 +NFC demo会拉起5个APP,按键切换可以拉起不同应用。 -**(1)Wechat:** NFC demo初始状态是WeChat , 也就是用安卓手机碰一下NFC板, 就会调起手机的微信APP。 +**1、Wechat:** NFC demo初始状态是WeChat。在这种模式下用安卓手机碰一下NFC板,就会调起手机的微信APP。 ![avatar](images/hi3861/NFC/app_wechat.png) -**(2)Today Headline:** 再按下左键S2,会从WeChat mode跳到 Today Headline mode, 用安卓手机碰一下NFC板, 就会调起手机的今日头条APP。 +**2、Today Headline:** 按下左键S1,会从`WeChat mode`跳到`Today Headline mode`,用安卓手机碰一下NFC板,就会调起手机的今日头条APP。 ![avatar](images/hi3861/NFC/app_todayheadline.png) -**(3)Taobao:** 再按下左键S2,会从Today Headline mode跳到 Taobao mode, 用安卓手机碰一下NFC板, 就会调起手机的淘宝APP。 +**3、Taobao:** 再按下左键S1,会从`Today Headline mode`跳到`Taobao mode`,用安卓手机碰一下NFC板,就会调起手机的淘宝APP。 ![avatar](images/hi3861/NFC/app_taobao.png) -**(4)Huawei_SM_life:** 再按下左键S2,会从Taobao mode跳到 Huawei SM_Life mode, 用安卓手机碰一下NFC板, 就会调起手机的华为智慧生活APP。 +**4、Huawei_SM_life:** 再按下左键S1,会从`Taobao mode`跳到`Huawei SM_Life mode`,用安卓手机碰一下NFC板,就会调起手机的华为智慧生活APP。 ![avatar](images/hi3861/NFC/app_huaweismlife.png) -**(5)Histreaming:** 再按下左键S2,会从Huawei SM_Life mode跳到 Histreaming mode, 用安卓手机碰一下NFC板, 就会调起手机的Histreaming APP。 +**5、Histreaming:** 再按下左键S1,会从`Huawei SM_Life mode`跳到`Histreaming mode`,用安卓手机碰一下NFC板,就会调起手机的Histreaming APP。 -Histreaming 是我们自己开发的一款手机APP, 主要是与我们的主板通过WiFi建立通信, 如果把主板安装在智能小车上面, 可以通过Histreaming来控制小车的运动, 比如前进后退, 左右移动, 红外循迹, 智能避障等功能, 后续会集合芯片开发更多的功能, 敬请期待。 +`Histreaming APP`是我们自己开发的一款手机APP,主要是通过WiFi与主板建立通信,如果把主板安装在智能小车上面,可以通过Histreaming来控制小车的运动,比如前进后退、左右移动、红外循迹、智能避障等功能,后续会结合芯片开发更多的功能,敬请期待。 ![avatar](images/hi3861/NFC/app_histreaming.png) ### All Demo 工程示例 -演示如何创建/打开工程, 编译、烧录、效果演示等功能。 +演示如何新建/打开工程, 编译、烧录、效果演示等功能。 -#### 工程创建 +#### 硬件准备 -和炫彩灯demo一样,打开`HUAWEI LiteOS Studio`进行工程创建和配置 +准备好单板,可以参考以上各案例。 -#### 硬件开发板准备 +#### 新建/打开工程 -准备好单板 +参考[新建工程](/project_wifiiot?id=新建工程(可选))或[打开工程](/project_wifiiot?id=打开工程)。 -组件配置:按照步骤1/2/3进行配置即可。 +#### 工程配置 -![avatar](images/hi3861/all_demo/comp_alldemo.png) +工程配置包括: +- 目标板配置,设置`WiFi IoT`开发板,参考[选择目标板](/project_wifiiot?id=目标板配置-选择目标板)。 +- 组件配置,按照下图中的步骤配置即可。 + ![avatar](images/hi3861/all_demo/comp_alldemo.png) +- 编译配置及编译代码,参考[编译配置-编译代码](/project_wifiiot?id=编译配置-编译代码)。 +- 烧录配置及开发板烧录,参考[炫彩灯工程案例-烧录配置及开发板烧录](/project_wifiiot?id=烧录配置及开发板烧录)。 -#### 烧录后启动的效果 +#### 案例效果演示 上电时先显示“Hello Hi3861”表示主板`Hi3861`启动成功 @@ -629,58 +679,36 @@ Histreaming 是我们自己开发的一款手机APP, 主要是与我们的主 此时我们就可以通过按键S1和S2来对OLED屏板进行控制了。 屏幕上面的4行文字分别对应了: +- 1.炫彩灯demo +- 2.交通灯demo +- 3.环境监测demo +- 4.NFC碰一碰demo -1.炫彩灯demo 2.红绿灯demo 3.环境监测demo 4.NFC碰一碰demo。 - -最后一行Select:后面的数字对应了我们选择的demo序号, 通过左边按键S2来选择, Enter是确认按键, 由右边按键S1来控制;比如:现在要演示第2个demo, 先按左键S2, 让select:后面数字显示为2, 再按右键S1, Enter确认, 进入第2个demo的演示界面。 +最后一行`Select:`后面的数字对应了我们选择的demo序号,通过左键S1来选择,Enter是确认按键,由右键S2来控制。例如现在要演示第2个demo,先按左键S1,让`select:`后面的数字显示为2,再按右键S2进行Enter确认,进入第2个demo的演示界面。 ![avatar](images/hi3861/all_demo/demointro.png) -### 案例使用技术指引 - -#### 案例中信号量的使用 - -在NFC demo中使用了两种方式进行示例, 分别是中断和查询。 - -其中中断方式的区别在于:在中断过程中使用了信号量, 由于i2c通信中使用了信号量操作, 不能在中断中直接调用接口, 故而使用二值信号量区同步中断, 示例如下: - -**使用信号量:** - - ![avatar](images/hi3861/all_demo/sem.png) - -**同步信号量:** - -![avatar](images/hi3861/all_demo/sem_wait.png) - -#### 互斥量的使用 - -在i2c通信中, i2c总线上可以挂载的设备数量取决于i2c总线的寻址范围和硬件结构, 驱动能力等理论上7位寻址的i2c总线可以挂载127个设备, 除去0号设备作为群呼地址外。但在实际应用过程中可能会遇到挂载的两个设备出现地址相同的情况或者两个i2c设备需要分时调用的情况, 可以采用互斥量分时调用的方式进行处理。 - -**创建互斥量:** - - ![avatar](images/hi3861/all_demo/muxCreate.png) - -**互斥量获取使用后释放:** - -![avatar](images/hi3861/all_demo/muxPost.png) - #### Histreaming APP控制设备侧 -**组件配置:** +**步骤 1** 组件配置 -打开LiteOS的`组件配置`,依次选择`Link Settings`->`Histreaming support`->`确认`,如下图所示: +打开LiteOS Studio的`工程配置-组件配置`,依次选择`Link Settings`->`Histreaming support`->`确认`,如下图所示: ![avatar](images/hi3861/histreaming_select.png) -重新编译,烧录,重启后,串口打印如下: +**步骤 2** 重新编译,烧录重启后,串口打印如下: ![avatar](images/hi3861/histreaming_serial.png) -这时打开手机WiFi查看Hi3861发出的热点,点击连接即可。 +**步骤 3** 打开手机WiFi查看Hi3861发出的热点,点击连接即可 ![avatar](images/hi3861/histreaming_wlan.png) -然后打开histreaming APP,出现这个界面时,往下滑动刷新 +**步骤 4** 获取Histreaming APP。扫描下方二维码即可下载(当前APP只支持安卓系统,不支持IOS系统) + +![avatar](images/hi3861/histreaming_app.png) + +**步骤 5** 打开Histreaming APP,出现这个界面时,往下滑动刷新 ![avatar](images/hi3861/histreaming_device.png) @@ -688,76 +716,106 @@ Histreaming 是我们自己开发的一款手机APP, 主要是与我们的主 ![avatar](images/hi3861/histreaming_lan.png) -显示界面如下,其中Colorful_Light/Traffic_Light/Environment/NFC这四个界面是HiSpark的Demo +显示界面如下,其中`Colorful_Light`、`Traffic_Light`、`Environment`、`NFC`这四个界面是HiSpark的Demo ![avatar](images/hi3861/histreaming_demos.png) -选择`Colorful_light`,可以操作`Colorful_light`(炫彩灯Demo)下的任意一个module,如果要退出,选择操作`Traffic_light`(交通灯Demo),必须先退出该模式,点击`Return_Menu_Module`,才能选择其他Demo,每一个Demo界面下都有一个`Return_Menu_Module`。不能跨Demo执行。 +选择`Colorful_light`,可以操作`Colorful_light`(炫彩灯Demo)下的任意一个module。如果想切换到`Traffic_light`(交通灯Demo),必须先退出当前Demo,点击`Return_Menu_Module`,才能选择其他Demo。每个Demo界面下都有一个`Return_Menu_Module`。 -注意:点击`Return_Menu_Module`是告诉设备侧,已经退出当前Demo模式,可以进入其他模式了,在没有退出当前Demo模式之前,不能跨Demo模式执行。 +注意:点击`Return_Menu_Module`是告诉设备侧,已经退出当前Demo,可以进入其他Demo模式了,在没有退出当前Demo模式之前,不能跨Demo模式执行。 ![avatar](images/hi3861/histreaming_modules.png) #### Ocean Connect连接华为云属性上报 -**注册华为云账号:** +**华为云网站操作** + +**步骤 1** 注册华为云账号: -打开华为云网址,点击注册后登陆。登陆后,在搜索框中输入`IOTDA`,在弹出选项中选择`设备接入IOTDA`。 +打开华为云网址,点击注册后登陆。 + +**步骤 2** 登陆后在搜索框中输入`IOTDA`,在弹出选项中选择`设备接入IOTDA`。 ![avatar](images/hi3861/iotda.png) -创建产品(产品名称可自定义): +**步骤 3** 创建产品(产品名称可自定义): ![avatar](images/hi3861/createProduct.png) -创建属性(注意属性必须和设备侧上报的一致): +**步骤 4** 创建属性(注意属性必须和设备侧上报的一致): ![avatar](images/hi3861/createProperty.png) -设备侧操作: +**设备侧操作** + +**步骤 1** 组件配置 -在组件配置中选择`Ocean Connect support`->`确认`,然后重新编译、烧录。 +在LiteOS Studio的`工程配置-组件配置`中依次选择`Link Settings`->`Ocean Connect support`->`确认`。 ![avatar](images/hi3861/ocean_config.png) -复位重启,设置热点SSID和密码,在代码中可自行更改。 +**步骤 2** 在代码中设置热点SSID和密码后编译、烧录 -重启后,扫描SSID,等待连接热点串口打印如下: +**步骤 3** 手机上设置热点SSID和密码(需要和代码中的SSID、密码一致) + +**步骤 4** 复位重启开发板。开发板重启后,程序会自动扫描当前网络中存在的WiFi热点SSID,等待连接热点的串口打印如下: ![avatar](images/hi3861/ocean_serial.png) -连接热点成功: +日志中打印`WiFi: Connected`,表示WiFi已经连接成功: ![avatar](images/hi3861/ocean_connectSucc.png) -设备侧属性上报:ocean_report +设备侧属性上报,下图是炫彩灯上报成功的设备侧日志输出: ![avatar](images/hi3861/ocean_report.png) +**华为云网站查看属性** + 打开华为云网页,即可看到设备已在线: ![avatar](images/hi3861/ocean_device_online.png) -点击进入,即可看到上报属性: +点击进入,即可看到上报的属性。下图上报的是环境监测案例在具体模式下的温度(单位:°C)、湿度(单位:百分比)、可燃气体值(单位:PPM): ![avatar](images/hi3861/ocean_report_property.png) -通过云端控制设备侧,并上报属性,APP的相关操作如下: +**手机上APP操作** + +通过`Hi3861 Demo APP`可以在云端控制设备侧,并上报属性。 + +**步骤 1** 获取`Hi3861 Demo APP`,扫描下方二维码即可下载(当前APP只支持安卓系统,不支持IOS系统) + +![avatar](images/hi3861/Hi3861_Demo_app.png) -设置设备的产品ID、密码、项目ID、IOTDA地址、应用鉴权等 +**步骤 2** 打开Hi3861 Demo APP,点击“设置”,进入设置页面 + +![avatar](images/hi3861/hi3861_demo_set.png) + +**步骤 3** 在设置页面中设置`IAM用户名`、`IAM用户密码`、`用户所属账号的名称`、`项目ID(必选)` + +![avatar](images/hi3861/hi3861_demo_setting.png) + +**步骤 4** 设置好上述的信息后,返回主界面,点击“应用侧”,如下图所示 + +![avatar](images/hi3861/hi3861_demo_use.png) + +**步骤 5** 点击“V5应用接入”,进入的`应用鉴权`页面 + +![avatar](images/hi3861/Hi3861_Demo_v5_app.png) + +**步骤 6** 在`应用鉴权`页面,先点击`读取设置`查看之前设置的情况,再点击`应用鉴权`,如果在`操作日志`框中显示“鉴权成功”,说明已经成功设置信息`IAM用户名`、`IAM用户密码`等信息 ![avatar](images/hi3861/ocean_app.png) -点击`最佳实践`: +**步骤 7** 返回主界面,点击`最佳实践`: ![avatar](images/hi3861/ocean_bestSample.png) -点击`查询设备`: +**步骤 8** 进入`最佳实践`的页面后,点击`查询设备`后再点击`设备控制` ![avatar](images/hi3861/ocean_search.png) -点击`设备控制`,即可控制设备: - -![avatar](images/hi3861/ocean_control.png) - +**步骤 9** 进入`设备控制`后即可控制设备。至此,APP的相关操作已经结束 +![avatar](images/hi3861/ocean_control.png) \ No newline at end of file diff --git a/docs/studio_qa.md b/docs/studio_qa.md index c519b2537620cd9b4db01c24ff6c8066eb6f0282..97dde4e77ff1887cd07e6539757f8563f9965fe1 100644 --- a/docs/studio_qa.md +++ b/docs/studio_qa.md @@ -14,52 +14,46 @@ ### 新建工程失败问题 -如果基于开源LiteOS SDK新建工程,需要访问`https://gitee.com/LiteOS/`。新建工程失败,失败主要有 +如果基于开源LiteOS SDK新建工程,需要访问`https://gitee.com/LiteOS/`。新建工程失败,失败主要有以下两种情况: -以下两种情况: - - **代理配置问题:** +- **代理配置问题:** - 需要配置代理未配置,或者代理配置不正确,下载进入超时,提示用户检查网络环境与代理配置,报错如下图: + 需要配置代理未配置,或者代理配置不正确,下载进入超时,提示用户检查网络环境与代理配置,报错如下图: -![avatar](images/proxyError.png) + ![avatar](images/proxyError.png) -代理配置界面如下图: + 代理配置界面如下图: ![avatar](images/proxySetting.png) -通过`点击设置按钮->设置->在输入框中输入proxy->填写Http:Proxy`设置LiteOS Studio使用的代理,例如`http://username:password@yourserver:8080`(用户名、密码中如果包含 - -特殊字符,需要进行转义) + 通过`点击设置按钮->设置->在输入框中输入proxy->填写Http:Proxy`设置LiteOS Studio使用的代理,例如`http://username:password@yourserver:8080`(用户名、密码中如果包含特殊字符,需要进行转义)。 -尽量使用中国国内代理区域,能够保证一定的下载速度。 + 尽量使用中国国内代理区域,能够保证一定的下载速度。 -**网络环境问题:** +- **网络环境问题:** -当网络环境出现问题,例如网络连接断开时,下载将会进入超时,并提示用户检查网络环境。 + 当网络环境出现问题,例如网络连接断开时,下载将会进入超时,并提示用户检查网络环境。 ### 编译失败问题 -在确保LiteOS工程在windows下能够编译,且在HUAWEI LiteOS Studio上各项设置均按照用户指南完成后,如果编译依旧失败,可能为如下几个问题: - -**磁盘映射问题:** +LiteOS工程在windows下能够编译,且已经按照用户指南完成HUAWEI LiteOS Studio的各项设置后,如果编译依旧失败,可能为如下几个问题: -Linux下编译正常,通过`HUAWEI LiteOS Studio`编译报错`can't stat build : permission denied; can't create directory 'build' : File exists`,通常由于服务器上代码映射 +- **磁盘映射问题:** -到本地使用导致,可能原因是build目录下文件正在被使用,无法删除等,如果短时间无法解决,可将代码拷贝到本地即可解决 + Linux下编译正常,通过`HUAWEI LiteOS Studio`编译报错`can't stat build : permission denied; can't create directory 'build' : File exists`,通常由于服务器上代码映射到本地使用导致,可能原因是build目录下文件正在被使用,无法删除等,如果短时间无法解决,可将代码拷贝到本地解决。 -**编译路径问题:** +- **编译路径问题:** -通常不建议用户将工程保存到带有中文、特殊字符的文件夹下,`HUAWEI LiteOS Studio`暂时不对保存地址进行检查与限制,如果编译路径包含中文、空格等导致编译失败,可手动将工程保存到常规合法路径下 + 通常不建议用户将工程保存到带有中文、特殊字符的文件夹下,`HUAWEI LiteOS Studio`暂时不对保存地址进行检查与限制,如果编译路径包含中文、空格等导致编译失败,可手动将工程保存到常规合法路径下。 ### 烧录失败问题 -**系统版本问题:** +- **系统版本问题:** -使用openOCD烧录时,烧录报错`"."不是内部或外部命令,也不是可运行的程序,或批处理文件`,可能由于使用`WINDOWS7`操作系统,系统下没有`powershell`工具导致,可修改默认终端设置,如下图: + 使用openOCD烧录时,烧录报错`"."不是内部或外部命令,也不是可运行的程序,或批处理文件`,可能由于使用`WINDOWS7`操作系统,系统下没有`powershell`工具导致,可修改默认终端设置,如下图: -![avatar](images/setTerminal_1.png) + ![avatar](images/setTerminal_1.png) -![avatar](images/setTerminal_2.png) + ![avatar](images/setTerminal_2.png) -将默认终端设为`cmd`,即可烧录成功 + 将默认终端设为`cmd`,即可烧录成功。