前言
致谢
第1章 起航(启动和运行) 1
1.1 组装好你的树莓派 1
1.2 可能遇到的问题 2
1.3 树莓派快速指南 3
1.3.1 使用LXDE(轻量级X11桌面环境) 3
1.3.2 使用终端 4
1.3.3 通过Raspi-Config改变配置 6
1.3.4 安装软件 6
1.4 Python3 6
1.4.1 Python解释器 7
1.4.2 运行Python程序 7
1.5 小结 8
第2章 Python简介 9
2.1 使用Turtles绘画 9
2.1.1 使用循环 12
2.1.2 条件处理:if、elif和else 14
2.1.3 使用函数和方法组织代码 15
2.2 一个Python游戏:猫和老鼠 16
2.2.1 理解变量 19
2.2.2 定义函数 19
2.2.3 在游戏中循环 19
2.3 小结 20
第3章 Python基础 22
3.1 变量、值和类型 22
3.1.1 值和类型 23
3.1.2 数字排序 24
3.1.3 使用Strings保存文字 25
3.1.4 布尔值:真或假 25
3.1.5 数据类型转换 26
3.1.6 知识测试 26
3.2 在结构体中存储值 27
3.2.1 字典和集合中的非序列元素 30
3.2.2 知识测试 31
3.3 控制程序流程 32
3.3.1 用循环遍历数据 32
3.3.2 深入理解循环嵌套 33
3.3.3 使用if语句控制程序分支 34
3.3.4 捕获异常 35
3.4 使用函数复用代码 36
3.5 组合装配 38
3.6 使用类来构建对象 40
3.7 使用模块获得附加特性 45
3.8 小结 46
3.9 习题答案 47
第4章 图形编程 48
4.1 图形用户界面(GUI)编程 48
4.2 添加控制 50
4.3 创建Web浏览器 52
4.4 添加窗口菜单 60
4.5 小结 62
4.6 习题答案 62
第5章 搭建游戏 65
5.1 构建游戏 66
5.2 初始化PyGame 69
5.3 为角色创建世界 73
5.3.1 检测冲突 74
5.3.2 左右移动 76
5.3.3 达到目标 78
5.3.4 制造挑战 79
5.4 在游戏中加入自己的风格 83
5.5 添加音乐 83
5.6 添加布景 84
5.7 让游戏更上一层楼 87
5.8 逼真的游戏物理 87
5.9 小结 91
第6章 使用OpenGL创建图形 92
6.1 获取模块 93
6.2 创建旋转立方体 93
6.2.1 向量和矩阵 95
6.2.2 组合包装 98
6.2.3 增加光照 101
6.3 让屏幕起舞 107
6.3.1 建立3D模型 109
6.3.2 计算声音强度 110
6.4 继续完善 115
6.5 添加纹理 115
6.6 小结 116
第7章 Python与网络 117
7.1 理解主机、端口和套接字 117
7.1.1 使用IP地址定位计算机 117
7.1.2 搭建会话服务器 118
7.1.3 “推”向世界 121
7.1.4 使用JSON做天气预报 123
7.2 知识测验 125
7.3 走向网站 125
7.3.1 让网站动起来(动态网站) 127
7.3.2 使用模板 128
7.3.3 使用表格回传数据 129
7.4 安全 131
7.5 小结 134
7.6 习题答案 134
第8章 我的世界 137
8.1 畅游我的世界 138
8.1.1 控制我的世界 138
8.1.2 用Python创建我的世界 139
8.1.3 深入探索 142
8.2 制作贪吃蛇游戏 142
8.2.1 移动贪吃蛇 146
8.2.2 增长贪吃蛇 146
8.2.3 添加苹果 146
8.3 深入探索 147
8.4 小结 148
第9章 多媒体 149
9.1 使用PyAudio让计算机发声 149
9.1.1 录音 151
9.1.2 向树莓派讲话 151
9.1.3 向程序提问 152
9.1.4 组合包装 153
9.1.5 深入探索 155
9.2 制作电影 155
9.2.1 使用USB网络摄像头 155
9.2.2 使用OpenCV添加计算机图像特性 158
9.2.3 深入探索 160
9.2.4 使用树莓派摄像头模块 160
9.2.5 创建直播视频 162
9.2.6 深入探索 165
9.3 小结 165
第10章 脚本 166
10.1 从Linux命令行开始 166
10.1.1 使用subprocess模块 168
10.1.2 命令行标签 169
10.1.3 正则表达式 170
10.2 知识测验 173
10.3 脚本中的网络 174
10.4 组合包装 175
10.5 在Python中操作文件 180
10.6 小结 182
第11章 硬件接口 183
11.1 硬件设置选择 183
11.1.1 母转公接头 183
11.1.2 无焊面包板 184
11.1.3 成品板和万能板 185
11.1.4 PCB加工 185
11.2 辅助工具 185
11.2.1 剪线/剥线器 185
11.2.2 万用表 185
11.2.3 电烙铁 185
11.3 本章所需的硬件 186
11.3.1 第一个电路 186
11.3.2 保护树莓派 189
11.3.3 电源限制 190
11.3.4 获得输入 191
11.4 使用I2C、SPI和串口扩展GPIO 192
11.4.1 SPI通信协议 193
11.4.2 I2C通信协议 196
11.4.3 串口通信协议 196
11.5 深入研究 196
11.5.1 Arduino 197
11.5.2 PiFace 197
11.5.3 Gertboard 197
11.5.4 Wireless Inventor’s Kit 198
11.6 尝试一些流行工程 198
11.6.1 机器人 198
11.6.2 家庭自动化 198
11.6.3 防盗报警器 199
11.6.4 数字艺术 199
11.7 小结 199
第12章 测试与调试 200
12.1 通过打印变量调查故障 200
12.2 通过测试发现故障 203
12.2.1 使用单元测试检查代码片段 204
12.2.2 获得更多断言 207
12.2.3 使用测试集进行回归测试 209
12.2.4 测试整个程序包 210
12.2.5 保证软件可用性 210
12.3 究竟需要多少测试 211
12.4 小结 211
· · · · · · (
收起)