图书目录

目录

本书源码

工具包

快速入门篇

第1章LiteOS快速入门(105min)

1.1LiteOS全貌

1.1.1LiteOS简介

1.1.2应用生态

1.2代码仓库

1.3LiteOS开发工具链

1.3.1代码编辑器

1.3.2交叉编译工具

1.3.3下载调试工具

1.4Windows系统下的VS Code开发环境

1.4.1关于VS Code

1.4.2IoT Link插件

1.4.3安装Python辅助工具

1.4.4实战案例: Hello World

1.5基于Ubuntu+VS Code的开发环境

1.5.1安装VS Code

1.5.2ARM交叉编译器

1.5.3STLink下载调试器

1.5.4JLink下载调试器

1.5.5串口驱动

1.5.6实战案例: Hello World

1.6基于macOS+VS Code的开发环境

1.6.1ARM交叉编译器

1.6.2下载和调试工具

1.6.3安装Kconfig

1.6.4修改工程配置文件

1.6.5实战案例: 测试Hello World

1.7本章小结

第2章Qemu模拟开发(19min)

2.1Qemu概述

2.2安装Qemu

2.2.1Windows系统下的Qemu安装

2.2.2Ubuntu下的Qemu安装

2.2.3macOS下的Qemu安装

2.3实战案例: ARM下的Hello World

2.4浅尝VS Code利器

2.4.1简单的配置

2.4.2快捷按钮

2.5本章小结

内核入门篇

第3章内核基础(199min)

3.1LiteOS内核架构

3.1.1基础内核

3.1.2代码结构

3.1.3内核启动流程

3.2任务

3.2.1任务的概念

3.2.2创建和删除任务

3.2.3任务调度

3.2.4实战案例: 简单任务控制

3.3中断

3.3.1LiteOS的中断机制

3.3.2创建中断

3.3.3中断控制

3.3.4实战案例: 独立中断

3.3.5实战案例: 共享中断

3.4内存

3.4.1静态内存

3.4.2动态内存

3.5错误码和异常处理

3.5.1错误码

3.5.2异常处理

3.6认识Makefile

3.6.1基础语法

3.6.2高级语法

3.6.3实战案例: 简单计算器

3.7本章小结

第4章IPC机制(184min)

4.1信号量

4.1.1信号量概念

4.1.2信号量运行机制

4.1.3信号量API

4.1.4实战案例: 消费者和生产者

4.2互斥锁

4.2.1互斥锁概念

4.2.2互斥锁运行机制

4.2.3互斥锁API

4.2.4实战案例: 生产者和消费者 

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本章小结

第5章其他组件(69min)

5.1时间模块

5.1.1时间转换

5.1.2软件定时器

5.2原子操作和位操作

5.2.1计算机中的原子

5.2.2位操作

5.3双向循环链表

5.3.1工作原理

5.3.2实战案例: 学生管理系统

5.4程序员利器Git

5.4.1Git工具

5.4.2代码管理

5.5本章小结

第6章标准接口(13min)

6.1POSIX接口

6.1.1POSIX概述

6.1.2实战案例: POSIX任务接口

6.2CMSIS接口

6.2.1CMSIS概述

6.2.2实战案例: CMSIS任务接口

6.3本章小结

内核进阶篇

第7章传感器框架(86min)

7.1传感器框架结构

7.1.1框架概述

7.1.2运行原理

7.1.3开发流程

7.2实战案例: 基于DHT11的温湿度采集

7.2.1板级驱动

7.2.2基于框架的传感器管理

7.3图形配置工具Kconfig

7.3.1Kconfig简介

7.3.2基础语法

7.3.3实战案例: 使用Kconfig配置项目

7.4本章小结

第8章GUI框架(67min)

8.1LVGL简介

8.2LVGL运行原理

8.2.1源码结构

8.2.2配置文件

8.2.3显示接口

8.2.4输入接口

8.2.5LVGL滴答

8.2.6LVGL定时任务

8.2.7日志

8.2.8开发步骤

8.3实战案例: 移植LVGL

8.4LVGL模拟器

8.4.1模拟器简介

8.4.2基于VS Code+SDL的模拟器

8.5本章小结

第9章LiteOS移植实战(52min)

9.1移植概述

9.2准备工作

9.2.1开发环境

9.2.2裸机工程

9.3移植适配

9.3.1板级驱动适配

9.3.2链接适配

9.3.3添加目标板配置

9.3.4测试案例

9.4模块化编程

9.4.1基本原理

9.4.2实战案例: 自定义demo模块

9.5实战案例: 智能家居终端

9.5.1项目概述

9.5.2传感数据

9.5.3用户界面

9.5.4运行结果

9.6本章小结

综合项目实战篇

第10章IoT云平台(38min)

10.1华为IoT云平台

10.1.1华为IoT云概述

10.1.2设备接入服务

10.2华为IoTDA快速入门

10.2.1创建实例

10.2.2创建产品

10.2.3产品模型

10.2.4定义插件

10.2.5在线调试

10.2.6添加真实设备

10.3实战案例: 基于CoAP的华为IoT云端

10.3.1产品

10.3.2编解码插件

10.3.3在线调试

10.4本章小结

第11章CoAP设备端开发(145min)

11.1CoAP协议

11.1.1CoAP协议概述

11.1.2报文结构

11.1.3报文选项

11.1.4实战案例: WireShark抓包

11.2LiteOS之网络模块

11.2.1AT框架

11.2.2SAL组件 

11.3实战案例: LiteOS之CoAP组件

11.3.1配置LwM2M Demo

11.3.2连接测试

11.4实战案例: CoAP数据传输

11.4.1上报数据

11.4.2命令控制

11.5本章小结

第12章MQTT设备端开发(172min)

12.1MQTT协议

12.1.1MQTT概述

12.1.2MQTT报文结构

12.1.3MQTT通配符

12.2MQTT报文详解

12.2.1CONNECT报文

12.2.2CONNACK报文

12.2.3PUBLISH报文

12.2.4其他报文

12.3实战案例: 华为云MQTT产品

12.3.1MQTT产品

12.3.2MQTT调试

12.4实战案例: LiteOS之MQTT组件

12.4.1配置MQTT Demo

12.4.2上报数据

12.4.3接收命令

12.5实战案例: 移植MQTT协议栈

12.5.1Paho MQTT

12.5.2移植Paho MQTT

12.6本章小结

第13章体验应用开发(57min)

13.1微信小程序概述

13.1.1获取账号信息

13.1.2开发工具

13.1.3实战案例: Hello World

13.2微信小程序入门

13.2.1目录结构

13.2.2小程序框架

13.2.3实战案例: 智能家居App

13.3华为IoT云应用接口

13.3.1IAM服务

13.3.2查询设备属性

13.3.3同步命令下发

13.4实战案例: 小程序与设备交互

13.4.1小程序HTTPS接口

13.4.2获取Token

13.4.3查询属性

13.4.4命令下发

13.5本章小结

参考文献