图书简介:
鸿蒙系统南北向开发基础篇
第1章 鸿蒙系统应用开发认知 2
1.1 物联网系统概述 3
1.1.1 计算机系统 4
1.1.2 嵌入式系统 4
1.1.3 物联网系统 4
1.2 华为海思Hi3861芯片概述 5
1.2.1 基于RISC-V CPU架构的Hi3861 5
1.2.2 Hi3861功能特性 6
1.2.3 Hi3861开发板电路介绍 7
1.3 OpenHarmony系统概述 9
1.3.1 OpenHarmony系统架构与类型 9
1.3.2 基于LiteOS-M内核的OpenHarmony系统 10
1.3.3 基于LiteOS-A内核的OpenHarmony系统 11
1.3.4 基于Linux内核的OpenHarmony系统 12
第2章 鸿蒙系统设备开发基础 14
2.1 鸿蒙设备开发环境搭建 15
2.1.1 Visual Studio Code安装与配置 15
2.1.2 DevEco DeviceTool插件安装 16
2.1.3 SDK下载 16
2.1.4 工具集下载和UART接口驱动安装 17
2.2 Hi3861-iot工程源码开发基础 18
2.2.1 工程源码导入 18
2.2.2 工程配置 19
2.2.3 工程源码编译 20
2.2.4 工程程序烧录 20
2.2.5 工程程序调试 20
2.2.6 鸿蒙设备Hello程序 21
2.3 鸿蒙设备GPIO应用开发 22
2.3.1 海思GPIO函数 22
2.3.2 鸿蒙系统GPIO函数 25
2.3.3 鸿蒙系统GPIO中断概述 28
2.4 鸿蒙系统PWM应用开发 30
2.4.1 PWM信号原理 30
2.4.2 鸿蒙系统PWM函数 32
2.4.3 应用案例:PWM控制蜂鸣器发声 32
2.5 鸿蒙系统ADC应用开发 34
2.5.1 ADC工作原理 35
2.5.2 鸿蒙系统ADC函数 35
2.5.3 应用案例:ADC获取环境亮度 37
2.6 综合项目实践:烟雾警报器 38
2.6.1 项目架构 38
2.6.2 烟雾传感模块 39
2.6.3 继电器模块 39
2.6.4 编程实现 41
2.6.5 项目总结与拓展 43
第3章 鸿蒙系统设备开发进阶 45
3.1 鸿蒙系统多线程应用开发 46
3.1.1 多线程工作原理与用途 46
3.1.2 CMSIS多线程 46
3.1.3 POSIX 多线程 47
3.1.4 综合应用案例:多线程烟雾警报器 49
3.2 鸿蒙系统定时器与线程同步 53
3.2.1 osTimer定时器 53
3.2.2 鸿蒙系统线程同步 55
3.2.3 综合应用案例:DHT11温湿度传感器驱动 57
3.3 鸿蒙系统I2C应用开发 62
3.3.1 I2C的通信原理与用途 62
3.3.2 鸿蒙系统I2C操作函数 63
3.3.3 OLED屏工作原理 64
3.3.4 应用案例:OLED屏驱动 65
3.4 综合项目实践:带屏显的温湿度计 71
3.4.1 OLED屏显示数字 71
3.4.2 OLED屏显示中文字符 73
3.4.3 主程序编程 74
3.4.4 项目总结与拓展 76
第4章 设备开发拓展:触摸屏开关 78
4.1 电容式触摸屏驱动 78
4.1.1 电容式触摸屏工作原理 79
4.1.2 触摸屏模组的硬件接入 80
4.1.3 触控芯片CST816D 81
4.1.4 触控驱动开发 82
4.2 LCD屏驱动 87
4.2.1 SPI的通信原理 87
4.2.2 鸿蒙系统的SPI操作函数 88
4.2.3 LCD屏工作原理 90
4.2.4 LCD屏驱动 91
4.3 综合项目实践:智能触摸开关项目开发 98
4.3.1 LCD屏字符显示 98
4.3.2 LCD屏图像显示 100
4.3.3 LCD屏中文显示 102
4.3.4 LCD屏按键控制LED 103
4.3.5 项目总结与拓展 105
第5章 鸿蒙移动应用开发基础 107
5.1 鸿蒙移动应用开发环境搭建 108
5.1.1 DevEco Stuio安装与配置 108
5.1.2 鸿蒙App工程的创建 109
5.1.3 鸿蒙虚拟手机的配置 111
5.2 ArkTS开发语言基础 114
5.2.1 变量的声明与类型 114
5.2.2 数组与动态数组 115
5.2.3 函数与箭头函数 116
5.2.4 类与接口 116
5.2.5 模块的应用 118
5.3 鸿蒙ArkUI开发基础 119
5.3.1 Text组件 120
5.3.2 Button组件 120
5.3.3 Row与Column容器 121
5.3.4 Image组件 122
5.3.5 TextInput组件 122
5.3.6 综合应用案例:登录验证页面设计 123
5.4 鸿蒙ArkUI开发进阶 126
5.4.1 List列表组件 126
5.4.2 Tabs分页组件 128
5.4.3 自定义样式 130
5.4.4 自定义组件 132
5.5 综合项目实践:物联网设备管理App开发 132
5.5.1 App功能模块设计 133
5.5.2 项目工程的创建与配置 133
5.5.3 登录验证模块功能实现 135
5.5.4 设备管理模块功能实现 137
5.5.5 项目总结与拓展 139
鸿蒙系统南北向综合项目实战篇
第6章 智慧工厂楼宇监控项目开发 142
6.1 项目概述 143
6.2 项目开发知识准备 143
6.2.1 项目硬件架构 143
6.2.2 设备端程序架构与流程 144
6.2.3 App端程序架构与流程 145
6.2.4 网络通信原理与网络协议栈 146
6.2.5 UDP网络通信协议概述 147
6.3 鸿蒙设备端开发 148
6.3.1 继电器模块编程 149
6.3.2 人体感应模块编程 152
6.3.3 光敏与烟雾模块编程 154
6.3.4 Wi-Fi模块编程 156
6.3.5 UDP网络通信模块编程 161
6.3.6 设备端主程序编程 167
6.4 鸿蒙App端开发 169
6.4.1 鸿蒙App端UDP编程 170
6.4.2 鸿蒙App端主程序编程 172
6.5 项目总结与拓展 176
第7章 智慧仓储环境监测项目开发 178
7.1 项目概述 179
7.2 项目开发知识准备 179
7.2.1 项目硬件架构 179
7.2.2 设备端程序架构与流程 180
7.2.3 App端程序架构与流程 181
7.2.4 TCP概述 181
7.3 鸿蒙设备端开发 183
7.3.1 项目源码工程配置 183
7.3.2 AHT20温湿度模块编程 186
7.3.3 TCP服务器端模块编程 190
7.3.4 设备端主程序编程 195
7.4 鸿蒙App端开发 199
7.4.1 鸿蒙App端TCP编程 199
7.4.2 鸿蒙App端UDP编程 202
7.4.3 鸿蒙App端主程序编程 203
7.5 通信加密的简单实现 207
7.6 项目总结与拓展 209
第8章 智慧市政云管理项目开发 210
8.1 项目概述 210
8.2 项目开发知识准备 211
8.2.1 项目硬件架构 211
8.2.2 设备端程序架构与流程 212
8.2.3 App端程序架构与流程 212
8.2.4 华为物联网云服务搭建 214
8.3 鸿蒙设备端开发 219
8.3.1 土壤湿度与光敏模块编程 220
8.3.2 MQTT.fx通信测试 223
8.3.3 JSON数据格式 226
8.3.4 MQTT网络通信模块编程 226
8.3.5 设备端主程序编程 232
8.4 鸿蒙App端开发 234
8.4.1 鸿蒙App端的HTTP编程 235
8.4.2 物联网云平台HTTP通信编程 237
8.4.3 鸿蒙App端主程序编程 245
8.5 项目总结与拓展 252
展开
本书从最初构思到定稿经过多次修改,旨在为广大师生提供一本能够促进鸿蒙南北向开发相关课程教学顺利开展、提高教学效果的好教材。
随着鸿蒙系统(HarmonyOS)的广泛应用,鸿蒙生态持续繁荣发展。作为中国自主可控操作系统的代表,鸿蒙系统承载着国家信息技术自主创新的重要使命,得到了政策层面的大力支持和推广,这使得鸿蒙系统正以前所未有的速度拓展其应用领域和市场份额,从而带动了鸿蒙系统开发相关岗位需求的激增。因此,高等职业教育信息技术类相关专业都会开设鸿蒙系统开发相关课程,以满足物联网开发工程师、移动应用开发工程师和嵌入式开发工程师岗位的相关需求。本书按照专业人才培养目标与岗位工作要求确定内容,选取多个经典应用场景作为案例项目,设计了4个部分,以满足不同专业、不同方向的鸿蒙系统开发相关课程的教学需求。
一、本书特色
(1)根据课程特点,融入思政元素。
本书潜移默化地培养读者精益求精的工匠精神和技能人才的责任担当。在“鸿蒙系统应用开发认知”部分融入坚持自主可控、突破技术封锁的精神;在“鸿蒙系统设备开发基础”部分融入实施智慧消防、保障公众安全的理念,在“鸿蒙系统设备开发进阶”部分通过优化相关模块融入对项目精益求精的大国工匠精神;在“鸿蒙移动应用开发基础”部分有效融入以人为本及不断创新的理念;通过智慧工厂楼宇、智慧仓储、智慧市政等经典应用场景融入实施智慧监控、风控降本增效的理念。
(2)“岗课赛证”融通,确定本书内容。
本书对接鸿蒙系统开发工程师岗位需求,考虑到华为物联网开发工程师(HCIA-IoT)权威认证和HarmonyOS创新赛需求,围绕物联网应用系统的开发,针对智慧工厂楼宇、智慧仓储、智慧市政等典型应用场景设计教学案例项目,讲解如何基于典型的物联网应用系统架构,使用物联网云平台、多协议通信开发、鸿蒙南北向开发技术开发一个实用的物联网应用系统。
学生学习完本书,可以积累前沿的物联网项目开发、移动应用开发和嵌入式开发等开发经验,为成为优秀的物联网开发工程师、移动应用开发工程师和嵌入式开发工程师打下坚实的基础,有效拓宽学生的就业口径,能够满足物联网应用技术相关专业,包括汽车智能技术、智能产品开发与应用、嵌入式应用技术、工业互联网技术等专业鸿蒙系统开发技术相关课程的教学要求。
(3)内容组织结构支持模块化教学。
本书分为鸿蒙系统南北向开发基础篇的鸿蒙系统应用开发认知、鸿蒙系统设备开发基础、鸿蒙系统设备开发进阶、设备开发拓展、鸿蒙移动应用开发基础,以及鸿蒙系统南北向综合项目实战篇的智慧工厂楼宇监控、智慧仓储环境监测、智慧市政云管理项目开发。鸿蒙系统南北向开发基础篇介绍如何使用鸿蒙系统开发物联网系统的设备端和应用端,鸿蒙系统南北向综合项目实战篇介绍如何通过Wi-Fi、UDP、TCP、MQTT、HTTP等模块完成设备端和应用端的连接,完成一个实用的物联网综合应用项目。教师可灵活选取单元适配课时与学生基础,进行模块化教学。
二、教学建议
本书支持模块化教学,建议教师根据学生的基础和课程的教学目标,选取相关单元或相关章节进行教学。
课程的教学目标 建议选择单元或章节
高职高专 建议选择第1、2、3、5、6章和第8章。其中,第3章的OLED屏驱动,第6章的Wi-Fi模块编程和UDP网络通信模块编程,学生在了解其原理的情况下可以直接使用。
第4章与第7章作为拓展内容,供学有余力的学生自行学习
高职本科或应用本科 建议选择全部章节
三、分工
本书的编写得到了深圳市讯方技术股份有限公司的大力支持。由覃国蓉担任主编,刘国锋、叶青、王霄雪、张凯和王宝强担任副主编。在本书的编写过程中,覃国蓉负责拟定全书大纲、开发部分案例项目及承担主要的编写工作;刘国锋和叶青主要负责大部分案例项目的开发及相关操作视频的制作;王霄雪、张凯和王宝强负责部分章节的编写,并承担授课视频、动画、教学课件、题库等教学资源的建设工作。此外,刘国锋、叶青、王霄雪、张凯和王宝强还进行了教材的试用与教学反馈,并提出了诸多建设性的修改建议,为本书的高质量完成做出了重要贡献。
四、致谢
在本书的编写过程中,编者参阅了大量的文献资料,在此向相关作者表示感谢。由于编写时间和编者水平有限,书中难免存在疏漏之处,欢迎广大读者批评指正,以便我们不断修改和完善。
编 者
展开