第1篇 主板 3
第1章 初识树莓派 3
1.1 主板简介 4
1.2 Model A 6
1.3 Model B 7
1.4 Model B+ 8
1.5 关于Model B的PCB版本修订历史 9
1.5.1 第1个版本(Rev 1) 9
1.5.2 第2个版本(Rev2) 9
1.5.3 Model B+ 9
1.6 一点背景 10
1.6.1 ARM与x86 10
1.6.2 Windows与Linux 11
第2章 树莓派入门 13
2.1 连接显示器 14
2.1.1 复合视频 14
2.1.2 HDMI视频 15
2.1.3 DSI视频 16
2.2 连接音频设备 16
2.3 连接键盘和鼠标 17
2.4 在SD卡上安装NOOBS 19
2.5 连接外部存储设备 20
2.6 网络连接 21
2.6.1 有线网络 22
2.6.2 无线网络 23
2.7 连接电源 24
2.8 安装操作系统 25
2.8.1 使用NOOBS安装 25
2.8.2 手动安装 27
第3章 Linux系统管理 33
3.1 Linux系统概述 34
3.2 Linux基础 36
3.3 Raspbian简介 37
3.3.1 谈谈Raspbian的父亲,Debian 42
3.3.2 Raspbian的替代方案 42
3.4 使用外部存储设备 43
3.5 创建一个新的用户账户 45
3.5.1 文件系统布局 46
3.5.2 逻辑布局 46
3.5.3 物理布局 48
3.6 安装和卸载软件 48
3.6.1 从树莓派商店获取软件 48
3.6.2 从其他途径获取软件 51
3.6.3 查找你要的软件 52
3.6.4 安装软件 53
3.6.5 卸载软件 53
3.6.6 升级软件 54
3.7 安全关闭树莓派 55
第4章 故障排查 57
4.1 键盘与鼠标的诊断 58
4.2 供电的诊断 59
4.3 显示的诊断 61
4.4 启动的诊断 61
4.5 网络的诊断 62
4.6 紧急内核 65
第5章 网络配置 67
5.1 有线网络 68
5.2 无线网络 71
5.3 通过wpa_gui连接无线网络 75
5.4 通过终端接入无线网络 77
5.4.1 No Encryption 80
5.4.2 WEP Encryption 81
5.4.3 WPA/WPA2 Encryption 81
5.4.4 连接到无线网络 82
第6章 树莓派软件配置工具 83
6.1 运行raspi-config 84
6.2 设置选项界面 85
6.2.1 Expand Filesystem 85
6.2.2 Change UserPassword 86
6.2.3 Enable Boot toDesktop/Scratch 86
6.2.4 InternationalisationOptions 87
6.2.5 Enable Camera 88
6.2.6 Add to Rastrack 89
6.2.7 Overclock 89
6.2.8 Advanced Options 91
6.2.9 About raspi-config 94
第7章 树莓派高级配置 97
7.1 使用NOOBS编辑配置文件 98
7.2 配置硬件:config.txt 99
7.2.1 显示设置 100
7.2.2 启动设置 104
7.2.3 树莓派超频 104
7.3 关闭L2缓存 108
7.4 内存划分 109
7.5 配置软件:cmdline.txt 110
第2篇 构建媒体中心、生产机器和Web服务器 115
第8章 树莓派作为家庭影院计算机 115
8.1 音乐播放控制台 116
8.2 专用家庭影院计算机 118
8.2.1 流网络媒体 120
8.2.2 本地网络上的流媒体 121
8.2.3 配置Raspbmc 123
第9章 树莓派用于生产环境 125
9.1 使用云端的应用 126
9.2 使用LibreOffice 129
9.3 使用Gimp图像编辑器 131
第10章 树莓派作为Web服务器 135
10.1 安装LAMP 136
10.2 安装WordPress 140
第3篇 树莓派编程 147
第11章 Scratch编程 147
11.1 Scratch介绍 148
11.2 例1:Hello World 149
11.3 例2:动画与声音 152
11.4 例3:一个简单的游戏 154
11.5 机器人和传感器 160
11.5.1 PicoBoard传感器 161
11.5.2 机器人与LEGO 161
11.6 进一步阅读 161
第12章 Python编程 163
12.1 Python介绍 164
12.2 例1:Hello World 164
12.3 例2:注释、输入、变量和循环 169
12.4 例3:用pygame开发游戏 174
12.5 例4:Python与网络 182
12.6 进一步阅读 187
第13章 Minecraft树莓派版 189
13.1 Minecraft树莓派版介绍 190
13.2 安装Minecraft 190
13.3 运行Minecraft 192
13.4 探索 193
13.5 破解Minecraft 195
第4篇 硬件破解 203
第14章 学习硬件破解 203
14.1 电子元件 204
14.2 解读电阻颜色编码 206
14.3 采购组件 207
14.3.1 在线零售商 207
14.3.2 离线零售商 208
14.3.3 业余爱好专家 209
14.4 在实验电路板上更进一步 210
14.5 焊接简介 212
第15章 GPIO端口 217
15.1 识别树莓派版本 218
15.2 GPIO引脚图 219
15.3 GPIO特性 221
15.3.1 UART串行总线 222
15.3.2 I2C总线 222
15.3.3 SPI总线 222
15.4 通过Python使用GPIO端口 223
15.4.1 GPIO输出:闪烁LED灯 223
15.4.2 GPIO输入:读取按键 227
第16章 树莓派摄像头模块 233
16.1 为何使用摄像头模块 234
16.2 安装摄像头模块 235
16.3 启用摄像头模式 238
16.4 拍摄相片 239
16.5 录制视频 242
16.6 命令行定时拍照 243
第17章 扩展电路板 249
17.1 树莓派的Ciseco Slice扩展板 250
17.2 Adafruit的树莓派原型扩展板 253
17.3 Fen的Gertboard逻辑板 255
第5篇 附录 263
附录A Python程序代码 263
附录B 树莓派摄像头快速参考 269
附录C HDMI显示模式 277