新書推薦:
《
中国年画 1950-1990 THE NEW CHINA: NEW YEAR PICTURE 英文版
》
售價:HK$
236.0
《
革命与反革命:社会文化视野下的民国政治(近世中国丛书)
》
售價:HK$
93.2
《
画楼:《北洋画报》忆旧(年轮丛书)
》
售價:HK$
337.5
《
大国脊梁:漫画版
》
售價:HK$
80.2
《
跟着渤海小吏读历史:大唐气象(全三册)
》
售價:HK$
189.0
《
心智的构建:大脑如何创造我们的精神世界
》
售價:HK$
81.4
《
美国小史(揭秘“美国何以成为美国”,理解美国的经典入门读物)
》
售價:HK$
81.4
《
中国古代北方民族史丛书——东胡史
》
售價:HK$
87.8
|
編輯推薦: |
本书是一本基础入门加实战的书籍,既有基础知识,又有丰富示例,同时还加入了Qemu、Makefile、Kconfig等嵌入式开发常用工具。本书即可作为入门的学习资料,也可作为项目过程中的工具书籍。书中每个知识点都配有案例,每个案例都提供完成的代码。
|
內容簡介: |
本书借鉴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本章小结
参考文献
|
內容試閱:
|
自2017年AIoT这个词被不断地提及,物联网已经跨越到一个新的时代,智能成为物联网的核心需求。面对种类繁多、接口复杂的终端设备,物联网操作系统成为AIoT的基础核心。
目前市场流行的物联网操作系统有很多种,例如2000年年初开始诞生的FreeRTOS、μC/OS、RTThread,而这几个更侧重的是操作系统,并非“联网”。2015年发布的LiteOS、2017年发布的AliOS则在操作系统的基础上增加了端云互通功能,实现了真正的物联。
华为在物联网领域有得天独厚的优势,它的核心竞争力在底层硬件,因此可以快速形成一个闭环生态。由于鸿蒙操作系统的内核也是LiteOS,因此鸿蒙发布之后,LiteOS的生态市场更加宽广。
学习一门新技术最好的方式就是通过官网的资料进行学习,尽管华为的技术实力雄厚,然而在文档这一块有些不足。笔者长期致力于物联网项目研发及教学培训,本书将以PBL项目式教学模式带领读者深入了解LiteOS,期待读者可通过本书深入学习LiteOS,同时也为后期学习鸿蒙操作系统打下基础。
本书主要内容
第1章介绍LiteOS基本架构及支持的平台,搭建LiteOS开发环境,包括Windows、Ubuntu、macOS 3种系统下的LiteOS开发工具。
第2章简单介绍Qemu模拟器,包括Windows、Ubuntu、macOS下的Qemu模拟开发环境搭建。
第3章介绍LiteOS基础功能组件,包括任务、中断、内存、错误和异常处理,同时还介绍Makefile开发工具。
第4章介绍LiteOS的IPC机制,包括信号量、互斥锁、队列、事件。
第5章介绍LiteOS其他基础组件,包括时间模块、原子操作、链表等,最后介绍Git版本控制工具。
第6章介绍LiteOS支持的两种标准接口,包括POSIX接口和CMSIS接口。
第7章介绍LiteOS传感器框架,结合Kconfig工具实现传感框架移植。
第8章介绍LiteOS的GUI框架,包括LVGL基础语法、模拟器的使用及移植方法。
第9章介绍LiteOS移植方法,通过案例详细讲解如何移植LiteOS及适配Kconfig菜单。
第10章介绍华为云平台的使用,包括创建产品、定义插件、在线调试等。
第11章介绍CoAP协议,包括CoAP报文结构和LiteOS网络接口,通过内置案例详细解析CoAP如何实现上报数据和接收命令。
第12章介绍MQTT协议报文结构,以及如何在华为云平台创建和调试MQTT产品。同时解析LiteOS内置MQTT案例,最后介绍如何移植原生态MQTT协议。
第13章介绍基于微信小程序的应用开发,以及华为云平台的应用侧HTTPS接口、调试手段。最后通过微信小程序的WebSocket和华为云的IAM账户实现物联网应用App。
阅读建议
本书是一本基础入门加实战的书籍,既有基础知识,又有丰富示例,同时还加入了Qemu、Makefile、Kconfig等常用嵌入式开发工具。本书既可作为入门的学习资料,也可作为项目开发过程中的工具书。书中每个知识点都配有案例,每个案例都提供完整的代码,读者获得源码之后通过make menuconfig使能相应的案例,即可看到案例效果。与LiteOS相关的代码可在STM32L431开发板运行,Makefile、Kconfig、LVGL等工具案例运行在PC端。
建议读者在一开始先把快速入门篇通读一遍,搭建好开发环境。本书最大程度地实现知识解耦,有一定基础的读者可根据实际情况跳跃式阅读。如果没有开发板,则可按照第2章搭建Qemu模拟环境。如果读者需要使用其他开发板,则应先行阅读第9章系统移植。
内核入门篇是LiteOS内核入门知识,这一部分内容在操作系统领域具有通用性,如果读者接触过其他操作系统,则这一部分可快速阅读。此外,部分章节最后还引入了Makefile、Git等工具,掌握此类工具可帮助开发者快速进入物联网开发环节。
内核进阶篇属于LiteOS内核进阶内容,掌握GUI和传感框架才能搭建起大型的物联网项目。对于系统移植,读者可先行阅读此部分内容,以此搭建自己的开发环境。
综合项目实战篇属于实战案例部分,此部分内容基于CoAP和MQTT协议在华为云平台搭建了智能家居项目。CoAP案例和MQTT案例是相互独立的,同时读者也可选择其他云平台实现案例。由于案例中使用了网络模块和GUI模块,所以读者必须使用真实开发板才可运行所有代码。
资源下载提示
素材(源码)等资源: 扫描目录上方的二维码下载。
视频等资源: 扫描封底的文泉云盘防盗码,再扫描书中相应章节的二维码,可以在线学习。
致谢
感谢家人对我工作的支持及业内好友给予的一些珍贵建议,使我可以顺利地完成写作工作。
由于时间仓促,书中难免存在不妥之处,请读者见谅,并提出宝贵意见。
魏杰2023年8月1日
|
|