# OpenHarmony-Demo **Repository Path**: dawningw/openharmony-demo ## Basic Information - **Project Name**: OpenHarmony-Demo - **Description**: 《基于 OpenHarmony 的嵌入式开发》配套例程 - **Primary Language**: C - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 10 - **Forks**: 3 - **Created**: 2023-01-03 - **Last Updated**: 2024-11-29 ## Categories & Tags **Categories**: Uncategorized **Tags**: OpenHarmony ## README # 《基于 OpenHarmony 的嵌入式开发》配套例程 ## 介绍 本仓库包含第七、八、九章的全部例程,以及开发板资料和工具等,详情请到仓库内查看。 **此分支适用于 OpenHarmony 3.2 版本,3.1 版本请前往 [3.1 分支](https://gitee.com/dawningw/openharmony-demo/tree/3.1)查看** **注意:直接使用 Windows 进行 Hi3861 轻量系统开发(即 hi3861_hdu_iot_application 仓库)使用的 OpenHarmony 版本为 3.1,请前往[3.1 分支](https://gitee.com/dawningw/openharmony-demo/tree/3.1)查看例程代码!** ## 目录结构
OpenHarmony-Demo (master) ├── applications/sample/wifi-iot/app/ 轻量系统开发案例(第七、八章) ├── device/ 小型系统开发案例 —— 设备开发(第九章) │ ├── board/bearpi/bearpi_hm_micro/app/ 设备侧程序 │ └── soc/st/common/platform/ 设备侧驱动 ├── vendor/ 小型系统开发案例 —— 设备开发(第九章) │ └── bearpi/bearpi_hm_micro/hdf_config/ 小熊派 Micro 驱动设备树配置 ├── foundation/ 小型系统开发案例 —— 应用开发(第九章) │ └── arkui/ace_engine_lite/ 使界面框架支持调用驱动 ├── haps/ 小型系统开发案例 —— 应用开发(第九章) │ ├── Game2048/ 本书配套 2048 小游戏的源码 │ ├── Game2048.hap 本书配套 2048 小游戏 APP │ ├── Game_1.0.0.hap 小熊派的 2048 小游戏 APP │ ├── Led_1.0.0.hap GPIO 基础控制开发示例配套应用(源码) │ └── Micro_E53_1.0.0.hap 智慧农业-感知控制项目配套应用(源码) ├── docs/ │ ├── Hi3861/ Hi3861 相关资料 │ ├── HiSpark_WiFi_IoT智能小车开发套件/ HiSpark 小车套件相关资料 │ ├── Ai-Thinker_Hi-07S、Hi-12F_16Mbit__20211012.bin Hi-12F 模组出厂 AT 固件 │ ├── 常规出厂AT指令集.pdf Hi-12F 模组 AT 固件使用手册 │ ├── hi-12f_kit_v1.1.0-20211025.pdf hi-12f_kit 开发板规格书 │ └── BearPi-HM Micro原理图.pdf BearPi-HM Micro 原理图 ├── tools/ │ ├── car_controller_windows/ 智能小车案例上位机代码 │ ├── 小车控制程序.exe 编译好的智能小车案例上位机程序 │ └── HiBurn.exe Hi3861 烧录工具 └── README.md## 教程导航 轻量系统例程编译指南(必看):[applications/sample/wifi-iot/app/README.md](https://gitee.com/dawningw/openharmony-demo/blob/master/applications/sample/wifi-iot/app/README.md) 第七章 轻量系统基础技术: - 7.1.3 HelloWorld 示例程序:[71_hello_world](https://gitee.com/dawningw/openharmony-demo/tree/master/applications/sample/wifi-iot/app/71_hello_world) - 7.2 GPIO 开发示例:[72_gpio_demo](https://gitee.com/dawningw/openharmony-demo/tree/master/applications/sample/wifi-iot/app/72_gpio_demo) - 7.3 UART 开发示例:[73_uart_demo](https://gitee.com/dawningw/openharmony-demo/tree/master/applications/sample/wifi-iot/app/73_uart_demo) - 7.4 I2C 开发示例:[74_i2c_demo](https://gitee.com/dawningw/openharmony-demo/tree/master/applications/sample/wifi-iot/app/74_i2c_demo) - 7.5 看门狗开发示例:[75_watchdog_demo](https://gitee.com/dawningw/openharmony-demo/tree/master/applications/sample/wifi-iot/app/75_watchdog_demo) - 7.6 ADC 开发示例:[77_adc_demo](https://gitee.com/dawningw/openharmony-demo/tree/master/applications/sample/wifi-iot/app/77_adc_demo) - 7.7 PWM 开发示例:[78_pwm_demo](https://gitee.com/dawningw/openharmony-demo/tree/master/applications/sample/wifi-iot/app/78_pwm_demo) - 7.8 Wi-Fi 开发示例 - 7.8.2 STA 开发示例:[79_wifi_sta_demo](https://gitee.com/dawningw/openharmony-demo/tree/master/applications/sample/wifi-iot/app/79_wifi_sta_demo) - 7.8.3 AP 开发示例:[79_wifi_ap_demo](https://gitee.com/dawningw/openharmony-demo/tree/master/applications/sample/wifi-iot/app/79_wifi_ap_demo) - 7.8.4 开发工具封装 - wifi_connecter 使用示例:[79_easywifi_sta_demo](https://gitee.com/dawningw/openharmony-demo/tree/master/applications/sample/wifi-iot/app/79_easywifi_sta_demo) - wifi_starter 使用示例:[79_easywifi_ap_demo](https://gitee.com/dawningw/openharmony-demo/tree/master/applications/sample/wifi-iot/app/79_easywifi_ap_demo) 第八章 轻量系统应用开发: - 8.1 空气质量检测仪项目:[81_air_quality](https://gitee.com/dawningw/openharmony-demo/tree/master/applications/sample/wifi-iot/app/81_air_quality) - 8.2 节点互联的交通灯系统项目:[82_traffic_light](https://gitee.com/dawningw/openharmony-demo/tree/master/applications/sample/wifi-iot/app/82_traffic_light) - 8.3 基于互联网信息的天气预报项目:[83_weather_forecast](https://gitee.com/dawningw/openharmony-demo/tree/master/applications/sample/wifi-iot/app/83_weather_forecast) - 8.4 无线遥控小车项目:[84_smart_car](https://gitee.com/dawningw/openharmony-demo/tree/master/applications/sample/wifi-iot/app/84_smart_car) 第九章 小型系统应用开发: - 9.1.6 基本应用程序开发示例:[device/board/bearpi/bearpi_hm_micro/app/helloworld](https://gitee.com/dawningw/openharmony-demo/tree/master/device/board/bearpi/bearpi_hm_micro/app/helloworld) - 9.2 2048 小游戏开发项目:[haps/Game2048](https://gitee.com/dawningw/openharmony-demo/tree/master/haps/Game2048) - 9.3.2 LED 灯驱动开发:[device/soc/st/stm32mp1xx/sdk_liteos/hdf_config/led](https://gitee.com/dawningw/openharmony-demo/tree/master/device/soc/st/stm32mp1xx/sdk_liteos/hdf_config/led) [device/soc/st/common/platform/led](https://gitee.com/dawningw/openharmony-demo/tree/master/device/soc/st/common/platform/led) - 9.3.3 LED 控制业务开发:[device/board/bearpi/bearpi_hm_micro/app/led_app](https://gitee.com/dawningw/openharmony-demo/tree/master/device/board/bearpi/bearpi_hm_micro/app/led_app) - 9.3.5 基于 JS 应用的 LED 控制:[APP](https://gitee.com/bearpi/bearpi-hm_micro_app/tree/master/code/Led) - 9.4 智慧农业-感知控制项目:[device/soc/st/common/platform/E53_IA1](https://gitee.com/dawningw/openharmony-demo/tree/master/device/soc/st/common/platform/E53_IA1) [APP](https://gitee.com/bearpi/bearpi-hm_micro_app/tree/master/code/Micro_E53/entry/src/main/js/default/pages/nongye) ## 常见问题 ### 从 OpenHarmony 3.1 升级 #### 轻量系统 (Hi3861) 1. OpenHarmony 3.1 -> 3.2,部分头文件和源文件路径变动 ``` 头文件: //base/iot_hardware/peripheral/interfaces/kits -> //base/iothardware/peripheral/interfaces/inner_api //device/hisilicon/hispark_pegasus/sdk_liteos/include -> //device/soc/hisilicon/hi3861v100/sdk_liteos/include //device/hisilicon/hispark_pegasus/sdk_liteos/third_party/lwip_sack/include -> //vendor/hisi/hi3861/hi3861/third_party/lwip_sack/include //vendor/bearpi/bearpi_hm_nano/common/iot_hardware_hals/include -> //device/board/bearpi/bearpi_hm_nano/iot_hardware_hals/include 源文件: //vendor/bearpi/bearpi_hm_nano/common/iot_hardware_hals/src/* -> //device/board/bearpi/bearpi_hm_nano/iot_hardware_hals/src/* ``` 2. OpenHarmony 3.1 -> 3.2,Wi-Fi 示例中的宏有变动 ``` WIFI_STATE_AVALIABLE -> WIFI_STATE_AVAILABLE ``` #### 小型系统 (小熊派 Micro) 1. OpenHarmony 3.1 -> 3.2,部分路径有所变动 ``` foundation\ace -> foundation\arkui ``` 2. 在 OpenHarmony 3.2 及以上版本中,部分函数名称有所修改 ``` HdfSBufObtainDefaultSize -> HdfSbufObtainDefaultSize HdfSBufRecycle -> HdfSbufRecycle ``` ### “基于 JS 应用的 LED 控制”和“智慧农业-感知控制项目”APP 报错 如果应用在运行时出现类似于下面的报错: ``` 01-01 00:00:41.665 12 51 E 02500/hdf_syscall_adapter: TrytoLoadIoService: load dev_mgr driver failed 01-01 00:00:41.665 12 51 E 02500/hdf_devmgr_adapter: HdfLoadDriverByServiceName failed to get dev_mgr service 01-01 00:00:41.665 12 51 E 02500/hdf_syscall_adapter: TrytoLoadIoService: load hdf_led driver failed 01-01 00:00:41.665 12 51 E 03900/ACE: fail to get service2 hdf_led ``` 可能是 `/dev/hdf` 缺少权限导致的,可在串口控制台执行下列命令授予权限: ```bash chmod 0777 /dev chmod 0777 /dev/hdf ``` ## 另请参阅 想学习更多 OpenHarmony 相关开发知识,还可参阅以下教程: OpenHarmony 轻量系统开发: - BearPi-HM_Nano 案例开发:[https://gitee.com/openharmony/device_board_bearpi/tree/master/bearpi_hm_nano/app](https://gitee.com/openharmony/device_board_bearpi/tree/master/bearpi_hm_nano/app) - Hi3861V100 实验开发指导:[https://gitee.com/openharmony/vendor_hisilicon/tree/master/hispark_pegasus/demo](https://gitee.com/openharmony/vendor_hisilicon/tree/master/hispark_pegasus/demo) - Hi3861 OpenHarmony 物联网技术及应用:[https://gitee.com/HiSpark/hi3861_hdu_iot_application](https://gitee.com/HiSpark/hi3861_hdu_iot_application) OpenHarmony 小型系统开发: - 小熊派 (BearPi-HM Micro) 设备开发手把手教程:[https://gitee.com/openharmony/device_board_bearpi/tree/master/bearpi_hm_micro/docs](https://gitee.com/openharmony/device_board_bearpi/tree/master/bearpi_hm_micro/docs) - 小熊派 (BearPi-HM Micro) 应用开发手把手教程:[https://gitee.com/bearpi/bearpi-hm_micro_app/tree/master](https://gitee.com/bearpi/bearpi-hm_micro_app/tree/master) OpenHarmony 标准系统开发: - Taurus & Pegasus AI 计算机视觉基础开发套件学习资料:[https://gitee.com/HiSpark/HiSpark_NICU2023](https://gitee.com/HiSpark/HiSpark_NICU2023)