书籍详情

MicroPython项目开发实战

MicroPython项目开发实战

作者:[美]雅各布·贝宁格 著,张博 译

出版社:清华大学出版社

出版时间:2024-01-01

ISBN:9787302650515

定价:¥89.00

购买这本书可以去
内容简介
  《MicroPython项目开发实战》详细阐述了与MicroPython项目相关的基本内容,主要包括MicroPython简介、管理实时任务、针对I/O扩展器编写MicroPython驱动程序、开发应用程序测试框架、自定义MicroPython内核启动代码、自定义调试工具以可视化传感器数据、使用手势控制设备、基于Android的自动化和控制、利用机器学习构建物体检测应用程序、MicroPython的未来等内容。此外,本书还提供了相应的示例、代码,以帮助读者进一步理解相关方案的实现过程。本书适合作为高等院校计算机及相关专业的教材和教学参考书,也可作为相关开发人员的自学用书和参考手册。
作者简介
  雅各布·贝宁格是一位专注于基于微控制器的嵌入式系统的独立顾问。他曾为多个行业提供咨询、指导和开发系统,包括汽车、国防、工业、医疗和航天领域。Jacob喜欢与公司合作,帮助他们开发和改进流程和技能。他每月出版一份时事通讯,以及关于嵌入式系统设计技术和挑战的出版物的博客。Jacob持有中密歇根大学(Central Michigan University)电气工程、物理和数学学士学位,以及密歇根大学(University of Michigan)空间系统工程硕士学位。
目录
第1章  MicroPython简介 1
1.1  嵌入式软件语言 1
1.2  MicroPython案例 3
1.2.1  用例1—DIY项目 5
1.2.2  用例2—快速原型 5
1.2.3  用例3—小批量生产产品 6
1.3  评估MicroPython是否适合 7
1.4  选择合适的开发平台 8
1.4.1  调查可用的架构 8
1.4.2  确定感兴趣的开发板 9
1.4.3  利用KT矩阵选择开发板 12
1.5  MicroPython的开发过程和策略 13
1.6  有用的开发资源 16
1.7  本章小结 16
1.8  本章练习 17
1.9  进一步阅读 17
第2章  管理实时任务 19
2.1  技术需求 19
2.2  实时调度的需求条件 19
2.3  MicroPython调度技术 20
2.3.1  轮流调度 21
2.3.2  使用定时器的周期性调度 24
2.3.3  MicroPython线程机制 28
2.3.4  事件驱动调度 31
2.3.5  合作式调度 31
2.4  使用asyncio的协同多任务处理 31
2.4.1  asyncio简介 32
2.4.2  基于协作多任务的LED示例 33
2.4.3  关于asyncio的进一步讨论 35
2.5  本章小结 36
2.6  本章练习 36
2.7  进一步阅读 36
第3章  针对I/O扩展器编写MicroPython驱动程序 37
3.1  技术需求 37
3.2  RGB按钮I/O扩展器项目要求 38
3.2.1  硬件需求 38
3.2.2  软件需求 38
3.3  硬件和软件架构设计 39
3.3.1  硬件架构 39
3.3.2  详细的硬件设计 40
3.3.3  选择一个按钮 41
3.3.4  I/O扩展器原理图 41
3.3.5  软件架构 42
3.4  项目构建 45
3.4.1  构建硬件 45
3.4.2  构建I/O扩展器驱动程序 46
3.4.3  构建RGB驱动程序 47
3.4.4  构建RGB按钮驱动程序 48
3.5  测试和验证 49
3.5.1  开发测试用例 49
3.5.2  编写应用程序 52
3.6  本章小结 58
3.7  本章练习 58
3.8  进一步阅读 58
第4章  开发应用程序测试框架 59
4.1  技术需求 59
4.2  测试框架简介 59
4.3  测试框架的需求 61
4.3.1  硬件需求 61
4.3.2  软件需求 62
4.4  测试框架设计 63
4.4.1  测试框架的硬件体系结构 63
4.4.2  测试框架的软件体系结构 64
4.5  构建测试框架 67
4.5.1  编写测试架构 67
4.5.2  测试PCA8574 69
4.6  运行测试框架 71
4.7  本章小结 72
4.8  本章练习 73
4.9  进一步阅读 73
第5章  自定义MicroPython内核启动代码 75
5.1  技术需求 75
5.2  MicroPython内核概述 76
5.2.1  下载MicroPython内核 76
5.2.2  MicroPython内核的组织方式 77
5.2.3  STM32L475E_IOT01A端口 77
5.3  访问启动代码 83
5.4  将MicroPython模块添加至内核中 90
5.5  将自定义内核部署至开发板上 92
5.5.1  编译后的输出文件 93
5.5.2  对开发板编程 94
5.5.3  测试更新后的内核 96
5.6  本章小结 98
5.7  本章练习 98
5.8  进一步阅读 98
第6章  自定义调试工具以可视化传感器数据 99
6.1  技术需求 99
6.2  调试和可视化嵌入式系统 100
6.3  可视化工具的需求 100
6.3.1  硬件需求 100
6.3.2  软件需求 101
6.4  可视化工具的设计 101
6.4.1  可视化工具的硬件架构 102
6.4.2  可视化工具的软件架构 103
6.5  构建可视化工具 104
6.5.1  安装项目库 105
6.5.2  在MicroPython中设置串行数据流 105
6.5.3  利用命令行参数打开COM端口 108
6.5.4  利用Matplotlib创建用户界面 110
6.5.5  绘制输入数据流 112
6.6  测试并运行可视化工具 115
6.7  本章小结 117
6.8  本章练习 118
6.9  进一步阅读 118
第7章  使用手势控制设备 119
7.1  技术需求 119
7.2  手势控制器简介 119
7.3  手势控制器的需求 120
7.3.1  硬件需求 121
7.3.2  软件需求 121
7.4  硬件和软件设计 121
7.4.1  硬件架构 122
7.4.2  详细的硬件设计 122
7.4.3  软件架构 124
7.5  构建手势控制器 125
7.5.1  APDS-9960操作理论 125
7.5.2  分析手势数据 128
7.5.3  APDS-9960手势驱动程序 131
7.5.4  APDS-9960手势类构造函数 133
7.5.5  APDS-9960手势类检测方法 135
7.5.6  手势控制器应用程序 138
7.6  测试手势控制器 140
7.7  本章小结 141
7.8  本章练习 142
7.9  进一步阅读 142
第8章  基于Android的自动化和控制 143
8.1  技术需求 143
8.2  传感器节点项目需求 143
8.2.1  硬件需求 144
8.2.2  软件需求 144
8.3  硬件和软件设计 145
8.3.1  硬件架构 145
8.3.2  软件架构 146
8.4  构建传感器节点 146
8.4.1  在ESP32上安装MicroPython 147
8.4.2  安装ESP32闪存工具 147
8.4.3  利用MicroPython对ESP32编程 147
8.4.4  利用LED测试MicroPython 149
8.4.5  设置WebREPL 150
8.4.6  利用Anaconda简化应用程序开发 152
8.4.7  安装uasyncio 154
8.4.8  编写传感器节点应用程序 154
8.5  测试传感器节点 161
8.5.1  Android套接字服务器 161
8.5.2  向传感器节点发出命令 163
8.5.3  测试命令 163
8.6  本章小结 164
8.7  本章练习 165
8.8  进一步阅读 165
第9章  利用机器学习构建物体检测应用程序 167
9.1  技术需求 167
9.2  机器学习简介 167
9.2.1  智能系统需求 169
9.2.2  从云端到边缘的机器学习 171
9.3  物体检测需求 172
9.3.1  硬件需求 172
9.3.2  软件需求 173
9.4  物体检测设计和理论 174
9.4.1  CIFAR-10和CIFAR-100数据集 174
9.4.2  机器学习模型语言 176
9.4.3  TFLu 176
9.4.4  CMSIS-NN 177
9.4.5  硬件 178
9.5  在OpenMV相机上实现并测试物体检测 178
9.5.1  OpenMV IDE 179
9.5.2  实现预训练的CIFAR-10网络 181
9.5.3  利用TensorFlow模型进行人物检测 183
9.6  本章小结 187
9.7  本章练习 187
9.8  进一步阅读 188
9.9  参考资料 188
第10章  MicroPython的未来 189
10.1  不断发展的MicroPython 189
10.2  Pyboard D-series 190
10.2.1  Pyboard D-series硬件 190
10.2.2  Pyboard D-series软件 193
10.3  真实世界中的MicroPython 196
10.3.1  DIY/创客示例项目 197
10.3.2  专业示例项目 197
10.4  MicroPython的发展趋势 198
10.5  进一步讨论 199
10.6  参考资料 199
附录A 201
猜您喜欢

读书导航