AI嵌入式系统技术与实践——-基于树莓派RP2040和MicroPython
- ISBN:9787512440685
- 装帧:一般胶版纸
- 册数:暂无
- 重量:暂无
- 开本:16开
- 页数:370
- 出版时间:2023-04-01
- 条形码:9787512440685 ; 978-7-5124-4068-5
本书特色
本书既适用于计算机、人工智能、电子信息、自动化、STEM 教育、创客教育及嵌入式系统与智能硬件爱好者阅读,也可用作高等院校计算机、人工智能、电子信息等专业的教学用书或参考书。
内容简介
本书基于以RP2040 MCU 芯片为核心的树莓派Pico开发板,利用Pico硬件扩展接口和面包板设计典型硬件电路,并结合MicroPython编程语言讲述了嵌入式系统典型接口技术与应用实例;在介绍机器学习技术基本方法基础上,讲述了树莓派Pico嵌入式机器学习(TinyML)技术与应用实例,介绍了华为AI云ModelArts开发平台构建机器学习模型和Edge Impulse开发平台构建嵌入式机器学习模型等技术。全书具体内容包括AI嵌入式系统基础知识、树莓派Pico开发板硬件基础、Pico开发板MicroPython编程基础、树莓派Pico开发板人机接口技术、树莓派Pico中断与定时技术、树莓派Pico串行通信与网络接口技术、树莓派Pico无线通信技术实践、树莓派Pico电机接口与控制技术实践、机器学习技术基础及实践、嵌入式机器学习技术实践。
目录
第1篇 嵌入式系统
第1章 AI嵌入式系统基础知识 3
1.1 嵌入式系统概述 3
1.1.1 嵌入式系统的定义 3
1.1.2 嵌入式系统的组成 4
1.2 嵌入式微处理器 7
1.2.1 嵌入式微处理器分类 7
1.2.2 ARM 嵌入式微处理器 10
1.2.3 嵌入式微处理器选型 14
1.3 AI嵌入式系统的基本概念 15
1.4 嵌入式硬件基础知识 18
1.4.1 认识树莓派系列硬件 18
1.4.2 嵌入式硬件接口 20
1.4.3 嵌入式硬件电路**知识 21
第2章 树莓派Pico开发板硬件基础 30
2.1 树莓派RP2040系列开发板 30
2.1.1 树莓派Pico开发板 30
2.1.2 Wio RP2040无线 WiFi开发板 31
2.1.3 其他几款基于RP2040 MCU的开发板 32
2.2 RP2040芯片 32
2.3 树莓派Pico开发板硬件扩展接口信号 38
2.3.1 Pico开发板硬件扩展接口信号解析 38
2.3.2 树莓派Pico Flash编程/程序烧写 42
2.4 树莓派Pico开发板电源模块 43
2.4.1 Pico开发板电源模块分析 43
2.4.2 Pico开发板供电 44
2.4.3 Pico开发板使用电池充电器 46
2.5 Wio RP2040无线 WiFi开发板硬件扩展接口信号 47
2.5.1 Wio RP2040开发板主要特性及硬件技术规格 47
2.5.2 Wio RP2040开发板硬件扩展接口信号 48
2.6 使用MicroPython REPL点亮Pico开发板板载LED 49
2.6.1 所需硬件及Pico开发板 MicroPython固件安装 49
2.6.2 使用MicroPython REPL交互模式编程 51
2.6.3 使用MicroPython REPL交互模式基础编程举例 53
2.6.4 使用MicroPython REPL点亮Pico板载LED编程举例 54
第3章 Pico开发板 MicroPython编程基础 58
3.1 MicroPython简介 58
3.2 Thonny Python IDE安装与使用基础 60
3.2.1 Thonny Python IDE简介 60
3.2.2 Thonny Python IDE安装 61
3.2.3 使用Thonny建立Pico开发板 MicroPython程序 64
3.3 Python基本语法 67
3.4 Python程序结构控制 79
3.4.1 选择语句 79
3.4.2 循环语句 82
3.4.3 跳转语句 85
3.4.4 在循环结构中使用else子句 86
3.5 Python函数与模块 87
3.5.1 定义函数 87
3.5.2 调用函数 87
3.5.3 变量的作用域 87
3.5.4 模块与包 88
3.6 类与对象 90
3.6.1 类的定义 91
3.6.2 创建对象 91
3.6.3 类的成员 91
第4章 树莓派Pico开发板人机接口技术 94
4.1 树莓派Pico开发板硬件接口引脚扩展及使用 94
4.1.1 Pico开发板硬件接口引脚扩展 94
4.1.2 使用 MicroPython控制Pico开发板硬件扩展接口 95
4.2 树莓派Pico开发板GPIO接口控制编程基础 96
4.2.1 Machine模块 96
4.2.2 使用变量存储GPIO端口引脚的设定值 96
4.2.3 GPIO端口数字信号输出 97
4.2.4 使用 MicroPython控制LED间断闪亮 97
4.3 树莓派Pico开发板小功率LED接口与GPIO控制 99
4.3.1 树莓派Pico开发板硬件接口输出扩展负载的接法 99
4.3.2 小功率LED灯交替闪亮GPIO控制实践 100
4.3.3 彩色RGB LED灯GPIO控制实践 102
4.4 树莓派Pico开发板按键接口与GPIO控制 104
4.4.1 按键接口技术 104
4.4.2 上拉电阻与下拉电阻 106
4.4.3 树莓派Pico开发板按键接口与GPIO控制实践 108
4.5 树莓派Pico开发板LED显示器接口与GPIO控制 114
4.5.1 LED显示控制原理 114
4.5.2 Pico开发板7段LED显示器接口与GPIO控制实践 117
第5章 树莓派Pico中断与定时技术 121
5.1 中断技术 121
5.1.1 中断的基本知识 121
5.1.2 中断技术基本原理 122
5.1.3 树莓派Pico中断系统 125
5.2 Pico按键中断及其 MicroPython实现 127
5.2.1 Pico外部中断的使用方法 127
5.2.2 Pico单个按键中断控制小功率LED发光实践 128
5.2.3 Pico多个按键中断控制小功率LED闪烁 130
5.2.4 认识三极管 132
5.2.5 使用Pico开发板、单个按键和三极管驱动中大功率LED实践 135
5.3 定时技术及树莓派RP2040定时器 138
5.3.1 定时器工作原理 138
5.3.2 树莓派RP2040定时器 139
5.4 Pico定时器 MicroPython控制编程实践 __________140
5.4.1 Pico定时器对象的使用方法 140
5.4.2 Pico定时器实现LED闪烁控制实践 141
5.4.3 Pico定时器控制LED数字显示实践 143
5.5 PWM 技术及Pico LED呼吸灯 MicroPython控制编程 146
5.5.1 PWM 技术原理 146
5.5.2 运用PWM 技术实现LED呼吸灯视觉效果 147
5.5.3 树莓派Pico PWM 通道及PWM 对象的使用方法 148
5.5.4 PWM 控制Pico板载LED呼吸灯的 MicroPython编程实践 149
第6章 树莓派Pico串行通信与网络接口技术 151
6.1 Pico开发板 UART串行通信接口技术与实践 151
6.1.1 UART串行通信接口技术原理 151
6.1.2 Pico开发板 UART串行通信技术及 MicroPython编程实践 156
6.2 网络接口技术 162
6.2.1 分布嵌入式系统结构 162
6.2.2 分布嵌入式网络通信方式 164
6.3 Pico开发板I2C总线通信接口技术与实践 165
6.3.1 I2C总线接口技术原理 165
6.3.2 Pico I2C总线引脚及Pico I2C对象的使用方法 170
6.3.3 树莓派Pico开发板I2C EEPROM 接口与编程实践 173
6.3.4 树莓派Pico开发板I2C OLED接口与编程实践 177
6.4 Pico开发板SPI总线通信接口技术与实践 180
6.4.1 SPI总线接口技术原理 180
6.4.2 Pico SPI总线引脚及Pico SPI对象的使用方法 184
6.4.3 Pico与ADXL345加速度传感器SPI总线接口及
编程实践 186
第7章 树莓派Pico无线通信技术实践 192
7.1 Pico开发板扩展无线 WiFi模块通信技术实践 192
7.1.1 ESP 01无线 WiFi模块 192
7.1.2 嵌入式TCP/IP协议栈 193
7.1.3 常用 AT指令 196
7.1.4 Pico开发板与ESP 01S无线 WiFi模块接口及通信编程实践 __________199
7.2 Pico开发板扩展蓝牙模块通信技术实践 206
7.2.1 蓝牙技术 206
7.2.2 蓝牙模块 207
7.2.3 认识 MOSFET晶体管 209
7.2.4 Pico开发板与 HC 06无线蓝牙模块接口及通信编程实践 212
7.3 Wio RP2040无线 WiFi局域网通信实践 217
7.4 Wio RP2040迷你开发板 MQTT远程无线通信实践 219
第8章 树莓派Pico电机接口与控制技术实践 225
8.1 树莓派Pico直流电机调速控制技术基础 225
8.1.1 直流电机简介 225
8.1.2 晶体管电机驱动电路与续流二极管 226
8.1.3 基于Pico开发板和晶体管的直流电机调速控制实践 228
8.2 树莓派Pico直流电机控制技术实践 230
8.2.1 H桥电机正反转驱动电路 230
8.2.2 Pico开发板和DRV8833驱动模块电机接口及编程实践 238
8.3 树莓派Pico伺服电机控制技术实践 242
8.3.1 伺服电机 242
8.3.2 Pico开发板和伺服电机接口连接及编程实践 244
8.4 树莓派Pico步进电机控制技术实践 247
8.4.1 直流步进电机及其驱动电路原理 247
8.4.2 Pico开发板步进电机控制技术实践 249
第2篇 机器学习与嵌入式机器学习
第9章 机器学习技术基础及实践 259
9.1 机器学习简介 259
9.1.1 机器学习的分类 259
9.1.2 机器学习应用开发的基本流程 261
9.1.3 机器学习常用基本术语 263
9.1.4 机器学习编程环境及工具 267
9.2 常用机器学习技术及华为AI云平台 ModelArts实践 268
9.2.1 监督学习基本应用问题 268
9.2.2 回归算法及华为 AI云平台 ModelArts使用与实践 271
9.2.3 主成分分析方法及特征提取应用实践 280
9.3 神经网络方法基础 284
9.3.1 生物神经元 284
9.3.2 人工神经网络结构 285
9.3.3 人工神经网络基本学习算法 289
9.3.4 BP神经网络模型 293
9.3.5 神经网络常用激活函数 297
9.3.6 深度神经网络 300
9.4 基于PCA 特征提取和神经网络方法的人脸识别技术实践 301
9.4.1 ORL人脸库 301
9.4.2 PCA方法人脸图像特征提取 302
9.4.3 ORL人脸识别神经网络结构 302
9.4.4 采用Python和tf.Keras编写 ORL人脸识别程序 303
第10章 嵌入式机器学习技术实践 310
10.1 嵌入式机器学习技术 310
10.2 tf.Keras CNN唤醒词检测及树莓派TFLite语音控制实践 311
10.2.1 Speech Commands数据集 312
10.2.2 语音唤醒词的 MFCC特征提取 312
10.2.3 基于CNN方法和tf.Keras的语音唤醒词分类检测技术实践 319
10.2.4 基于TFLite模型推理引擎的树莓派语音唤醒词分类检测实践 323
10.3 Pico Arduino C力触觉感知与回归建模及Processing交互 329
10.3.1 Pico开发板Arduino IDE开发环境安装与使用 329
10.3.2 Pico Arduino触觉感知及Processing、Pico Arduino触觉交互 332
10.3.3 基于力触觉回归和质点弹簧模型的力触觉交互变形可视化 338
10.4 运用Edge Impulse实现树莓派Pico嵌入式机器学习 350
10.4.1 Edge Impluse 350
10.4.2 运用Edge Impluse构建Pico姿态检测TinyML模型 351
10.4.3 运用Edge Impluse构建Pico中文语音唤醒词TinyML模型 362
参考文献 369
-
全图解零基础word excel ppt 应用教程
¥15.6¥48.0 -
有限与无限的游戏:一个哲学家眼中的竞技世界
¥37.4¥68.0 -
硅谷之火-人与计算机的未来
¥12.7¥39.8 -
机器学习
¥59.4¥108.0 -
情感计算
¥66.8¥89.0 -
LINUX企业运维实战(REDIS+ZABBIX+NGINX+PROMETHEUS+GRAFANA+LNMP)
¥48.3¥69.0 -
AI虚拟数字人:商业模式+形象创建+视频直播+案例应用
¥62.9¥89.8 -
LINUX实战——从入门到精通
¥48.3¥69.0 -
UNIX环境高级编程(第3版)
¥164.9¥229.0 -
剪映AI
¥52.8¥88.0 -
数据驱动的工业人工智能:建模方法与应用
¥68.3¥99.0 -
深度学习高手笔记 卷2:经典应用
¥90.9¥129.8 -
纹样之美:中国传统经典纹样速查手册
¥76.3¥109.0 -
UG NX 12.0数控编程
¥24.8¥45.0 -
MATLAB计算机视觉与深度学习实战(第2版)
¥90.9¥128.0 -
UN NX 12.0多轴数控编程案例教程
¥24.3¥38.0 -
微机组装与系统维护技术教程(第二版)
¥37.8¥43.0 -
Go 语言运维开发 : Kubernetes 项目实战
¥38.7¥79.0 -
明解C语言:实践篇
¥62.9¥89.8 -
Linux服务器架设实战(Linux典藏大系)
¥84.5¥119.0