编辑推荐 "《Python树莓派开发从入门到精通》以入门为主、进阶为辅,提供了从Python树莓派开发入门到编程高手所必需的各项知识。 (1)主流技术,全面解析。本书内容丰富,涵盖Python树莓派开发的方方面面,包括树莓派基础、树莓派使用Python、Linux命令、常用操作和常用服务、PIO、GPS、控制电机、OpenCV、传感器、Arduino应用,以及智能小车硬件项目。一本书教你掌握Python树莓派开发领域的主流核心技术。 (2)循序渐进,实战讲述。本书引领读者按照基础入门→核心框架→项目实战循序渐进地学习,符合认知规律。 (3)边学边练,学以致用。你得到的不仅仅是一本纸书,而是全套的学习资源。120个应用实例+5个行业项目案例+136集Python零基础扫盲课,边学边练,在实践中提升技能。 (4)精彩栏目,贴心提醒。本书设置了很多“注意”“说明”“技巧”等小栏目,有利于读者在学习过程中更轻松地理解相关知识点及概念,并轻松地掌握个别技术的应用技巧。 (5)在线解答,高效学习。在线答疑QQ及技术支持网站,不定期进行在线直播课程。" 内容推荐 《Python树莓派开发从入门到精通》从初学者角度出发,通过通俗易懂的语言、丰富多彩的实例,详细介绍了使用Python树莓派进行软件和硬件项目开发需要掌握的技术。全书共分为4篇15章,包括树莓派基础、树莓派使用Python、Linux命令、常用操作、常用服务、GPIO基础、简单硬件、不错硬件、控制电机、OpenCV应用、传感器、扩展板、Arduino使用,以及4个小型软件项目实战和智能小车硬件项目实战。书中所有知识都结合具体实例进行介绍,涉及的程序代码给出了详细的注释,可以使读者轻松领会树莓派开发的精髓,快速提高开发技能。本书列举了大量的小型实例、综合实例和部分项目案例;所附资源包中有实例源程序及项目源码等;本书的服务网站提供了模块库、案例库、题库、素材库、答疑服务等。 目录 第1篇 基础知识 第1章 树莓派基础 2 1.1 树莓派简介 2 1.1.1 起源 2 1.1.2 介绍 3 1.1.3 系统 4 1.1.4 应用 4 1.2 烧录系统 4 1.2.1 电源 5 1.2.2 显示器 5 1.2.3 TF内存卡 6 1.2.4 键盘和鼠标 7 1.2.5 可选设备 7 1.2.6 安装系统 8 1.2.7 无显示器安装系统 9 1.3 小结 11 第2章 树莓派使用Python 12 2.1 树莓派使用 12 2.1.1 Raspberry Pi OS简介 12 2.1.2 使用LXDE 12 2.1.3 使用终端 14 2.1.4 使用SSH 14 2.1.5 使用VNC 15 2.1.6 中文输入法 17 2.2 安装Python 17 2.2.1 安装Python 18 2.2.2 Python解释器 19 2.2.3 使用Thonny 19 2.3 小结 20 第3章 Linux命令 21 3.1 系统管理 21 3.1.1 用户管理 21 3.1.2 进程和服务管理 22 3.1.3 系统重启和关机 26 3.2 文件管理 27 3.2.1 创建和删除 27 3.2.2 目录切换 28 3.2.3 权限设置 29 3.2.4 查找 30 3.3 软件管理 30 3.3.1 软件安装 31 3.3.2 软件升级 31 3.3.3 软件搜索 31 3.3.4 软件卸载 32 3.4 性能监控 32 3.4.1 使用命令查看 32 3.4.2 使用脚本查看 33 3.5 小结 35 第4章 常用操作 36 4.1 树莓派换源 36 4.1.1 查看系统版本 36 4.1.2 更换系统源 37 4.1.3 更换pip源 38 4.2 文件存储 38 4.2.1 FTP服务 39 4.2.2 文件共享 40 4.3 系统备份 43 4.3.1 全卡备份 43 4.3.2 压缩备份 44 4.4 小结 45 第5章 常用服务 46 5.1 远程监控 46 5.2 Web技术 48 5.2.1 nginx 48 5.2.2 内网穿透 49 5.2.3 Aria2 51 5.2.4 NTP 55 5.3 MariaDB 57 5.4 小结 60 第2篇 核心技术 第6章 GPIO基础 62 6.1 GPIO简介 62 6.1.1 GPIO定义 62 6.1.2 GPIO引脚布局 63 6.2 连接GPIO 66 6.2.1 直接连接 66 6.2.2 使用T形扩展板 67 6.2.3 使用面包板 67 6.3 使用RPi.GPIO模块 68 6.3.1 基本用法 68 6.3.2 模块的输入 70 6.3.3 脉冲宽度调制 72 6.4 控制GPIO输出 74 6.4.1 硬件连接 74 6.4.2 测试GPIO输出 75 6.5 检测GPIO输入 77 6.5.1 硬件连接 77 6.5.2 下拉电阻 78 6.5.3 上拉电阻 79 6.5.4 反应测试 81 6.6 拓展GPIO 83 6.6.1 SPI通信协议 83 6.6.2 I2C通信协议 88 6.6.3 串口通信协议 90 6.7 小结 90 第7章 简单硬件 91 7.1 LED 91 7.1.1 控制亮度 91 7.1.2 改变颜色 92 7.1.3 RGB-LED灯条 95 7.1.4 LED矩阵 98 7.1.5 使用OLED 102 7.2 蜂鸣器 103 7.2.1 有源蜂鸣器 104 7.2.2 无源蜂鸣器 105 7.3 实时时钟 108 7.4 小结 111 第8章 不错硬件 112 8.1 GPS 112 8.1.1 连接GPS模块 112 8.1.2 使用Python读取数据 113 8.2 供电设备 116 8.2.1 锂电池 116 8.2.2 不间断电源 117 8.2.3 太阳能电池板 118 8.3 数字键盘 119 8.4 指纹识别 123 8.5 麦克风阵列 124 8.6 小结 128 第9章 控制电机 129 9.1 直流电机 129 9.1.1 直流电机简介 129 9.1.2 驱动直流电机 130 9.1.3 控制方向 132 9.1.4 控制转速 133 9.2 伺服电机 135 9.2.1 伺服电机简介 135 9.2.2 控制伺服电机 136 9.2.3 控制多台伺服电机 137 9.3 步进电机 139 9.3.1 步进电机简介 139 9.3.2 单极步进电机 140 9.3.3 双极步进电机 142 9.4 小结 147 第10章 OpenCV应用 148 10.1 OpenCV基础 148 10.1.1 OpenCV简介 148 10.1.2 树莓派安装OpenCV 149 10.1.3 图像处理过程 156 10.2 使用各类摄像头 157 10.2.1 CSI摄像头 157 10.2.2 USB摄像头 160 10.3 图像基础操作 161 10.3.1 载入和显示图像 162 10.3.2 输出灰度图像 163 10.3.3 绘图 164 10.4 简单的图像识别 166 10.4.1 数字识别 166 10.4.2 英文识别 168 10.4.3 人脸识别 169 10.5 小 结 171 第3篇 不错应用 第11章 传感器 174 11.1 气体传感器 174 11.1.1 二氧化碳传感器 174 11.1.2 MQ系列传感器 176 11.2 温度、湿度和气压传感器 179 11.2.1 温度传感器 179 11.2.2 湿度传感器 181 11.2.3 气压传感器 183 11.3 电阻式传感器 185 11.3.1 热敏电阻 185 11.3.2 光敏电阻 187 11.4 声波传感器 189 11.4.1 声音传感器—DO模块 189 11.4.2 声音传感器—AO模块 191 11.4.3 超声波传感器 193 11.5 光传感器 196 11.5.1 光照传感器 196 11.5.2 红外传感器 198 11.5.3 紫外传感器 199 11.5.4 激光传感器 201 11.5.5 颜色传感器 203 11.5.6 火焰传感器 204 11.6 力传感器 208 11.6.1 压力传感器 208 11.6.2 震动传感器 211 11.6.3 电子罗盘传感器 213 11.6.4 角速度和加速度传感器 215 11.6.5 霍尔传感器 219 11.7 小结 221 第12章 扩展板 222 12.1 温控风扇 222 12.1.1 温控风扇简介 222 12.1.2 温控风扇使用方法 223 12.1.3 开机自启 223 12.2 电源管理 224 12.2.1 X735扩展板简介 224 12.2.2 X735使用方法 225 12.2.3 脚本安装 226 12.3 存储扩展 227 12.3.1 X872存储扩展板简介 227 12.3.2 X872和X735安装方法 228 12.4 Sense Hat 228 12.4.1 Sense Hat简介 228 12.4.2 控制LED 229 12.4.3 使用传感器 232 12.4.4 控制操纵杆 233 12.4.5 乒乓游戏 235 12.5 无线通信 236 12.5.1 无线通信简介 237 12.5.2 网络连接 238 12.5.3 拨打电话 240 12.5.4 收发短信 242 12.5.5 GPS定位 244 12.6 模数转换 246 12.6.1 模数转换扩展板简介 246 12.6.2 模拟信号转数字信号 248 12.6.3 数字信号转模拟信号 250 12.7 接口扩展 251 12.7.1 GPIO扩展 252 12.7.2 面包板扩展 252 12.7.3 USB扩展 253 12.7.4 串口扩展 254 12.8 以太网供电 257 12.8.1 POE扩展板简介 257 12.8.2 POE扩展板使用方法 257 12.9 继电器 258 12.9.1 继电器扩展板简介 258 12.9.2 继电器扩展板使用方法 259 12.10 小结 261 第13章 Arduino使用 262 13.1 Arduino基本情况 262 13.1.1 Arduino简介 262 13.1.2 Arduino的特点 262 13.1.3 Arduino版本 263 13.1.4 Arduino引脚 265 13.2 Arduino应用 266 13.2.1 IDE工具 266 13.2.2 点亮LED 268 13.2.3 Arduino语言 269 13.3 基础函数库 270 13.3.1 I/O函数 270 13.3.2 字符函数 273 13.3.3 数学库 278 13.4 进阶函数库 282 13.4.1 脉冲宽度调制 283 13.4.2 随机数 283 13.4.3 中断 284 13.4.4 串口通信 285 13.4.5 I2C通信 287 13.4.6 串行外设接口 290 13.5 与树莓派通信 292 13.5.1 树莓派安装Arduino IDE 292 13.5.2 通过USB进行通信 293 13.5.3 通过I2C进行通信 295 13.6 使用Python控制Arduino 297 13.6.1 使用PyFirmata简单控制Arduino 298 13.6.2 控制Arduino的数字输出 299 13.6.3 控制Arduino的PWM输出 300 13.6.4 读取Arduino的数字输入 301 13.6.5 读取Arduino的模拟输入 303 13.7 小结 304 第4篇 项目实战 第14章 项目实践 306 14.1 家居控制 306 14.1.1 Home Assistant安装 306 14.1.2 命令行基础操作 309 14.1.3 基础配置 312 14.1.4 接入设备 314 14.1.5 绑定微信小程序 316 14.1.6 安装Hass.io组件 317 14.2 智能音箱 319 14.2.1 wukong-robot安装 319 14.2.2 更新唤醒词 321 14.3 Android TV 325 14.3.1 Android TV简介 325 14.3.2 安装方法 326 14.4 个人博客网站 328 14.4.1 安装依赖 328 14.4.2 数据库配置 329 14.4.3 Gunicorn配置 331 14.4.4 Nginx配置 332 14.4.5 Supervisor配置 333 14.4.6 内网穿透 334 14.5 小结 334 第15章 智能小车 335 15.1 开发准备 335 15.1.1 需求分析 335 15.1.2 开发环境 335 15.1.3 硬件清单 336 15.1.4 项目预览 337 15.2 硬件安装 338 15.2.1 底盘 338 15.2.2 循迹模块 339 15.2.3 电池 341 15.2.4 主板 342 15.2.5 转接板 343 15.2.6 电压表 344 15.2.7 红外模块 345 15.2.8 超声波模块 345 15.2.9 面包板 347 15.2.10 云台 347 15.2.11 连接底层板和顶层板 348 15.2.12 接线 349 15.3 烧录镜像 350 15.4 控制实验 351 15.4.1 控制蜂鸣器 351 15.4.2 按键检测 353 15.4.3 实现基本运动 354 15.4.4 自动循迹 358 15.4.5 自动避障 361 15.4.6 超声单方向避障 365 15.4.7 超声多方向避障 368 15.4.8 红外控制 373 15.4.9 WIFI控制 377 15.5 小结 378 |