展开全部

主编推荐语

本书系统地介绍了OpenHarmony轻量设备开发的知识。

内容简介

本书注重知识间的关联性、连贯性和阶梯性,将计算机理论知识和OpenHarmony实践紧密结合,更加注重实践内容对理论理解的反哺,同步培养知识和能力,“授人以鱼,并且授人以渔”。本书的内容支持目前所有在用的OpenHarmony版本,并且有能力支持未来的新版本,注重教/学效率,创立了“OpenHarmony轻量设备教/学全家桶”。

全书共分10章,包括OpenHarmony及其开发套件、搭建OpenHarmony开发环境、OpenHarmony开发入门、OpenHarmony内核编程接口、控制I/O设备、感知环境状态、OLED显示屏的驱动和控制、控制Wi-Fi、网络编程及MQTT编程。

目录

  • 版权信息
  • 内容简介
  • 第1章 OpenHarmony及其开发套件
  • 1.1 初识OpenHarmony
  • 1.1.1 OpenHarmony是什么
  • 1.1.2 OpenHarmony的重要性
  • 1.1.3 OpenHarmony南向开发与北向开发
  • 1.1.4 OpenHarmony的版本
  • 1.1.5 OpenHarmony官网
  • 1.1.6 OpenHarmony官网文档获取
  • 1.1.7 本书内容概述
  • 1.1.8 学习本书需要的基础知识
  • 1.2 润和Pegasus智能家居开发套件简介
  • 1.2.1 海思Hi3861V100芯片简介
  • 1.2.2 核心板
  • 1.2.3 底板
  • 1.2.4 交通灯板
  • 1.2.5 炫彩灯板
  • 1.2.6 环境监测板
  • 1.2.7 OLED显示屏板
  • 1.2.8 NFC扩展板
  • 1.2.9 开发套件的组装
  • 1.2.10 轻量系统开发快速入门
  • 第2章 搭建OpenHarmony开发环境
  • 2.1 搭建开发环境(Windows系统)
  • 2.1.1 安装虚拟机工具
  • 2.1.2 安装CH340芯片驱动
  • 2.1.3 安装串口调试工具
  • 2.1.4 安装开发工具
  • 2.1.5 安装烧录工具
  • 2.1.6 首次烧录运行
  • 2.2 搭建编译环境(Ubuntu系统)
  • 2.2.1 安装Ubuntu系统
  • 2.2.2 配置编译环境
  • 2.2.3 使用预搭建的编译环境
  • 2.3 下载和编译OpenHarmony源码
  • 2.3.1 获取OpenHarmony源码
  • 2.3.2 源码目录简介
  • 2.3.3 编译源码
  • 2.3.4 烧录固件
  • 2.3.5 在智能家居开发套件上运行
  • 2.3.6 OpenHarmony的系统架构
  • 2.4 构建开发网络
  • 2.4.1 物联网
  • 2.4.2 构建适用于个人和团队的开发网络
  • 2.4.3 构建适用于学校机房的开发网络
  • 2.4.4 AT命令介绍
  • 2.4.5 使用AT命令建立网络连接
  • 2.4.6 使用MobaXterm脚本快速联网
  • 第3章 OpenHarmony开发入门
  • 3.1 HelloWorld
  • 3.1.1 编写程序源码
  • 3.1.2 编译源码
  • 3.1.3 烧录固件
  • 3.1.4 通过串口调试工具查看程序的运行结果
  • 3.1.5 OpenHarmony系统启动的8个阶段
  • 3.1.6 VS Code的IntelliSense设置
  • 3.1.7 VS Code解析.gn文件
  • 3.1.8 屏蔽OpenHarmony内置的XTS
  • 3.1.9 快速查找文件和代码
  • 3.1.10 快速重复烧录和测试最佳实践方案
  • 3.2 轻量系统的编译构建
  • 3.2.1 OpenHarmony的编译构建系统
  • 3.2.2 编译构建系统的配置规则
  • 3.3 编译构建系统的使用
  • 3.3.1 案例:新增组件
  • 3.3.2 案例:新增产品解决方案
  • 3.3.3 案例:组件/模块开发
  • 3.4 轻量系统的数据持久化
  • 3.4.1 数据持久化概述
  • 3.4.2 键值存储
  • 3.4.3 键值存储案例程序
  • 3.4.4 文件操作
  • 3.4.5 文件操作案例程序
  • 第4章 OpenHarmony内核编程接口
  • 4.1 OpenHarmony内核简介
  • 4.1.1 内核子系统
  • 4.1.2 轻量系统内核简介
  • 4.1.3 小型系统内核简介
  • 4.1.4 标准系统内核简介
  • 4.1.5 CMSIS简介
  • 4.1.6 CMSIS-RTOS2
  • 4.2 线程管理
  • 4.2.1 线程
  • 4.2.2 API介绍
  • 4.2.3 内核编程的VS Code IntelliSense设置
  • 4.2.4 案例程序1
  • 4.2.5 案例程序2
  • 4.3 通用等待功能
  • 4.3.1 时间管理
  • 4.3.2 API介绍
  • 4.3.3 案例程序
  • 4.4 定时器管理
  • 4.4.1 软定时器
  • 4.4.2 API介绍
  • 4.4.3 案例程序
  • 4.5 互斥锁管理
  • 4.5.1 互斥锁
  • 4.5.2 API介绍
  • 4.5.3 案例程序
  • 4.6 信号量管理
  • 4.6.1 信号量
  • 4.6.2 API介绍
  • 4.6.3 案例程序
  • 4.7 消息队列管理
  • 4.7.1 消息队列
  • 4.7.2 API介绍
  • 4.7.3 案例程序
  • 第5章 控制I/O设备
  • 5.1 GPIO输出电平
  • 5.1.1 GPIO
  • 5.1.2 轻量设备的IoT接口现状
  • 5.1.3 相关API介绍
  • 5.1.4 核心板的可编程LED灯介绍
  • 5.1.5 IoT编程的VS Code IntelliSense设置
  • 5.1.6 案例程序
  • 5.1.7 给未知函数或库增加IntelliSense
  • 5.2 GPIO按键输入
  • 5.2.1 轮询与中断
  • 5.2.2 相关API介绍
  • 5.2.3 核心板的按键介绍
  • 5.2.4 案例程序:轮询方式
  • 5.2.5 案例程序:中断方式
  • 5.2.6 案例程序:中断方式低能耗
  • 5.3 PWM输出方波
  • 5.3.1 PWM
  • 5.3.2 相关API介绍
  • 5.3.3 交通灯板的蜂鸣器介绍
  • 5.3.4 案例程序:控制蜂鸣器发声
  • 5.3.5 案例程序:控制蜂鸣器播放音乐
  • 5.3.6 案例程序:控制蜂鸣器的音量
  • 5.3.7 交通灯板的三色灯介绍
  • 5.3.8 案例程序:交通灯演示
  • 5.3.9 炫彩灯板的三色灯介绍
  • 5.3.10 案例程序:控制三色灯的亮度
  • 第6章 感知环境状态
  • 6.1 使用ADC获取模拟传感器的数据
  • 6.1.1 ADC
  • 6.1.2 相关API介绍
  • 6.1.3 炫彩灯板的光敏电阻介绍
  • 6.1.4 案例程序:通过光敏电阻感知环境光
  • 6.1.5 炫彩灯板的人体红外传感器介绍
  • 6.1.6 案例程序:通过人体红外传感器感知人体靠近
  • 6.1.7 案例程序:智能夜灯
  • 6.1.8 OLED显示屏板的按键介绍
  • 6.1.9 案例程序:使用ADC值区分同一个引脚的不同按键
  • 6.2 使用ADC获取可燃气体传感器的数据
  • 6.2.1 可燃气体传感器
  • 6.2.2 环境监测板的MQ-2可燃气体传感器介绍
  • 6.2.3 案例程序:使用可燃气体传感器感知空气状态
  • 6.2.4 案例程序:可燃气体报警器
  • 6.3 使用I2C获取数字温湿度传感器的数据
  • 6.3.1 I2C
  • 6.3.2 相关API介绍
  • 6.3.3 环境监测板的AHT20数字温湿度传感器介绍
  • 6.3.4 案例程序:实现AHT20数字温湿度传感器的驱动程序
  • 6.3.5 案例程序:获取AHT20数字温湿度传感器的状态
  • 第7章 OLED显示屏的驱动和控制
  • 7.1 I2C驱动OLED显示屏
  • 7.1.1 OLED简介
  • 7.1.2 OLED显示屏板介绍
  • 7.1.3 OLED的初始化
  • 7.1.4 在OLED显示屏上绘制画面
  • 7.1.5 案例程序:实现OLED显示屏简化版驱动程序
  • 7.1.6 在OLED显示屏上绘制ASCII字符
  • 7.1.7 案例程序:在OLED显示屏上显示西文字符
  • 7.2 在OLED显示屏上显示汉字
  • 7.2.1 中文字体
  • 7.2.2 定义中文字库
  • 7.2.3 显示汉字
  • 7.2.4 案例程序
  • 7.3 第三方OLED显示屏驱动库
  • 7.3.1 驱动库简介
  • 7.3.2 驱动库的源码结构
  • 7.3.3 驱动库API介绍
  • 7.3.4 增强驱动库功能
  • 7.3.5 驱动库的接入方法
  • 7.3.6 案例程序
  • 7.4 二维码生成器模块
  • 7.4.1 模块简介
  • 7.4.2 模块的源码结构
  • 7.4.3 模块API介绍
  • 7.4.4 模块的接入方法
  • 7.4.5 案例程序
  • 第8章 控制Wi-Fi
  • 8.1 Wi-Fi的基本概念
  • 8.1.1 Wi-Fi简介
  • 8.1.2 Wi-Fi的连接过程
  • 8.1.3 Wi-Fi工作模式简介
  • 8.2 Wi-Fi STA模式编程
  • 8.2.1 Wi-Fi编程的VS Code IntelliSense设置
  • 8.2.2 相关API介绍
  • 8.2.3 扫描Wi-Fi热点
  • 8.2.4 案例程序:扫描Wi-Fi热点
  • 8.2.5 连接Wi-Fi热点
  • 8.2.6 案例程序:连接Wi-Fi热点
  • 8.3 Wi-Fi AP模式编程
  • 8.3.1 相关API介绍
  • 8.3.2 创建Wi-Fi热点
  • 8.3.3 提供DHCP服务
  • 8.3.4 案例程序:创建Wi-Fi热点
  • 8.4 EasyWiFi模块
  • 8.4.1 EasyWiFi模块简介
  • 8.4.2 EasyWiFi模块的源码结构
  • 8.4.3 EasyWiFi模块的API介绍
  • 8.4.4 模块的接入方法
  • 8.4.5 案例程序
  • 第9章 网络编程
  • 9.1 TCP客户端编程
  • 9.1.1 LwIP开源项目简介
  • 9.1.2 相关API介绍
  • 9.1.3 网络编程的VS Code IntelliSense设置
  • 9.1.4 TCP客户端的工作流程
  • 9.1.5 网络工具netcat
  • 9.1.6 案例程序
  • 9.2 TCP服务端编程
  • 9.2.1 相关API介绍
  • 9.2.2 TCP服务端的工作流程
  • 9.2.3 案例程序
  • 9.3 UDP客户端编程
  • 9.3.1 相关API介绍
  • 9.3.2 UDP客户端的工作流程
  • 9.3.3 案例程序
  • 9.4 UDP服务端编程
  • 9.4.1 相关API介绍
  • 9.4.2 UDP服务端的工作流程
  • 9.4.3 案例程序
  • 第10章 MQTT编程
  • 10.1 MQTT简介
  • 10.1.1 MQTT
  • 10.1.2 MQTT的应用场景
  • 10.1.3 MQTT的技术特性
  • 10.1.4 广义上的发布/订阅模式
  • 10.1.5 MQTT的订阅与发布模型
  • 10.2 Paho-MQTT
  • 10.2.1 Paho-MQTT简介
  • 10.2.2 Paho-MQTT源码的结构
  • 10.2.3 Paho-MQTT编程的VS Code IntelliSense设置
  • 10.2.4 Paho-MQTT的编译
  • 10.2.5 MQTT代理Mosquitto
  • 10.2.6 在设备端发布消息
  • 10.2.7 在设备端订阅消息
  • 10.3 MQTT客户端编程
  • 10.3.1 对Paho-MQTT进行封装
  • 10.3.2 Paho-MQTT模块的接入方法
  • 10.3.3 案例程序
  • 10.4 案例:灯光控制
  • 10.4.1 灯光控制案例项目简介
  • 10.4.2 实现灯光控制案例项目
  • 10.5 案例:环境光采集
  • 10.5.1 环境光采集案例项目简介
  • 10.5.2 实现环境光采集案例项目
  • 10.6 案例:人体感应
  • 10.6.1 人体感应案例项目简介
  • 10.6.2 实现人体感应案例项目
  • 10.7 案例:可燃气体报警
  • 10.7.1 可燃气体报警案例项目简介
  • 10.7.2 实现可燃气体报警案例项目
  • 10.8 案例:温湿度收集
  • 10.8.1 温湿度收集案例项目简介
  • 10.8.2 实现温湿度收集案例项目
  • 10.9 案例:广告屏
  • 10.9.1 广告屏案例项目简介
  • 10.9.2 实现广告屏案例项目
展开全部

评分及书评

尚无评分
目前还没人评分

出版方

电子工业出版社

电子工业出版社成立于1982年10月,是国务院独资、工信部直属的中央级科技与教育出版社,是专业的信息技术知识集成和服务提供商。经过三十多年的建设与发展,已成为一家以科技和教育出版、期刊、网络、行业支撑服务、数字出版、软件研发、软科学研究、职业培训和教育为核心业务的现代知识服务集团。出版物内容涵盖了电子信息技术的各个分支及工业技术、经济管理、科普与少儿、社科人文等领域,综合出版能力位居全国出版行业前列。