第一章 硬件概述 1
1.1树莓派的输入和输出接口 2
1.1.1 U S B端口 2
1.1.2局域网(LAN)端口 3
1.1.3摄像头串行接口(CSI) 3
1.1.4高清晰度多媒体端口(HDMI) 4
1.1.5给树莓派加电! 5
1.1.6显示器串行端口(DSI) 5
1.1.7 SD卡插槽 5
1.1.8 G PIO接口 6
1.1.9模拟视频输出端口 8
1.1.10 JTAG接口 9
1.1.11音频输出 9
1.1.12发光二极管(LED) 10
1.2树莓派的大脑 10
1.2.1处理器流水线 11
1.2.2缓存 13
1.2.3内存芯片 14
1.2.4电源状态 14
1.2.5效能功耗比 15
1.3树莓派的眼睛 15
1.4启功时发生了什么事情? 16
1.5你面前的树莓派 16
1.6总结 17
第2章 安装Fedora 18
2.1镜像文件分析 19
2.1.1使用图形界面安装程序 19
2.1.2使用命令行 20
2.1.3在Windows上安装镜像 21
2.2启动你的树莓派 22
2.2.0哦不,是崩溃 22
2.3配置和系统浏览 23
2.4更新固件和操作系统 27
2.5优化系统 29
2.5.1优化SD卡 29
2.5.2考虑内存交换 31
2.5.3优化CPU周期 31
2.6 I/O调优 32
2.6.1理解完全公平队列(CFQ)调度器 32
2.6.2理解等待(Noop)调度器 34
2.6.3改变调度器 34
2.7轻量级应用程序和工具 35
2.8总结 36
第3章 一个简单的温度传感器 37
3.1面包板GPIO和引脚 38
3.1.1传感器 40
3.1.2神奇的一线总线 42
3.2构建传感器 44
3.2.1使用小的黑色的DS18B20 45
3.2.2从Linux上读取DS18B20 48
3.2.3使用大的蓝色的DHT11 50
3.2.4从Linux上读取DHT11 51
3.3为传感器撰写脚本 55
3.4总结 58
第4章 驱动一个简单的字符型液晶显示器(LCD) 59
4.1拆开H D44780和它的翻版 60
4.2准备硬件 63
4.2.1液晶显示器的准备工作 63
4.2.2移位寄存器 65
4.2.3 I2C总线 66
4.2.4全部组装在一起 68
4.2.5查找你的I2C设备 72
4.3软件和液晶显示器客户端 74
4.4服务器配置 75
4.4.1测试服务器 76
4.4.2运行客户端 77
4.4.3显示文本 78
4.5总结 81
第5章 安全监控设备 82
5.1被动红外(PIR)介绍 83
5.2压力垫介绍 84
5.3组装设备 86
5.3.1压力垫 86
5.3.2使用GPIO引脚 88
5.3.3关于压力垫的状态的脚本 89
5.3.4连接被动红外 90
5.4引出WEBrick 93
5.4.1欢迎WEBrick 93
5.4.2安全应用程序代码 94
5.4.3运行安全应用程序 97
5.5总结 98
第6章 交叉编译环境 99
6.1交叉编译简介 99
6.2宿主机 101
6.2.1 crosstool-NG 101
6.2.2配置crosstool-NG 105
6.2.3你的第一个交叉编译 111
6.3交叉编译依赖关系 113
6.4优化 117
6.5总结 118
第7章 迷你媒体中心 120
7.1为什么使用OpenELEC 121
7.1.1使用-Ofast优化选项 121
7.1.2使用链接时优化(LTO) 122
7.1.3按需使用符号 122
7.1.4最后两个优势 123
7.2安装OpenELEC 123
7.3解码许可证 126
7.4第一次启动 129
7.4.1设置日期和时间 130
7.4.2内存分配 133
7.4.3屏幕分辨率和显示设置 133
7.5浏览器访问 135
7.6手机远程控制 136
7.7总结 138
第8章增加实时时钟 140
8.1计算机上最初的实时时钟 141
8.2 DS 1338实时时钟 142
8.3晶体 143
8.4零件清单和装配 144
8.4.1焊接适配器板 145
8.4.2制作电池的印制电路板(PCB) 147
8.4.3建立电路 150
8.5软件部分 153
8.6总结 158
第9章 串口服务器 160
9.1到底什么是串口控制台呢? 160
9.2串行端口?什么串行端口? 161
9.2.1串行端口中的一点小失望 162
9.2.2查找树莓派上的串行端口 163
9.3 UART和逻辑位移器 164
9.3.1逻辑电平位移器可以做什么? 164
9.3.2需要的硬件 165
9.3.3建立电路 166
9.3.4加电启动 168
9.4串口的非控制台功能 172
9.5 Ser2net 172
9.6总结 176
第10章 控制电源设备 177
10.1交流电 178
10.1.1隔离设备 179
10.1.2交流电源远程控制 181
10.2将电路组合在一起 183
10.2.1剖析远程控制器 183
10.2.2添加继电器 186
10.3软件方面 188
10.3.1使用GPIO引脚作为输出 188
10.3.2编写一个模拟按下按钮的程序 189
10.3.3回到WEBrick 191
10.4总结 197
第11章 其他操作系统 198
11.1安卓 199
11.1.1安卓的历史 199
11.1.2安卓系统的考虑 200
11.1.3安装安卓系统 200
11.1.4使用安卓系统 201
11.2 RISC OS 202
11.2.1 RISC OS的历史 202
11.2.2 RISC OS的考虑 202
11.2.3安装RISC OS 205
11.2.4使用RISC OS 210
11.3 Plan 9 213
11.3.1 Plan 9的历史 213
11.3.2 Plan 9的考虑 213
11.3.3安装Plan 9 215
11.3.4使用Plan 9 218
11.4 Gentoo 220
11.4.1 Gentto的历史 220
11.4.2 Gentoo的考虑 220
11.4.3安装Gentoo 222
11.4.4使用Gentoo 230
11.5总结 230