第1章 树莓派的前生今世 1
1.1走进树莓派的世界 1
1.1.1树莓派是什么 1
1.1.2树莓派能干什么 3
1.2树莓派的兄弟姐妹 10
1.2.1树莓派的发展史 11
1.2.2 A型和B型树莓派 12
1.2.3 B+型树莓派 14
1.2.4面向商业和工业用途版本的树莓派 15
1.3树莓派的表亲们 16
1.3.1其他卡片计算机 17
1.3.2树莓派的扩展模块 20
1.3.3 Scratch Tools开发板 23
1.3.4 Arduino及其和树莓派的优缺点比较 23
第2章 认识树莓派的硬件 26
2.1树莓派的结构 26
2.2树莓派的主要部件介绍 27
2.2.1处理器芯片 28
2.2.2内存 30
2.2.3 USB 2.0和网络控制芯片 32
2.2.4电源系统 32
2.2.5 LED指示灯 33
2.3树莓派的对外接口 34
2.3.1 USB接口 34
2.3.2网络接口 35
2.3.3摄像头接口(CSI) 36
2.3.4显示器接口(DSI) 36
2.3.5 HDMI接口 37
2.3.6 SD卡接口 39
2.3.7通用I/O接口(GPIO) 40
2.3.8 RCA复合视频接口和3.5mm音频接口 41
2.3.9其他接口 42
2.4树莓派必需的外围设备 42
2.4.1供电电源 43
2.4.2 SD卡 43
2.4.3显示器和显示器电缆 43
2.4.4鼠标键盘 44
2.4.5无线网卡 44
2.4.6其他 45
第3章 在树莓派上安装操作系统 47
3.1树莓派支持的操作系统 47
3.1.1 Raspbian操作系统 50
3.1.2 Pidora操作系统 50
3.1.3 OpenELEC和RaspBMC操作系统 51
3.1.4 Arch Linux操作系统 51
3.1.5 RISC OS操作系统 52
3.1.6 OpenWRT操作系统 52
3.1.7其他 52
3.2在树莓派上安装Raspbian操作系统 53
3.2.1将操作系统写入SD卡 53
3.2.2使用树莓派的raspi-config工具 56
3.3设置和更新Raspbian操作系统 65
3.3.1树莓派的“BIOS”——config.txt文件解析 65
3.3.2设置更新源并且更新系统 70
3.3.3设置中文语言包和安装中文输入法 75
3.4安装树莓派的其他操作系统 75
3.4.1安装Pidora 75
3.4.2安装RISC OS 79
3.5树莓派的NOOBS工具 80
第4章 使用树莓派的Raspbian操作系统 84
4.1树莓派的桌面环境和文件系统 84
4.1.1树莓派的桌面环境 84
4.1.2树莓派的文件系统 90
4.2树莓派的命令行界面和常用命令 91
4.2.1树莓派的命令行界面 92
4.2.2树莓派的常用命令 93
第5章 在树莓派上安装和使用软/硬件 105
5.1在树莓派上安装软件 105
5.1.1使用树莓派商店 105
5.1.2使用树莓派的命令行界面安装软件 106
5.2使用树莓派的软件 109
5.3在树莓派上安装和使用硬件 116
5.3.1安装无线网卡 116
5.3.2使用U盘 120
5.4远程登录树莓派 123
5.4.1 SSH登录树莓派 123
5.4.2远程桌面连接树莓派 125
第6章 在树莓派上编写C语言程序 128
6.1 C语言及其开发环境 128
6.2编辑环境Vim 129
6.2.1在树莓派上安装Vim 129
6.2.2在树莓派上使用Vim 131
6.2.3使用Vim编辑C语言源文件 135
6.2.4在树莓派上配置Vim 136
6.3编译器gcc 138
6.3.1在树莓派上安装gcc 139
6.3.2在树莓派上使用gcc 139
6.4调试器gdb 141
6.4.1在树莓派上安装gdb 142
6.4.2在树莓派上使用gdb 142
6.5编写Hello Raspbian! 144
第7章 在树莓派上编写脚本语言程序 146
7.1什么是脚本语言 146
7.2 Shell脚本语言 147
7.2.1树莓派上运行的Shell 147
7.2.2 Shell脚本语言的开发工具 149
7.2.3在树莓派上编写Shell脚本语言程序 150
7.3 Python脚本语言 152
7.3.1树莓派上的Python脚本语言环境 152
7.3.2 Python Games 157
7.3.3树莓派的Python扩展模块 159
7.4用脚本语言获取树莓派状态 160
7.4.1 vcgencmd命令 160
7.4.2使用vcgencmd命令的Shell脚本 162
7.4.3使用vcgencmd命令的Python脚本 164
7.4.4使用Python脚本获取树莓派的更多状态 165
第8章 在树莓派上学习其他知识 168
8.1树莓派上的Scratch 168
8.1.1Scratch基础 168
8.1.2树莓派上的Scratch运行界面 169
8.1.3在树莓派上编写Scratch程序 170
8.1.4 Scratch Tools智力开发板 173
8.2树莓派上的Arduino 174
8.2.1 Arduino的硬件 174
8.2.2安装和使用Arduino集成开发环境 176
8.2.3在树莓派上安装和使用Arduino开发板 177
8.3 Wolfram Research公司和Mathematica 180
第9章 使用树莓派的外部接口引脚 182
9.1树莓派的外部接口引脚基础 182
9.2树莓派的外部接口扩展板 186
9.3通过脚本控制树莓派的外部接口引脚 189
9.3.1连接外部接口扩展板 189
9.3.2使用Shell脚本语言控制外部接口引脚 190
9.3.3使用Python脚本语言控制外部接口引脚 192
9.4 WiringPi和树莓派的外部接口引脚 193
9.4.1下载和安装WiringPi 193
9.4.2 WiringPi中的外部接口定引脚义 195
9.4.3 WiringPi提供的gpio命令 196
9.4.4使用WiringPi控制外部接口引脚 199
9.5使用树莓派实现家庭自动化温度控制 201
9.5.1自动化家庭温度控制的原理 202
9.5.2 DS 18B20 温度传感器 202
9.5.3获取当前温度 207
9.5.4通过温度信息控制电源控制模块 210
第10章 用树莓派丰富生活和工作 211
10.1使用树莓派搭建LAMP服务器 211
10.1.1 LAMP基础 211
10.1.2在树莓派上安装LAMP服务器 211
10.1.3访问LAMP服务器并且修改欢迎页面 215
10.2通过网络向树莓派传输数据 217
10.3 Web远程监控树莓派状态 220
10.4用树莓派搭建BT下载服务器 224
10.4.1在树莓派上安装BT服务器 224
10.4.2使用树莓派上的BT服务器 225
10.5打造自己的网络文件服务器(NAS) 228
10.5.1将树莓派映射为网络磁盘驱动器 229
10.5.2映射树莓派上连接的移动硬盘 232
10.6使用树莓派打造协作工作中心Media Wiki 235
10.6.1安装Media Wiki 236
10.6.2配置Media Wiki 236
10.7使用手机App访问和操作树莓派 241
10.7.1 SSH登录工具ConnectBot 241
10.7.2图形界面登录工具android VNC 244
10.7.3树莓派运行状态监控工具PasPi Check 246
10.8安装并运行雷神之锤3 247
10.8.1雷神之锤介绍 248
10.8.2在树莓派上安装和运行雷神之锤 248
10.8.3一些可能存在问题的解决措施 252
10.9使用复古派打造个人游戏机 253
10.10 PC上的树莓派虚拟机 255
10.10.1什么是QEMU 255
10.10.2使用QEMU虚拟树莓派 256
第11章 用Raspbmc将树莓派打造为家庭媒体播放器 259
11.1 XBMC和树莓派支持的XMBC系统 259
11.2安装Raspbmc 260
11.2.1使用Raspbmc安装器 260
11.2.2 Raspbmc的自动安装过程 262
11.3个性化Raspbmc 264
11.3.1设置语言和时间 265
11.3.2添加天气预报 267
11.3.3 Raspbmc Settings工具 269
11.4了解和使用Raspbmc 274
11.4.1浏览Raspbmc 274
11.4.2 Raspbmc的插件 278
11.4.3观看本地U盘视频 279
11.4.4观看本地网络视频 280
11.4.5观看在线视频 282
11.5控制Raspbmc 286