书籍详情
LiteOS轻量级物联网操作系统实战(微课视频版)
作者:魏杰
出版社:清华大学出版社
出版时间:2023-11-01
ISBN:9787302641759
定价:¥89.00
购买这本书可以去
内容简介
本书借鉴PBL式教学模式,以案例Demo为主线,将基础知识、核心技能打造成小型案例,通过案例来学习LiteOS。LiteOS可以在Windows、Linux、macOS等平台进行开发,内核基础主要包含任务、中断、IPC通信等。在深层次的知识中,可以进行LiteOS组件开发、系统移植。最后在综合项目中穿插用到了基础内核及LiteOS支持的物联网协议开发、物联网平台使用,能够让读者快速进行大型项目开发。 本书共13章,分别为快速入门篇(第1章和2章)、内核基础篇(第3~6章)、内核进阶篇(第7~9章)、综合项目实战篇(第10~13章)。快速入门篇主要讲述LiteOS基本架构、基于VS Code的开发环境搭建。内核基础篇从任务、中断、IPC通信、时间管理等知识带读者详细了解LiteOS的内核工作方法。进阶篇讲解Sensor和GUI两个扩展组件,最后进行LiteOS系统的移植。综合项目篇搭建了一个基于华为IoT平台的智能家居项目,从项目角度巩固基础知识,掌握LiteOS系统支持的MQTT、CoAP等常用物联网协议。 书中通过对LiteOS系统进行拆分,力图实现知识的**解耦,既适合初学者进行快速入门,也适合有经验的开发者当工具书。使用本书进行LiteOS学习时,无论有无开发经验都可以按照自己的需求进行跳跃学习。在某些章节后有一些实用Tips,帮助开发者更好地进行项目的开发。
作者简介
魏杰,一个在IT界摸爬滚打十多年的程序员,ChinaUNIX专家博主,曾在华清远见、慧科教育、麦子学院等知名企业担任资深讲师。曾参与2022冬奥会智能造雪机项目、工信部智能芯片人才方案设计,并参与了多个智慧农场、智能医疗项目,为大连理工大学、常州大学、湖南师范大学等高校设计并实施人才培养方案,为多所高校教师进行华为HCIA-IoT师资培训。精通多种软硬件技术,专注物联网领域项目开发及人才培养。
目录
快速入门篇
第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.3STLink下载调试器
1.5.4JLink下载调试器
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本章小结
参考文献
第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.3STLink下载调试器
1.5.4JLink下载调试器
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本章小结
参考文献
猜您喜欢