第1章 树莓派简介 1
1.1 树莓派的历史 2
1.2 探索树莓派 5
1.2.1 SD卡 5
1.2.2 电源 6
1.2.3 HDMI接口 6
1.2.4 以太网口和USB接口 6
1.2.5 音频和RCA视频插孔 7
1.2.6 GPIO引脚 7
1.2.7 片上系统 7
1.2.8 树莓派同相似设备之间的对比 8
1.3 树莓派的硬件需求 8
1.3.1 通电 8
1.3.2 添加显示器 9
1.3.3 添加USB集线器 9
1.3.4 使用USB无线网络适配器 10
1.4 树莓派操作系统 11
1.4.1 格式化SD卡 11
1.4.2 使用NOOBS 11
1.5 连接外围设备 12
1.6 配置树莓派 12
1.7 关闭树莓派 14
1.8 总结 14
第2章 轻松掌握Linux 15
2.1 开始使用树莓派的Linux 16
2.1.1 Linux文件和文件系统 17
2.1.2 root用户与sudo 18
2.2 命令 18
2.3 练习:在Linux文件系统内 22
进行导航 22
2.4 Linux中的shell 23
2.5 包管理器 24
2.6 文本编辑器 25
2.6.1 vim、emacs与nano 26
2.6.2 Leafpad 29
2.7 总结 30
第3章 Python介绍 31
3.1 脚本语言与程序设计语言 31
3.2 Python语言的理念 33
3.3 Python入门 34
3.3.1 通过IDLE运行Python 34
3.3.2 通过终端运行Python 37
3.3.3 通过脚本运行Python 37
3.3.4 探究Python的数据类型 38
3.4 利用Python进行编程 44
3.4.1 if测试 45
3.4.2 循环 47
3.4.3 函数 48
3.4.4 对象和面向对象编程 49
3.5 总结 50
第4章 电子知识大科普 51
4.1 基本电路常识 52
4.2 开发所需要的工具 53
4.2.1 螺丝刀 54
4.2.2 钳子和剥线钳 54
4.2.3 钢丝钳 55
4.2.4 锉刀 55
4.2.5 放大镜灯 55
4.2.6 热胶枪 56
4.2.7 各类胶水 56
4.2.8 万用表 56
4.2.9 电源 57
4.2.10 实验板 57
4.2.11 插线板 58
4.2.12 电烙铁 59
4.3 一般的安全规则 60
4.3.1 认真对待温度 60
4.3.2 认真对待锋利的物体 60
4.3.3 带安全镜 61
4.3.4 准备好灭火器 61
4.3.5 在手边放置一个急救包 61
4.3.6 在通风的环境下工作 62
4.4 整理好你的工作环境 62
4.5 福利:焊接技术 63
4.6 总结 64
第5章 网络机器人 65
5.1 机器人礼仪 66
5.2 网络的连接 67
5.2.1 网络通信协议 67
5.2.2 网页格式 68
5.2.3 请求举例 68
5.3 网络机器人的概念 69
5.4 解析网页 70
5.5 利用Python模块编码 71
5.5.1 使用Mechanize模块 71
5.5.2 用Beautiful Soup解析 72
5.5.3 利用urllib库下载 72
5.6 决定下载的内容 73
5.6.1 选择起点 73
5.6.2 存储文件 74
5.7 编写Python网络机器人 74
5.7.1 读取一个字符串并提取所有链接 75
5.7.2 寻找并下载文件 75
5.7.3 测试网络机器人 76
5.7.4 创建目录并实例化一个列表 77
5.8 最终代码 79
5.9 总结 80
第6章 气象站 81
6.1 零件购物清单 82
6.2 使用I2C协议 83
6.3 使用风速计 84
6.3.1 构造风速计 85
6.3.2 将风速计与树莓派连接 87
6.3.3 根据风速纠正的每秒转数 88
6.4 连接数字指南针 90
6.5 连接温度/湿度传感器 92
6.6 连接气压计 94
6.7 连接所有部件 95
6.8 最终代码 97
6.9 总结 98
第7章 媒体服务器 99
7.1 零件购物清单 99
7.2 使用NTFS格式的硬盘 100
7.3 安装Samba 102
7.3.1 配置Samba 103
7.3.2 Linux权限设置 105
7.3.3 修复单引号错误 106
7.3.4 重新启动Samba服务 106
7.4 与Linux/OSX连接 107
7.5 Python在哪 108
7.6 总结 109
第8章 家庭安防系统 110
8.1 用于安防的狗 111
8.2 用于安防的树莓派 111
8.3 使用传感器网络 112
8.3.1 了解下拉电阻 112
8.3.2 零件购物清单 113
8.3.3 以无线方式连接你的家庭网络 113
8.3.4 访问GPIO引脚 116
8.3.5 设置运动传感器 118
8.3.6 设置磁簧开关 119
8.3.7 设置压力开关 121
8.3.8 连接磁传感器 121
8.3.9 设置树莓派的摄像机 122
8.3.10 利用树莓派发送短信 123
8.3.11 实现回调 124
8.4 连接所有的部件 124
8.5 最终代码 125
8.6 总结 126
第9章 猫玩具 127
9.1 零件购物清单 127
9.2 玩具背后的设计理念 128
9.3 创建和使用随机数 129
9.4 使用GPIO库 130
9.5 控制舵机 132
9.6 构建舵机结构 134
9.7 构建激光结构 135
9.8 将激光连接到舵机上 137
9.9 连接运动传感器 138
9.10 连接所有的部件 140
9.11 最终代码 142
9.12 总结 143
第10章 无线电遥控飞机 144
10.1 零件购物清单 145
10.2 将GPS接收器连接至树莓派 146
10.3 设置日志文件 148
10.4 格式化KML文件 149
10.5 使用线程和对象 150
10.6 设置自启动 152
10.7 连接所有部件 153
10.8 最终代码 156
10.8.1 飞机飞行程序 157
10.8.2 KML转换程序 157
10.9 总结 158
第11章 气象气球 159
11.1 零件购物清单 160
11.2 设置GPS接收器 160
11.3 存储GPS数据 162
11.4 安装PiFM 163
11.5 安装festival 164
11.6 安装FFMPEG 164
11.7 准备树莓派 165
11.8 使用线程和对象 166
11.9 连接所有部件 167
11.10 观察照片结果 169
11.11 最终代码 170
11.12 总结 171
第12章 潜水器 172
12.1 零件购物清单 173
12.2 访问树莓派的GPIO引脚 174
12.3 安装树莓派摄像头模块 176
12.4 控制潜水器 177
12.4.1 连接Wiichuck适配器 178
12.4.2 激活树莓派的12C 179
12.4.3 测试nunchuk 180
12.4.4 从nunchuk读取数据 181
12.4.5 通过nunchuk控制潜水器电机和摄像头 184
12.5 远程启动程序 186
12.6 最终的控制程序 188
12.7 最终代码 188
12.8 构造潜水器 190
12.8.1 构建框架 191
12.8.2 构建树莓派的外壳 191
12.8.3 电机的防水外壳 191
12.8.4 连接至nunchuk 193
12.8.5 装配最终的产品 194
12.9 总结 197
第13章 Gertboard开发板 198
13.1 检查扩展板 199
13.1.1 GPIO引脚 199
13.1.2 Atmega芯片 200
13.1.3 AD、DA转换器 201
13.1.4 I/O部分 201
13.1.5 电机控制器 202
13.1.6 集电极开路驱动器 203
13.1.7 跳帽 204
13.2 示例项目 205
13.2.1 配置初步跳帽的设置 205
13.2.2 点亮LED灯 206
13.2.3 用电机控制器进行实验 208
13.2.4 使用集电极开路驱动器 208
13.2.5 使用数字/模拟转换器 209
13.3 总结 210
第14章 树莓派和Arduino 211
14.1 探索Arduino 212
14.2 在树莓派中安装Arduino IDE 213
14.3 控制舵机 218
14.4 Arduino和Gertboard 219
14.5 总结 220