HarmonyOS(鸿蒙操作系统)是一款“面向未来”的操作系统,是万物互联的基础,会给人们的生活带来巨大的变化!
本书介绍如何使用HarmonyOS开发物联网设备端软件,具体包括外设控制、网络编程、物联网平台接入等。从0到1,教你开发一个物联网应用。
本书主要介绍如何使用HarmonyOS(鸿蒙操作系统)开发物联网设备端软件,具体包括外设控制、网络编程、物联网平台接入等。本书的实例程序均在HiSpark Wi-Fi IoT开发套件上进行测试和演示,部分章节内容也适用于其他支持HarmonyOS的物联网设备。
本书共8章,分为4篇,即环境准备篇、外设控制篇、传输协议篇、物联网应用篇。环境准备篇包含第1章,主要内容为如何搭建HarmonyOS(鸿蒙操作系统)开发环境。外设控制篇包含第2章~第4章,主要内容为如何使用HarmonyOS(鸿蒙操作系统)控制外设。传输协议篇包含第5章和第6章,主要内容为如何使用HarmonyOS控制Wi-Fi,以及如何使用HarmonyOS(鸿蒙操作系统)进行网络编程。物联网应用篇包含第7章和第8章。通过学习第7章,读者能够对内核对象有比较深刻的理解。第8章的主要内容包括如何集成MQTT客户端SDK,以及如何开发一个物联网应用。
本书适合物联网设备开发、测试工程师阅读,也适合开设相关课程的院校师生阅读,还适合对HarmonyOS(鸿蒙操作系统)生态未来发展趋势感兴趣的推动者、从业者和潜在的生态建设参与者阅读。
环境准备篇
第1章 搭建HarmonyOS开发环境
1.1 海思Hi3861芯片简介
1.2 Wi-Fi IoT开发套件简介
1.2.1 核心板简介
1.2.2 底板简介
1.2.3 交通灯板简介
1.2.4 炫彩灯板简介
1.2.5 环境检测板简介
1.2.6 OLED显示屏板简介
1.2.7 NFC扩展板简介
1.3 准备HarmonyOS开发环境
1.3.1 开发环境简介
1.3.2 硬件准备
1.3.3 软件准备
1.4 搭建HarmonyOS 编译环境
1.4.1 安装编译环境依赖的软件包
1.4.2 下载编译和构建工具
1.4.3 安装编译和构建工具
1.4.4 安装Samba服务
1.5 下载和编译HarmonyOS源代码
1.5.1 获取HarmonyOS源代码
1.5.2 HarmonyOS 源代码目录简介
1.5.3 编译HarmonyOS源代码
1.6 使用HUAWEI DevEco Device Tool
1.6.1 下载HUAWEI DevEco Device Tool及其依赖的软件
1.6.2 安装HUAWEI DevEco Device Tool
1.6.3 映射Samba服务的共享目录到本地磁盘
1.6.4 用HUAWEI DevEco Device Tool导入项目
1.7 使用串口调试工具
1.7.1 下载CH340芯片相关软件
1.7.2 安装CH340芯片的驱动
1.7.3 串口调试工具简介
1.7.4 用串口调试工具查看串口日志
外设控制篇
第2章 用HarmonyOS控制I/O设备
2.1 从编写Hello World开始
2.1.1 编写Hello World程序源代码
2.1.2 将源代码编译成二进制文件
2.1.3 将二进制文件烧录到开发板
2.1.4 通过“串口”查看程序的运行结果
2.2 使用GPIO模块输出高/低电平
2.2.1 GPIO简介
2.2.2 HarmonyOS IoT硬件子系统的GPIO模块与输出相关的API
2.2.3 核心板可编程LED灯部分的原理图说明
2.2.4 通过GPIO模块控制LED灯亮和灭
2.3 使用GPIO模块实现按键输入
2.3.1 HarmonyOS IoT硬件子系统的GPIO模块与输入相关的API
2.3.2 核心板USER按键部分的原理图说明
2.3.3 通过查询GPIO状态控制LED灯
2.3.4 通过注册GPIO中断控制LED灯
2.4 使用PWM模块输出方波
2.4.1 PWM简介
2.4.2 HarmonyOS IoT硬件子系统的PWM模块的相关API
2.4.3 交通灯板的蜂鸣器部分的相关原理图说明
2.4.4 通过输出PWM方波控制蜂鸣器发声
2.4.5 通过PWM模块在蜂鸣器上播放音乐
2.4.6 通过PWM模块控制蜂鸣器的音量和LED灯的亮度
第3章 使用HarmonyOS感知环境状态
3.1 使用ADC获取模拟传感器的状态
3.1.1 HarmonyOS IoT硬件的ADC通道
3.1.2 Wi-Fi IoT开发套件的炫彩灯板原理图说明
3.1.3 通过光敏电阻感知环境光
3.1.4 通过人体红外传感器感知人员靠近
3.1.5 传感器状态控制三色LED灯的颜色
3.1.6 使用ADC值区分同一个引脚上的不同按键
3.2 其他ADC传感器的使用
3.2.1 与环境检测板MQ-2相关的原理图说明
3.2.2 MQ-2可燃气体传感器简介
3.2.3 读取MQ-2可燃气体传感器的ADC值
3.3 使用I2C接口获取数字温湿度传感器的状态
3.3.1 HarmonyOS IoT硬件的I2C接口
3.3.2 AHT20数字温湿度传感器简介
3.3.3 环境检测板上与AHT20数字温湿度传感器相关的原理图说明
3.3.4 实现AHT20数字温湿度传感器驱动库
3.3.5 获取AHT20数字温湿度传感器的值
第4章 OLED显示屏的驱动和控制
4.1 使用HarmonyOS驱动OLED显示屏
4.1.1 OLED简介
4.1.2 OLED显示屏的原理图
4.1.3 OLED的初始化
4.1.4 在OLED显示屏上绘制画面
4.1.5 在OLED显示屏上绘制ASCII字符串
4.2 在OLED显示屏上显示中文
4.2.1 中文字符编码和中文字体
4.2.2 实现中文字体绘制
传输协议篇
第5章 使用HarmonyOS控制Wi-Fi
5.1 Wi-Fi背景知识简介
5.1.1 Wi-Fi简介
5.1.2 Wi-Fi工作模式简介
5.2 HarmonyOS IoT硬件的Wi-Fi STA模式编程
5.2.1 扫描其他Wi-Fi接入点
5.2.2 连接到某个Wi-Fi接入点
5.3 HarmonyOS IoT硬件的Wi-Fi AP模式编程
5.3.1 创建Wi-Fi热点
5.3.2 提供DHCP服务
5.4 HarmonyOS IoT硬件Wi-Fi通用函数
第6章 HarmonyOS网络编程
6.1 TCP/IP简介
6.2 LwIP开源项目简介
6.3 TCP编程
6.3.1 TCP客户端程序
6.3.2 TCP服务端程序
6.4 UDP编程
6.4.1 UDP客户端程序
6.4.2 UDP服务端程序
物联网应用篇
第7章 HarmonyOS IoT设备内核的编程接口
7.1 CMSIS-RTOS API V2简介及HarmonyOS适配情况
7.2 线程
7.3 等待
7.4 软定时器
7.5 互斥锁
7.6 信号量
7.7 消息队列
第8章 MQTT协议简介
8.1 什么是MQTT协议
8.2 应用场景
8.3 MQTT协议的特性
8.4 MQTT协议的订阅与发布模型介绍
8.4.1 基于MQTT协议的消息传递
8.4.2 报文类型说明
8.4.3 在基本消息的订阅与发布流程中常用的报文介绍
8.4.4 基于MQTT协议的消息发布与订阅的三种方式
8.5 Paho-MQTT简介
8.6 Paho-MQTT的消息传输测试
8.6.1 下载代码并进行编译与烧录
8.6.2 输入测试命令
8.6.3 服务端应用Mosquitto的使用
8.7 使用MQTT方式连接华为云
附录A VirtualBox的安装和使用
附录B 在VirtualBox中安装Ubuntu 20.04系统
附录C 使用SSH客户端登录服务器
附录D 使用开源镜像站加速安装apt软件包和pip软件包
附录E Hi3861引脚功能复用表
HarmonyOS是一款“面向未来”、面向全场景、灵活可定制的开源操作系统,通过提供一次开发多端部署的分布式能力,造就新硬件、新交互、新服务,打开焕然一新的全场景世界。非常荣幸润和软件面向行业推出第一本系统介绍HarmonyOS南向设备开发的书,我们相信IoT和HarmonyOS的结合,将向全球的终端用户、开发者展现出蓬勃生机和活力,期待更多的读者学习并投身到IoT产业和HarmonyOS生态中,与HarmonyOS一起不断地前进和成长,共建开放、共赢的生态大厦。
江苏润和软件股份有限公司董事长 周红卫
HarmonyOS生态圈的建设离不开广大开发者、生态链上下游伙伴的参与和贡献。润和软件的技术专家基于HarmonyOS,从入门环境准备、软件编译、硬件开发到完整实例开发,为开发者构建了一个由浅入深、由易到难的系统化的HarmonyOS硬件开发知识技能体系。本书将手把手教你使用HarmonyOS控制I/O设备和传感器、驱动OLED屏、控制Wi-Fi、使用网络协议,并最终完成物联网应用开发。纸上得来终觉浅,绝知此事要躬行,相信广大读者将从本书中找到开发更多产品和应用的方法与捷径。
华为消费者业务部门软件开源与生态运营总监 欧建深
随着万物互联时代的到来,开发者迫切需要能够满足未来物联网创新需求的底层开发能力,芯片和操作系统是能力基石。润和软件的技术专家围绕基于海思芯片和HarmonyOS的开发套件,为广大开发者提供了友好的基础软硬件开发环境。本书通过大量实例讲解,深入浅出地描述了如何实现芯片驱动、Harmony OS集成及业务软件开发,从而完成了Harmony OS生态设备开发的过程。希望这本物联网硬件基础实战教程,能够帮助广大电子信息类高校师生和IoT设备开发工程师,快速融会贯通、举一反三,加入HarmonyOS全场景生态圈建设中。
陈建,上海海思生态开放技术总监
和51CTO鸿蒙社区一样,润和软件也是华为的官方战略合作伙伴、HarmonyOS生态的先行者。在推出多款HarmonyOS开发板之后,业界对配套的教程和书籍的需求应运而生,本书不仅是一本优秀的原厂教材,还是物联网开发者值得收藏的HarmonyOS资料。
51CTO 媒体事业部总经理 & 鸿蒙技术社区创始人 宋佳宸