描述
开 本: 16开纸 张: 胶版纸包 装: 平装-胶订是否套装: 否国际标准书号ISBN: 9787115447203
本书由多产作家Simon Monk编写,是将内容进行全面升级之后的第2版,囊括了丰富的实践示例,详细讲解了树莓派的配置与管理、网络连接、操作系统及软件。另外,本书还介绍了使用Python进行树莓派开发的各项技巧,书中介绍了有关Python编程的基础知识、列表与字典、Python高级特性。同时,本书还介绍了有关机器视觉、硬件基础、控制硬件、电机、数字输入、传感器、显示设备、物联网及Arduino等相关知识。
本书适合程序员和计算机软、硬件爱好者,以及对树莓派感兴趣的读者阅读,也适合作为树莓派相关实践课程的指导用书。
1.0 引言 1
1.1 选择树莓派型号 1
1.2 封装树莓派 3
1.3 选择电源 4
1.4 选择操作系统发行包 6
1.5 通过NOOBS刷写microSD卡 7
1.6 装配系统 9
1.7 连接DVI或VGA显示器 10
1.8 使用复合视频显示器/TV 10
1.9 调整显示器中的图像尺寸 12
1.10 优化性能 13
1.11 修改密码 15
1.12 让树莓派开机后直接进入窗口系统 16
1.13 关闭树莓派 17
1.14 安装树莓派摄像头模块 18
1.15 使用蓝牙设备 21
第2章 网络连接 23
2.0 引言 23
2.1 连接有线网络 23
2.2 查看自己的IP地址 25
2.3 配置静态IP地址 26
2.4 为树莓派配置网络名称 28
2.5 配置无线网络连接 29
2.6 使用控制台线联网 31
2.7 利用SSH远程控制树莓派 33
2.8 利用VNC远程控制树莓派 35
2.9 利用RDP远程控制树莓派 36
2.10 在Mac网络中实现文件共享 38
2.11 在Mac上共享树莓派的屏幕 39
2.12 将树莓派用作网络存储服务器 41
2.13 网络打印 44
第3章 操作系统 47
3.0 引言 47
3.1 通过图形界面移动文件 47
3.2 启动一个终端会话 49
3.3 利用终端浏览文件系统 50
3.4 复制文件或文件夹 52
3.5 重命名文件和文件夹 53
3.6 编辑文件 54
3.7 查看文件内容 56
3.8 不借助编辑器的情况下创建文件 57
3.9 创建目录 57
3.10 删除文件或目录 58
3.11 以超级用户权限执行任务 59
3.12 理解文件权限 60
3.13 修改文件的权限 61
3.14 修改文件的属主 62
3.15 屏幕截图 63
3.16 利用apt-get安装软件 64
3.17 删除利用apt-get安装的软件 65
3.18 利用Pip安装Python软件包 65
3.19 通过命令行获取文件 66
3.20 利用Git获取源代码 67
3.21 在系统启动时自动运行程序或脚本 67
3.22 让程序或脚本作为服务自动运行 68
3.23 定期自动运行程序或脚本 70
3.24 搜索功能 71
3.25 使用命令行历史记录功能 72
3.26 监视处理器活动 73
3.27 文件压缩 75
3.28 列出已连接的USB设备 76
3.29 将输出从命令行重定向到文件 76
3.30 连接文件 77
3.31 使用管道 78
3.32 将输出隐藏到终端 78
3.33 在后台运行程序 79
3.34 创建命令别名 80
3.35 设置日期和时间 80
3.36 查看SD卡剩余存储空间 81
第4章 软件 83
4.0 引言 83
4.1 搭建媒体中心 83
4.2 安装Oice软件 84
4.3 安装其他浏览器 86
4.4 使用树莓派商店 87
4.5 打造网络摄像头服务器 88
4.6 运行老式游戏控制台模拟器 90
4.7 运行树莓派版Minecraft 92
4.8 运行Minecraft服务器 93
4.9 运行Open Arena 95
4.10 树莓派无线电发射器 96
4.11 运行GIMP 98
4.12 互联网广播 99
第5章 Python入门 101
5.0 引言 101
5.1 在Python 2和Python 3之间做出选择 101
5.2 使用IDLE编辑Python程序 102
5.3 使用Python控制台 104
5.4 利用终端运行Python程序 105
5.5 变量 106
5.6 显示输出结果 107
5.7 读取用户输入 107
5.8 算术运算 108
5.9 创建字符串 109
5.10 连接(合并)字符串 110
5.11 将数字转换为字符串 111
5.12 将字符串转换为数字 111
5.13 确定字符串的长度 112
5.14 确定某字符串在另一个字符串中的位置 113
5.15 截取部分字符串 113
5.16 使用字符串替换另一个字符串中的内容 114
5.17 字符串的大小写转换 115
5.18 根据条件运行命令 116
5.19 值的比较 117
5.20 逻辑运算符 118
5.21 将指令重复执行特定次数 119
5.22 重复执行指令直到特定条件改变为止 120
5.23 跳出循环语句 120
5.24 定义Python函数 121
第6章 Python语言中的列表与字典 123
6.0 引言 123
6.1 创建列表 123
6.2 访问列表元素 124
6.3 确定列表长度 125
6.4 为列表添加元素 125
6.5 删除列表元素 126
6.6 通过解析字符串创建列表 127
6.7 遍历列表 127
6.8 枚举列表 128
6.9 列表排序 129
6.10 分割列表 130
6.11 将函数应用于列表 131
6.12 创建字典 131
6.13 访问字典 133
6.14 删除字典元素 134
6.15 遍历字典 134
第7章 Python高级特性 137
7.0 引言 137
7.1 格式化数字 137
7.2 格式化时间和日期 138
7.3 返回多个值 139
7.4 定义类 140
7.5 定义方法 141
7.6 继承 142
7.7 向文件中写入内容 143
7.8 读文件 144
7.9 序列化(Pickling) 145
7.10 异常处理 146
7.11 使用模块 147
7.12 随机数 148
7.13 利用Python发送Web请求 149
7.14 Python的命令行参数 150
7.15 从Python运行Linux命令 151
7.16 从Python发送电子邮件 152
7.17 利用Python编写简单Web服务器 153
7.18 同时进行多件事情 154
7.19 让Python无所事事 156
7.20 将Python应用于树莓派版Minecraft 156
第8章 机器视觉 159
8.0 引言 159
8.1 安装SimpleCV 159
8.2 为机器视觉配置USB摄像头 160
8.3 将树莓派的摄像头模块用于机器视觉 162
8.4 数硬币 163
8.5 人脸检测 166
8.6 运动检测 168
8.7 光学字符识别 170
第9章 硬件基础 173
9.0 引言 173
9.1 GPIO连接器使用说明 173
9.2 使用GPIO接口时树莓派的安全保护 176
9.3 配置I2C 176
9.4 使用I2C工具 178
9.5 配置SPI 179
9.6 安装PySerial以便从Python访问串口 180
9.7 安装Minicom以检测串口 181
9.8 使用带有跳线的面包板 182
9.9 使用树莓派的排线连接面包板 183
9.10 使用树莓派Squid 184
9.11 使用Raspberry Squid按钮 186
9.12 利用两个电阻将5V信号转换为3.3V 187
9.13 利用电平转换模块将5V信号转换为3.3V 189
9.14 利用电池为树莓派供电 190
9.15 利用锂电池为树莓派供电 192
9.16 Sense HAT入门指南 193
9.17 Explorer HAT Pro入门指南 194
9.18 RaspiRobot Board入门指南 196
9.19 使用Pi Plate原型板 198
9.20 制作树莓派扩展板(Hardware At Top,HAT) 201
9.21 树莓派的计算模块 204
9.22 Pi Zero 205
第10章 控制硬件 207
10.0 引言 207
10.1 连接LED 207
10.2 让GPIO引脚进入安全状态 209
10.3 控制LED的亮度 210
10.4 制造蜂鸣声 213
10.5 利用晶体管开关大功率直流设备 214
10.6 使用继电器控制大功率设备的开关 216
10.7 控制高压交流设备 219
10.8 编写用于控制开关的用户界面 220
10.9 编写控制LED和电机的PWM功率的用户界面 221
10.10 改变RGB LED的颜色 223
10.11 使用大量LED(Charlieplexing方式) 225
10.12 将模拟仪表用作显示器 228
10.13 中断编程 230
第11章 电机 233
11.0 引言 233
11.1 控制伺服电机 233
11.2 精确控制伺服电机 237
11.3 控制多台伺服电机 239
11.4 控制直流电动机的速度 242
11.5 控制直流电机的方向 244
11.6 使用单极步进电机 248
11.7 使用双极步进电机 252
11.8 利用步进电机HAT驱动双极步进电机 253
11.9 使用RaspiRobot板驱动双极步进电机 256
11.10 打造一款简单的机器人小车 257
第12章 数字输入 261
12.0 引言 261
12.1 连接按钮开关 261
12.2 通过按钮开关切换开关状态 264
12.3 使用双位拨动开关或滑动开关 265
12.4 使用三位拨动开关或滑动开关 266
12.5 按钮去抖 269
12.6 使用外部上拉电阻 271
12.7 使用旋转(正交)编码器 272
12.8 使用数字键盘 275
12.9 检测移动 278
12.10 为树莓派添加GPS 280
12.11 拦截按键 283
12.12 拦截鼠标移动 285
12.13 使用实时时钟模块 286
第13章 传感器 291
13.0 引言 291
13.1 使用电阻式传感器 291
13.2 测量亮度 296
13.3 利用热敏电阻测量温度 298
13.4 检测甲烷 301
13.5 测量电压 304
13.6 为测量而降低电压 306
13.7 使用电阻式传感器与ADC 309
13.8 使用ADC测量温度 310
13.9 测量树莓派的CPU温度 312
13.10 利用Sense HAT测量温度、湿度和气压 313
13.11 利用数字传感器测量温度 315
13.12 利用MCP3008模块测量加速度 318
13.13 使用Sense HAT的惯性管理单元(IMU) 321
13.14 利用Sense HAT寻找磁北 323
13.15 利用簧片开关检测磁铁 323
13.16 利用Sense HAT感应磁场 325
13.17 测量距离 325
13.18 电容式触摸传感技术 328
13.19 显示传感器的值 331
13.20 利用USB闪存驱动器记录日志 332
第14章 显示设备 335
14.0 引言 335
14.1 使用四位LED显示设备 335
14.2 在I2C LED矩阵上面显示消息 337
14.3 使用Sense HAT LED矩形显示器 339
14.4 在Alphanumeric LCD HAT上显示消息 341
14.5 在Alphanumeric LCD模块上显示消息 343
14.6 使用OLED图形显示器 347
14.7 使用可寻址的RGB LED灯条 349
第15章 物联网 355
15.0 引言 355
15.1 使用Web接口控制GPIO输出 355
15.2 在网页上面显示传感器读数 360
15.3 使用IFTTT发送电子邮件及其他通知 363
15.4 利用ThingSpeak发送Tweets 367
15.5 CheerLights 369
15.6 向ThingSpeak发送传感器数据 370
15.7 使用Dweet和IFTTT响应Tweet 373
第16章 Arduino与树莓派 377
16.0 引言 377
16.1 通过树莓派对Arduino进行编程 378
16.2 利用Serial Monitor与Arduino进行通信 380
16.3 配置PyFirmata以便通过树莓派来控制Arduino 382
16.4 通过树莓派对Arduino的数字输出进行写操作 384
16.5 使用PyFirmata与TTL串口 386
16.6 使用PyFirmata读取Arduino的数字输入 388
16.7 利用PyFirmata读取Arduino的模拟输入 390
16.8 模拟输出(PWM)与PyFirmata 391
16.9 利用PyFirmata控制伺服电机 393
16.10 定制基于TTL Serial的Arduino通信 395
16.11 通过I2C自定义与Arduino之间的通信 399
16.12 在树莓派上使用小型Arduino 402
16.13 aLaMode板与树莓派入门 403
16.14 在树莓派和aLaMode板上使用Arduino Shield 406
附录A 配件与供应商 409
附录B 树莓派引脚 415
评论
还没有评论。