第1部分 怎样的树莓派
第1章 树莓派的诞生 2
第2章 树莓派的心脏 7
第3章 树莓派的大脑 12
第2部分 使用树莓派
第4章 开始使用树莓派 20
4.1 解剖树莓派 22
4.2 操作系统的安装与启动 23
4.3 图形化界面 24
4.4 Scratch 26
4.5 KTurtle 27
第5章 贝壳里的树莓派 31
5.1 初试Shell 31
5.2 用命令了解树莓派 32
5.3 什么是Shell 35
5.4 Shell的选择 36
5.5 命令的选项和参数 37
5.6 如何了解一个陌生的命令 38
5.7 Shell小窍门 38
第6章 好编辑 40
6.1 图形化的文本编辑器 40
6.2 使用nano 42
6.3 语法高亮 44
6.4 文件基础操作 45
第7章 更好的树莓派 47
7.1 常见初始化配置 47
7.2 软件升级与安装 49
第8章 漂洋过海连接你 51
8.1 局域网SSH登录 51
8.2 Bonjour 53
8.3 互联网SSH登录 53
8.4 文件传输 56
第9章 时间的故事 60
9.1 NTP服务 60
9.2 时区设置 61
9.3 实时时钟 62
9.4 date的用法 65
第10章 规划小能手 67
10.1 用cron规划任务 67
10.2 用cron开机启动 68
10.3 用/etc/init.d实现开机启动 68
10.4 避免使用/etc/rc.local 71
10.5 Shell中的定时功能 71
第11章 GPIO的触手 73
11.1 GPIO简介 73
11.2 控制LED灯 74
11.3 两个树莓派之间的GPIO 75
11.4 UART编程 77
11.5 用UART连接PC 79
11.6 用UART登录树莓派 79
第12章 玩转蓝牙 80
12.1 蓝牙介绍 80
12.2 BLE介绍 82
12.3 Bluez 85
12.4 了解树莓派上的蓝牙 86
12.5 树莓派作为BLE外设 87
12.6 树莓派作为BLE中心设备 88
12.7 树莓派作为Beacon 89
第13章 你是我的眼 91
13.1 摄像头的安装与设置 91
13.2 摄像头的基本使用 92
13.3 用VLC做网络摄像头 92
13.4 用Motion做动作捕捉 93
第3部分 进入LINUX
第14章 Linux的真身 96
14.1 什么是内核 96
14.2 什么是GNU软件 98
14.3 Linux的发行版 99
第15章 你好,文件 101
15.1 路径与文件 101
15.2 目录 102
15.3 硬链接 103
15.4 软链接 104
15.5 文件操作 105
15.6 文件搜索 106
第16章 从程序到进程 108
16.1 指令 108
16.2 C程序 110
16.3 程序编译 111
16.4 看一眼进程 112
第17章 万物皆是文本流 114
17.1 文本流 114
17.2 标准输入、标准输出、标准错误 116
17.3 重新定向 117
17.4 管道 118
17.5 文本相关命令 119
第18章 我的地盘我做主 121
18.1 我是谁 121
18.2 root和用户创建 122
18.3 用户信息文件 124
18.4 文件权限 125
18.5 文件权限管理 127
第19章 会编程的bash(上) 129
19.1 变量 129
19.2 数学运算 131
19.3 返回代码 132
19.4 bash脚本 133
19.5 函数 136
19.6 跨脚本调用 137
第20章 会编程的bash(下) 138
20.1 逻辑判断 138
20.2 选择结构 140
20.3 循环结构 143
20.4 bash与C语言 146
第21章 完整架构 148
21.1 内核模式与系统调用 148
21.2 库函数 149
21.3 Shell 151
21.4 用户程序 151
第22章 函数调用与进程空间 153
22.1 函数调用 153
22.2 跳转 155
22.3 栈与情境切换 157
22.4 本地变量 158
22.5 全局变量和堆 159
第23章 穿越时空的信号 161
23.1 按键信号 161
23.2 kill命令 162
23.3 信号机制 163
23.4 信号处理 164
23.5 C程序中的信号 166
第4部分 深入Linux
第24章 进程的生与死 170
24.1 从init到进程树 170
24.2 fork系统调用 171
24.3 资源的fork 172
24.4 最小权限原则 174
24.5 进程的终结 174
第25章 进程间的悄悄话 177
25.1 管道 177
25.2 管道的创建 178
25.3 其他IPC方式 179
第26章 多任务与同步 185
26.1 并发与分时 185
26.2 多线程 186
26.3 竞态条件 189
26.4 多线程同步 190
第27章 进程调度 194
27.1 进程状态 194
27.2 进程的优先级 195
27.3 O(n)和O(1)调度器 196
27.4 完全公平调度器 199
第28章 内存的一页故事 201
28.1 内存 201
28.2 虚拟内存 202
28.3 内存分页 203
28.4 多级分页表 204
第29章 库大管家 207
29.1 外部存储设备 207
29.2 外部存储器的挂载 208
29.3 ext文件系统 209
29.4 FAT文件系统 211
29.5 文件描述符 212
第30章 鸟瞰文件树 213
30.1 /boot和树莓派启动 213
30.2 应用程序相关 214
30.3 /etc与配置 215
30.4 系统信息与设备 216
30.5 其他目录 217
第31章 分级存储 219
31.1 CPU缓存 219
31.2 页交换 220
31.3 交换空间 221
31.4 外存的缓存与缓冲 222
第32章 遍阅网络协议 225
32.1 通信与互联网协议 225
32.2 协议分层 226
第33章 树莓派网络诊断 229
33.1 基础工具 229
33.2 网络层 230
33.3 路由 231
33.4 网络监听 231
33.5 域名解析 232
第5部分 树莓派小应用
第34章 树莓派平板电脑 234
34.1 平板电脑 234
34.2 硬件介绍 234
34.3 硬件的安装 235
34.4 配置操作系统 236
第35章 天气助手 238
35.1 读取互联网API 238
35.2 发送邮件 242
第36章 架设博客 245
36.1 安装服务器软件 245
36.2 安装Typecho 247
36.3 让别人可以访问你的网站 248
第37章 离线下载 250
37.1 安装下载工具Aria2 250
37.2 Aria2的使用 251
37.3 远程使用Aria2 251
37.4 安装图形化下载管理工具 252
第38章 访客登记系统 255
38.1 编写命令行小程序 255
38.2 尝试Tkinter 257
38.3 制作访客登记系统 260
38.4 访客名片和访客拍照 261
第39章 节能照明系统 263
39.1 传感器 263
39.2 读取传感器数据 264
39.3 控制照明电路 266
第40章 树莓派挖矿 268
40.1 比特币钱包 268
40.2 在树莓派上挖矿 270
40.3 区块链存储服务 272
第41章 高性能计算 275
41.1 Spark 275
41.2 树莓派与Spark 276
41.3 单机版?计算 277
41.4 树莓派集群 278
第42章 蓝牙即时通信 281
42.1 树莓派与蓝牙 281
42.2 蓝牙服务端 282
42.3 蓝牙客户端程序 284
42.4 服务端和客户端通信 285
42.5 实现文字聊天功能 285
42.6 数据加密传输 286
第43章 制作一个Shell 291
43.1 配置项目 291
43.2 输入输出设置 293
43.3 初步的Shell 295
43.4 文字颜色与其他配置 296
43.5 部分Shell 功能 297
43.6 Shell主程序 304
第44章 人工智能 311
44.1 树莓派的准备 311
44.2 YOLO识别 313
44.3 图形化显示结果 316
附录A 字符编码 318
附录B Linux命令速查 320
附录C C语言语法摘要 328
附录D Makefile基础 332
附录E gbd调试C程序 334
附录F 参考书目及简介 338
后记 340
温馨提示:请使用石家庄市图书馆的读者帐号和密码进行登录