目 录
第1章 Linux和Raspberry的简介.............................. 1
1.1 Linux前世今生................................................................... 1
1.1.1 Linux的诞生........................................................... 1
1.1.2 Linux的发行版本................................................... 2
1.1.3 Linux的将来........................................................... 3
1.2 深度剖析Raspberry.......................................................... 4
1.2.1 Raspberry Pi的诞生............................................... 4
1.2.2 Raspberry家族....................................................... 5
1.3 Raspberry配件选择.......................................................... 5
1.3.1 Raspberry必要设备............................................... 5
1.3.2 Raspberry非必要设备........................................... 6
1.4 Raspberry OS的选择........................................................ 7
1.4.1 Raspberry官网推荐OS......................................... 7
1.4.2 官方推荐的第三方OS........................................... 8
1.4.3 其他的OS............................................................... 8
第2章 Raspberry的安装配置................................... 10
2.1 从零开始安装配置Raspberry....................................... 10
2.1.1 下载Raspberry的系统........................................ 10
2.1.2 Windows下安装RaspBian.................................. 10
2.1.3 Linux下安装RaspBian........................................ 11
2.1.4 MacOS下安装RaspBian.................................... 14
2.2 RaspBian基本配置......................................................... 15
2.2.1 raspi-config配置................................................... 15
2.2.2 网络配置............................................................... 20
2.2.3 无线网络配置....................................................... 23
2.2.4 其他配置............................................................... 24
2.3 远程无密码登录.............................................................. 25
2.3.1 Windows远程无密码登录................................... 26
2.3.2 Linux远程无密码登录......................................... 33
2.4 系统备份和还原.............................................................. 34
2.4.1 tar备份还原.......................................................... 35
2.4.2 tar增量备份还原.................................................. 37
2.4.3 dd备份还原.......................................................... 38
第3章 Raspberry开发利器...................................... 40
3.1 apt-get................................................................................ 40
3.1.1 apt-get简介........................................................... 40
3.1.2 apt命令用法......................................................... 41
3.2 vim...................................................................................... 43
3.2.1 vim简介................................................................ 43
3.2.2 安装配置vim........................................................ 43
3.2.3 以vim做一个简单的pythonIDE...................... 45
3.2.4 vim使用指南........................................................ 47
3.3 bash.................................................................................... 49
3.3.1 bash简介............................................................... 49
3.3.2 第一个bash脚本Hello world.............................. 53
3.3.3 bash script实例——增量备份脚本.................... 55
3.4 Python................................................................................ 56
3.4.1 Python简介.......................................................... 57
3.4.2 第一个Python脚本 Hello world........................ 57
3.4.3 Python常用模块.................................................. 59
3.4.4 Pythonscript实例——touch2py.py.................. 63
3.4.5 Python进阶实例——getNip.py......................... 65
3.5 常用工具........................................................................... 67
3.5.1 正则表达式(RE).............................................. 67
3.5.2 grep........................................................................ 74
3.5.3 find......................................................................... 76
3.5.4 sed.......................................................................... 79
3.5.5 awk........................................................................ 82
3.5.6 其他常用工具....................................................... 86
第4章 Raspberry常用服务...................................... 90
4.1 xrdp远程桌面服务.......................................................... 90
4.1.1 xrdp简介............................................................... 90
4.1.2 xrdp安装............................................................... 90
4.1.3 登录xrdp............................................................... 91
4.2 samba共享服务............................................................... 94
4.2.1 samba简介............................................................ 94
4.2.2 samba安装............................................................ 94
4.2.3 samba配置............................................................ 95
4.2.4 登录samba服务器............................................... 97
4.3 miniDLNA共享影音服务............................................. 101
4.3.1 miniDLNA简介.................................................. 101
4.3.2 miniDLNA安装.................................................. 102
4.3.3 miniDLNA配置.................................................. 102
4.4 VSFTP FTP服务............................................................ 103
4.4.1 VSFTP简介........................................................ 103
4.4.2 VSFTP安装........................................................ 103
4.4.3 vsftp配置........................................................... 103
4.4.4 登录VSFTP服务器........................................... 108
4.5 Nginx................................................................................ 110
4.5.1 Nginx简介........................................................... 111
4.5.2 Nginx安装........................................................... 111
4.5.3 Nginx配置........................................................... 111
4.6 LAMP............................................................................... 115
4.6.1 LAMP简介........................................................ 115
4.6.2 LAMP安装........................................................ 115
4.6.3 LAMP配置........................................................ 116
第5章 Raspberry常用功能.................................... 122
5.1 挂载磁盘......................................................................... 122
5.1.1 硬件准备............................................................. 122
5.1.2 软件设置............................................................. 122
5.2 Aria2下载机................................................................... 130
5.2.1 安装下载组件..................................................... 130
5.2.2 Aria2配置........................................................... 131
5.2.3 测试Aria2下载机.............................................. 133
5.3 迅雷远程下载................................................................. 134
5.3.1 下载迅雷远程下载固件..................................... 135
5.3.2 设置迅雷远程下载............................................. 135
5.4 动态域名解析................................................................. 140
5.4.1 神器花生壳......................................................... 140
5.4.2 下载安装花生壳................................................. 140
5.4.3 设置花生壳......................................................... 141
5.5 无域名访问内网............................................................ 143
5.5.1 确定公网IP........................................................ 143
5.5.2 端口映射............................................................. 145
5.6 实战:Raspberry给自己发短信................................ 152
5.6.1 方案原理............................................................. 152
5.6.2 方案执行............................................................. 152
5.7 监控器Motion............................................................... 155
5.7.1 安装Motion........................................................ 155
5.7.2 配置使用Motion................................................ 155
第6章 实战Raspberry GPIO.................................. 157
6.1 GPIO简介........................................................................ 157
6.1.1 Raspberry GPIO................................................. 157
6.1.2 物理端口............................................................. 158
6.2 实战GPIO——LED呼吸灯......................................... 158
6.2.1 准备实验物品..................................................... 159
6.2.2 Python控制........................................................ 161
6.3 实战GPIO——蜂鸣器.................................................. 163
6.3.1 准备实验物品..................................................... 163
6.3.2 Python控制........................................................ 164
6.4 实战GPIO——超声波模块......................................... 166
6.4.1 准备实验物品..................................................... 166
6.4.2 Python控制........................................................ 167
第7章 实战:智能开门报警器................................ 170
7.1 硬件准备......................................................................... 170
7.1.1 必需的硬件......................................................... 170
7.1.2 可选硬件............................................................. 170
7.1.3 组装及原理......................................................... 171
7.2 软件准备......................................................................... 171
7.2.1 创建mylog模块................................................. 172
7.2.2 Python控制........................................................ 173
第8章 实战:移动小车 (手机控制 网页控制).... 179
8.1 硬件准备......................................................................... 179
8.1.1 必需的硬件......................................................... 179
8.1.2 可选的硬件......................................................... 181
8.2 组装及原理..................................................................... 181
8.2.1 小车组装............................................................. 181
8.2.2 电机组装............................................................. 186
8.2.3 小车原理............................................................. 191
8.3 软件准备......................................................................... 191
8.3.1 Python控制........................................................ 191
8.3.2 Web控制和手机控制......................................... 194
8.3.3 无线设置 196