第1章 认识你的小伙伴 ——树莓派 1
1.1 树莓派板卡一览 2
1.2 首次配置 8
1.3 将树莓派接入互联网 12
1.3.1 通过无线网卡接入互联网 12
1.3.2 通过PC从以太网接入互联网 14
1.4 Linux速成教程 19
1.4.1 终端和shell 20
1.4.2 常见的实用Linux命令 20
1.5 安装实用库 23
1.5.1 git-core 24
1.5.2 wiringPi 24
1.6 python-gpio 25
1.7 准备学习Python和C 26
1.7.1 编写和执行Python程序 27
1.7.2 编写和执行C程序 27
1.8 实战练习 28
1.9 本章小结 29
第2章 认识电子学世界 31
2.1 电子学基本术语 32
2.1.1 电压 33
2.1.2 电流 33
2.1.3 电阻 33
2.1.4 电容 34
2.1.5 断路和短路 34
2.1.6 串联和并联 35
2.1.7 上拉和下拉电阻 36
2.2 通信协议 37
2.2.1 UART 38
2.2.2 SPI 40
2.2.3 12C 41
2.3 实用技巧和注意事项 43
2.4 理解GPIO端口 44
2.5 点亮LED 47
2.5.1 Shell脚本和GPIO 49
2.5.2 LED闪烁和Python 49
2.5.3 用C代码让LED闪烁 51
2.6 本章小结 51
第3章 用超声波传感器测量距离 53
3.1 神秘的超声波传感器 54
3.2 创建项目 57
3.2.1 硬件设置 59
3.2.2 软件设置 62
3.2.3 计算距离 64
3.3 解决常见问题 66
3.3.1 不能正确显示距离 66
3.3.2 树莓派是否做出了响应 67
3.3.3 测量的距离是否小于2cm 67
3.4 面向视力不佳人群的可穿戴设备 67
3.4.1 制作硬件 68
3.4.2 软件设置 69
3.5 本章小结 73
第4章 用传感器监控大气 74
4.1 传感器选择过程 75
4.1.1 应用的临界性 76
4.1.2 选择传感器封装 76
4.1.3 传感器属性 76
4.1.4 购买传感器 77
4.1.5 可用的传感器 77
4.2 DHT内置的温度和湿度传感器 78
4.3 引入光敏电阻(光敏元件) 80
4.4 创建项目 81
4.4.1 硬件设置 81
4.4.2 准备代码 84
4.4.3 综述 90
4.5 解决常见问题 94
4.5.1 接收到的DHT数据无效 94
4.5.2 LDR传感器输出的值为0 94
4.5.3 电压是否正确 95
4.6 本章小结 95
第5章 用模数转换器连接模拟传感器和树莓派 97
5.1 模数转换器 98
5.1.1 数据接收和信号调理 99
5.1.2 信号放大 99
5.1.3 采样和量化 100
5.1.4 模数转换器的类型 100
5.1.5 模数转换器的分辨率 100
5.1.6 模数转换器背后的数学知识 101
5.1.7 数据输出 102
5.2 MCP3008模数转换器 103
5.2.1 通道 103
5.2.2 接地端 104
5.2.3 SPI 104
5.2.4 参考电压 104
5.2.5 供电电压 105
5.3 制作你自己的传感器站 105
5.4 准备通用软件 109
5.5 使用你的传感器站——创建温度记录器 114
5.5.1 了解LM36温度传感器 114
5.5.2 编写应用程序 115
5.6 本章小结 117
第6章 在线上传数据——电子表格、移动设备和电子邮件 119
6.1 物联网 120
6.1.1 传感器节点 121
6.1.2 通信 123
6.1.3 云技术 124
6.1.5 数据分析 124
6.1.6 安全事务 125
6.2 硬件设置 125
6.3 用互联网进行时钟同步 126
6.4 向Google电子表格上传数据 127
6.5 通过电子邮件接收通知 133
6.6 集成所有东西 138
6.7 面临的常见问题 138
6.8 本章小结 140
第7章 用摄像头和OpenCV制作图像传感器 141
7.1 图像处理 142
7.2 OpenCV 144
7.3 可与树莓派连接的摄像头 145
7.3.1 树莓派摄像头模块 145
7.3.2 USB网络摄像头 146
7.4 用网络摄像头传输实时视频流 147
7.5 安装OpenCV 149
7.6 创建运动探测器 157
7.7 一些令人惊叹不已的项目 164
7.8 本章小结 165
附录 购物清单 167