logo资料库

HarmonyOS设备开发入门1.2版.pdf

第1页 / 共85页
第2页 / 共85页
第3页 / 共85页
第4页 / 共85页
第5页 / 共85页
第6页 / 共85页
第7页 / 共85页
第8页 / 共85页
资料共85页,剩余部分请下载后查看
HarmonyOS 设备开发入门 版本: 1.2 作者: 连志安 时间: 2020 年 11 月 更新: 鸿蒙小车及其语音控制等 6 个子章节 目录 目录 .................................................................................................................................................. 1 第 1 章 HarmonyOS 介绍 .................................................................................................................. 2 1.1 鸿蒙系统与 Linux、Android 的不同 ............................................................................. 2 1.2 LiteOS 内核 ..................................................................................................................... 2 1.3 相关资料 ........................................................................................................................... 3 第 2 章 开发环境搭建 ..................................................................................................................... 3 2.1 Linux 环境搭建 ................................................................................................................ 3 2.2 Windows 访问 ubuntu 文件 .............................................................................................. 5 2.3 Windows 环境搭建 ............................................................................................................ 8 2.4 烧录 ................................................................................................................................... 8 第 3 章 Hi3861 开发 ........................................................................................................................ 8 3.1 编写一个简单的 hello world 程序 ............................................................................... 8 3.2 Hi3861 相关代码结构 .................................................................................................... 10 3.3 Hi3861 启动流程 ............................................................................................................ 11 3.4 Hi3861 AT 指令源码分析,如何添加一条自己的 AT 指令 ........................................ 14 3.5 Hi3861 WiFi 操作,热点连接 ...................................................................................... 17 3.6 Hi3861 OLED 驱动 .......................................................................................................... 21 3.7 Hi3861 实现 APP 配网功能 ........................................................................................... 24 3.8 如何往鸿蒙系统源码中添加第三方软件包 ................................................................. 31 3.9 移植 paho mqtt 软件包到鸿蒙系统 ............................................................................. 36 3.10 ADC 按键的使用 ............................................................................................................ 51 3.11 使用鸿蒙开发板实现第一个物联网项目 ................................................................... 56 3.12 分析 helloworld 程序是如何被调用,SYS_RUN 做什么事情 ................................. 60 3.13 基于鸿蒙系统 + Hi3861 的 WiFi 小车 ..................................................................... 66 3.13 Hi3861 NV 操作——如何保存数据到开发板,断电不丢失 .................................... 72 3.13 MQTT 编程 ...................................................................................................................... 78 3.13 语音控制小车 ............................................................................................................... 79 欢迎访问 HarmonyOS 技术社区 https://harmonyos.51cto.com/
第 1 章 HarmonyOS 介绍 1.1 鸿蒙系统与 Linux、Android 的不同 HarmonyOS 是一款“面向未来”、面向全场景(移动办公、运动健康、社 交通信、媒体娱乐等)的分布式操作系统。在传统的单设备系统能力的基础上, HarmonyOS 提出了基于同一套系统能力、适配多种终端形态的分布式理念,能 够支持多种终端设备。 HarmonyOS 整体遵从分层设计,从下向上依次为:内核层、系统服务层、 框架层和应用层。系统功能按照“系统 > 子系统 > 功能/模块”逐级展开,在 多设备部署场景下,支持根据实际需求裁剪某些非必要的子系统或功能/模块。 HarmonyOS 技术架构如图所示。 我们可以看到,鸿蒙系统不单单是一个内核,它还包含了整个操作系统的所 有框架,更像是 Windows 和 Android。 而鸿蒙系统的内核支持 Linux 和 LiteOS。 1.2 LiteOS 内核 LiteOS 是一个内核,相比其 Linux 来说,它更精简,启动时间更快。同时 liteOS 内核有 liteOS-a 和 liteOS-m 。 liteOS-a 通常运行支持 MMU 的芯片上,支持内核/APP 空间隔离。ARM cotex -A 系列 欢迎访问 HarmonyOS 技术社区 https://harmonyos.51cto.com/
liteOS-m 运行在没有 MMU 的芯片上,也就是 MCU,例如我们常见的 STM32 芯片。所以鸿蒙 OS 也是支持 STM32 系列单片机的,但是目前还没有完成移植 工作。 1.3 相关资料 鸿蒙官方文档:https://www.harmonyos.com/cn/develop 鸿蒙 gitee:https://openharmony.gitee.com/openharmony 鸿蒙 OS 代码下载: https://device.harmonyos.com/cn/docs/start/get-code/oem_sourcecode_guide-000000 1050769927 第 2 章 开发环境搭建 关于开发环境的搭建,可以参考华为官网说明。 https://device.harmonyos.com/cn/docs/start/introduce/oem_quickstart_3861_buil d-0000001054781998 。 目前鸿蒙系统的开发方式是在 Linux 系统上面编译源码,Windows 系统上编 写、烧录。 故而需要搭建两个开发环境。 2.1 Linux 环境搭建 关于 Linux 系统的环境搭建,个人建议使用 ubuntu 20.04。当然我们也提供 了搭建好环境的 ubuntu 20.04 镜像,大家可以直接下载,直接编译代码,不需要 再按官网的操作再重新搭建环境。 目测个人第一次搭建至少需要几个小时的时间,还可能会出错。 由于百度网盘经常封链接,如果发现链接失效,可以联系我,VX 13510979604 腾讯云盘 链接:https://share.weiyun.com/6suCAhNN 欢迎访问 HarmonyOS 技术社区 https://harmonyos.51cto.com/
百度网盘(以下几个链接,选一个能用的下载就行): 1、链接:https://pan.baidu.com/s/1sT3ASuqRbh3zH3WFdxw6AA 提取码:iaap 2、链接:https://pan.baidu.com/s/1j8jLF0QZmiWhriiwzMPCMg 提取码:zgew 说明: 1、已配置好开发环境,可直接编译代码,编译可以正常运行 2、配置好 sftp ,可远程传输文件 账号:harmony 密码:123456 代码路径:~/harmony/code/code-1.0 相关的环境工具路径(可以不用管了,已经配置好了,直接可以编译): ~/harmony/tools 编译命令: (1)对应开发板: hi3516 IPC 开发板 python build.py ipcamera_hi3516dv300 (2)对应开发板: hi3518 IPC 开发板 python build.py ipcamera_hi3518ev300 (3)对应开发板: hi3861 智能家居 开发板 python build.py wifiiot 编译结果,可以看到已经编译成功了 欢迎访问 HarmonyOS 技术社区 https://harmonyos.51cto.com/
2.2 Windows 访问 ubuntu 文件 由于我们后面需要在 Windows 上直接编辑 ubuntu 系统里面的鸿蒙源码,故 而我们需要使用 samba 服务,让 Windows 能访问到 ubuntu。 操作如下: 1.设置 apt-get 源 可以更快地下载 samba。设置如下 (1)在桌面右上角点击打开菜单,点击 setting 选项。 (2)在设置选项右侧下拉找到“关于”,点击 Software Updates。 欢迎访问 HarmonyOS 技术社区 https://harmonyos.51cto.com/
(3)在软件和更新界面里可以看到“下载自”,我们可以进行修改。 (4)推荐选择 mirros.aliyun.com 或者 mirrors.tuna.tsinghua.edu.cn,你也可以点 击选择最佳服务器,测 (5)试连接最快的软件源(测试时间较长)。 (6)最后,退出软件与更新界面时,会提示更新软件列表信息,点击重新载入 即可。 2.安装 samba 输入如下命令: sudo apt-get install samba sudo apt-get install samba-common 欢迎访问 HarmonyOS 技术社区 https://harmonyos.51cto.com/
修改 samba 配置文件 sudo vim /etc/samba/smb.conf 在最后加入如下内容: [work] comment = samba home directory path = /home/harmony/ public = yes browseable = yes public = yes writeable = yes read only = no valid users = harmony create mask = 0777 directory mask = 0777 #force user = nobody #force group = nogroup available = yes 保存退出后,输入如下命令,设置 samba 密码,建议 123456 即可 sudo smbpasswd -a harmony 重启 samba 服务 sudo service smbd restart 3.windows 映射 在文件夹路径输入虚拟机的 IP 地址 最后映射成网络驱动器即可 欢迎访问 HarmonyOS 技术社区 https://harmonyos.51cto.com/
2.3 Windows 环境搭建 Windows 的环境搭建,官网已经有了,这里就不在赘述。 https://device.harmonyos.com/cn/docs/ide/user-guides/tool_install-00000010501 64976 2.4 烧录 烧录也可以参考官方文档: https://device.harmonyos.com/cn/docs/ide/user-guides/riscv_upload-0000001051 668683 第 3 章 Hi3861 开发 3.1 编写一个简单的 hello world 程序 编写一个 hello world 程序比较简单,可以参考官网: 欢迎访问 HarmonyOS 技术社区 https://harmonyos.51cto.com/
分享到:
收藏