Raspberry Pi开发实战
Simon Monk
黄鑫 译
出版时间:2015年01月
页数:365
随着树莓派的快速发展,市场上涌现出越来越多适用于树莓派的接口板和软件库。在本书中,多产作家Simon Monk通过200多个实践示例,详细讲解树莓派基础知识及各种接口板、软件库的使用方法,包括如何运行微型低价Linux电脑、如何使用Python进行编程,以及如何与传感器、电机和其他硬件(包括Arduino)通信等。
通过阅读本书,你还将学到使用树莓派微系统开发过程中出现的新技术的基本原则。本书涉及的Python和其他示例代码托管在GitHub中。本书是树莓派程序员和爱好者的理想参考指南。
设置和管理树莓派
· 设置树莓派连接网络
· 使用基于Linux的操作系统
· 使用树莓派现成的软件
· 使用Python进行树莓派编程
· 通过GPIO接口控制硬件
· 通过树莓派控制不同类型的电机
· 使用开关、键盘和其他数字输入方式
· 通过传感器采集各种测量数据
· 添加其他不同的显示设备,如LED矩阵
· 使用树莓派和Arduino创建动态项目
  1. 前言
  2. 第1章 配置与管理
  3. 1.0. 引言
  4. 1.1. 选择树莓派的型号
  5. 1.2. 给树莓派加个外壳
  6. 1.3. 选择供电装置
  7. 1.4. 选择一个操作系统发行包
  8. 1.5. 用NOOBS对SD存储卡进行写操作
  9. 1.6. 手动对SD存储卡进行写操作(Mac)
  10. 1.7. 手动对SD存储卡进行写操作(Windows)
  11. 1.8. 手动对SD存储卡进行写操作(Linux)
  12. 1.9. 连接系统
  13. 1.10. 连接DVI或者VGA显示器
  14. 1.11. 使用AV输入的显示器/电视机
  15. 1.12. 使用SD存储卡上的全部存储空间
  16. 1.13. 调整显示器上图像的尺寸
  17. 1.14. 性能最大化
  18. 1.15. 更换密码
  19. 1.16. 设置树莓派启动后直接进入桌面系统
  20. 1.17. 关闭树莓派
  21. 1.18. 安装树莓派摄像头模块
  22. 第2章 网络
  23. 2.0. 引言
  24. 2.1. 连接到有线网络
  25. 2.2. 查看IP地址
  26. 2.3. 设置静态IP地址
  27. 2.4. 设置树莓派的网络名
  28. 2.5. 配置无线连接
  29. 2.6. 使用控制台线连接
  30. 2.7. 通过SSH远程控制树莓派
  31. 2.8. 通过VNC远程控制树莓派
  32. 2.9. 与Mac电脑共享文件
  33. 2.10. 在Mac电脑上共享树莓派的屏幕
  34. 2.11. 将树莓派作为网络附加存储
  35. 2.12. 网络打印
  36. 第3章 操作系统
  37. 3.0. 引言
  38. 3.1. 在图形界面中移动文件
  39. 3.2. 开始一个终端会话
  40. 3.3. 使用终端浏览文件系统
  41. 3.4. 复制文件或文件夹
  42. 3.5. 重命名文件或文件夹
  43. 3.6. 编辑文件
  44. 3.7. 浏览文件内容
  45. 3.8. 不使用编辑器创建文件
  46. 3.9. 创建目录
  47. 3.10. 删除文件或目录
  48. 3.11. 使用超级用户权限运行任务
  49. 3.12. 理解文件权限
  50. 3.13. 修改文件权限
  51. 3.14. 修改文件从属关系
  52. 3.15. 屏幕截图
  53. 3.16. 使用apt-get安装软件
  54. 3.17. 移除通过apt-get安装的软件
  55. 3.18. 通过命令行获取文件
  56. 3.19. 通过git获取源代码
  57. 3.20. 在启动阶段自动运行程序或脚本
  58. 3.21. 定期自动运行程序或脚本
  59. 3.22. 查找内容
  60. 3.23. 使用命令行历史记录
  61. 3.24. 监视处理器活动
  62. 3.25. 文件压缩
  63. 3.26. 列出连接的USB设备
  64. 3.27. 将输出从命令行重定向到文件
  65. 3.28. 连接文件
  66. 3.29. 使用管道
  67. 3.30. 隐藏到终端的输出
  68. 3.31. 后台运行程序
  69. 3.32. 创建命令别名
  70. 3.33. 设置日期和时间
  71. 3.34. 查看SD存储卡的剩余空间
  72. 第4章 软件
  73. 4.0. 引言
  74. 4.1. 搭建媒体中心
  75. 4.2. 安装办公软件
  76. 4.3. 安装其他浏览器
  77. 4.4. 使用树莓派商店
  78. 4.5. 搭建摄像服务器
  79. 4.6. 运行复古游戏模拟器
  80. 4.7. 运行Minecraft
  81. 4.8. 运行Open Arena
  82. 4.9. 树莓派无线电发射机
  83. 4.10. 运行GIMP
  84. 4.11. 互联网广播
  85. 第5章 Python基础
  86. 5.0. 引言
  87. 5.1. 在Python 2与Python 3之间做决定
  88. 5.2. 在IDLE中编辑Python程序
  89. 5.3. 使用Python控制台
  90. 5.4. 通过终端运行Python程序
  91. 5.5. 变量
  92. 5.6. 显示输出
  93. 5.7. 读取用户输入
  94. 5.8. 算术运算
  95. 5.9. 创建字符串
  96. 5.10. 连接字符串
  97. 5.11. 将数字类型转换为字符串类型
  98. 5.12. 将字符串类型转换为数字类型
  99. 5.13. 获取字符串长度
  100. 5.14. 获取一个字符串在另一个字符串中的位置
  101. 5.15. 截取字符串的某部分
  102. 5.16. 用一个字符串替换另一个字符串的某部分
  103. 5.17. 将一个字符串转换为全部大写或全部小写
  104. 5.18. 有条件地运行命令
  105. 5.19. 比较值
  106. 5.20. 逻辑运算符
  107. 5.21. 重复执行指令指定的次数
  108. 5.22. 重复执行指令,直到某些条件变化
  109. 5.23. 中断循环
  110. 5.24. 在Python中定义函数
  111. 第6章 Python中的列表与字典
  112. 6.0. 引言
  113. 6.1. 创建列表
  114. 6.2. 访问列表中的元素
  115. 6.3. 获取列表的长度
  116. 6.4. 向列表中添加元素
  117. 6.5. 从列表中移除元素
  118. 6.6. 通过解析字符串创建列表
  119. 6.7. 迭代列表
  120. 6.8. 枚举列表
  121. 6.9. 列表排序
  122. 6.10. 分割列表
  123. 6.11. 对列表应用一个函数
  124. 6.12. 创建字典
  125. 6.13. 访问字典
  126. 6.14. 从字典中移除成员
  127. 6.15. 迭代字典
  128. 第7章 Python进阶
  129. 7.0. 引言
  130. 7.1. 格式化数字
  131. 7.2. 格式化日期
  132. 7.3. 返回多个值
  133. 7.4. 定义类
  134. 7.5. 定义方法
  135. 7.6. 继承
  136. 7.7. 写文件
  137. 7.8. 从文件中读取
  138. 7.9. Pickling
  139. 7.10. 处理异常
  140. 7.11. 使用模块
  141. 7.12. 随机数
  142. 7.13. 从Python中发送web请求
  143. 7.14. Python中的命令行参数
  144. 7.15. 从Python中发送邮件
  145. 7.16. 在Python中编写一个简单的web服务器
  146. 第8章 GPIO基础
  147. 8.0. 引言
  148. 8.1. 找到适合的GPIO接口使用方式
  149. 8.2. 使用GPIO接口时保证树莓派的安全
  150. 8.3. 安装PRi.GPIO
  151. 8.4. 配置I2C
  152. 8.5. 使用I2C Tools
  153. 8.6. 配置SPI
  154. 8.7. 释放串口
  155. 8.8. 安装PySerial以从Python访问串口
  156. 8.9. 安装Minicom测试串口
  157. 8.10. 使用面包板和跳线
  158. 8.11. 使用面包板与树莓派排线
  159. 8.12. 使用两个电阻将5V信号转换为3.3V
  160. 8.13. 使用电平转换模块将5V的信号转换成3.3V
  161. 8.14. 使用电池为树莓派供电
  162. 8.15. 使用锂电池为树莓派供电
  163. 8.16. PiFace数字接口板入门
  164. 8.17. Gertboard入门
  165. 8.18. RaspiRobot板入门
  166. 8.19. 使用Humble Pi原型板
  167. 8.20. 使用Pi Plate原型板
  168. 8.21. 使用Paddle Terminal分线板
  169. 第9章 控制硬件
  170. 9.0. 引言
  171. 9.1. 连接一个LED
  172. 9.2. 控制LED的亮度
  173. 9.3. 制造蜂鸣声
  174. 9.4. 使用晶体管开关大功率直流设备
  175. 9.5. 使用继电器开关大功率设备
  176. 9.6. 控制高电压交流设备
  177. 9.7. 编写一个用户界面控制开关
  178. 9.8. 编写用户界面控制LED和电机的PWM功率
  179. 9.9. 改变RGB LED的颜色
  180. 9.10. 使用大量LED(Charlieplexing方式)
  181. 9.11. 使用模拟仪表作为显示
  182. 9.12. 中断编程
  183. 9.13. 使用web界面控制GPIO输出
  184. 第10章 电机
  185. 10.0. 引言
  186. 10.1. 控制伺服电机
  187. 10.2. 控制大量伺服电机
  188. 10.3. 控制直流电机的速度
  189. 10.4. 控制直流电机的方向
  190. 10.5. 使用单级步进电机
  191. 10.6. 使用双极步进电机
  192. 10.7. 使用RaspiRobot板驱动双极步进电机
  193. 10.8. 制作一个简单的机器人小车
  194. 第11章 数字输入
  195. 11.0. 引言
  196. 11.1. 连接按钮开关
  197. 11.2. 通过按键开关切换
  198. 11.3. 使用二位拨动开关或滑动开关
  199. 11.4. 使用中间关闭的拨动开关或滑动开关
  200. 11.5. 按键去抖
  201. 11.6. 使用外部上拉电阻
  202. 11.7. 使用旋转编码器(正交)
  203. 11.8. 使用数字键盘
  204. 11.9. 侦测移动
  205. 11.10. 为树莓派添加GPS
  206. 11.11. 截取按键
  207. 11.12. 截取鼠标移动
  208. 11.13. 使用实时时钟模块
  209. 第12章 传感器
  210. 12.0. 引言
  211. 12.1. 使用电阻式传感器
  212. 12.2. 测量亮度
  213. 12.3. 侦测甲烷
  214. 12.4. 测量电压
  215. 12.5. 为测量降低电压
  216. 12.6. 使用电阻式传感器与ADC
  217. 12.7. 使用ADC测量温度
  218. 12.8. 测量加速度
  219. 12.9. 使用数字传感器测量温度
  220. 12.10. 测量距离
  221. 12.11. 显示传感器的值
  222. 12.12. 在USB闪存驱动器上记录日志
  223. 第13章 显示
  224. 13.0. 引言
  225. 13.1. 使用四位LED显示设备
  226. 13.2. 在I2C LED矩阵上显示消息
  227. 13.3. 使用Pi-Lite
  228. 13.4. 在Alphanumeric LCD上显示消息
  229. 第14章 Arduino与树莓派
  230. 14.0. 引言
  231. 14.1. 在树莓派上进行Arduino编程
  232. 14.2. 使用serial monitor与Arduino通信
  233. 14.3. 配置PyFirmata以从树莓派上控制Arduino
  234. 14.4. 通过树莓派对Arduino的数字输出进行写操作
  235. 14.5. 使用PyFirmate与TTL串口
  236. 14.6. 使用PyFirmata读取Arduino数字输入
  237. 14.7. 使用PyFirmata读取Arduino模拟输入
  238. 14.8. 模拟输出(PWM)与PyFirmata
  239. 14.9. 使用PyFirmata控制伺服电机
  240. 14.10. 基于TTL Serial自定义与Arduino的通信
  241. 14.11. 基于I2C自定义与Arduino的通信
  242. 14.12. 在树莓派上使用小型Arduino
  243. 14.13. aLaMode板与树莓派入门
  244. 14.14. 在树莓派和aLaMode板上使用Arduino shield
  245. 14.15. 使用Gertboard作为Arduino接口
  246. 附录A 配件和供应商
书名:Raspberry Pi开发实战
作者:Simon Monk
译者:黄鑫 译
国内出版社:机械工业出版社
出版时间:2015年01月
页数:365
书号:978-7-111-49074-6
原版书书名:Raspberry Pi Cookbook
原版书出版商:O'Reilly Media
Simon Monk
 
Simon Monk博士(英国普雷斯顿)拥有控制论和电脑科学领域本科学位以及软件工程领域的博士学位。Simon在回归工业界之前曾花费数年时间进行学术研究,他与人共同创立了移动软件公司Momote Ltd。Simon现在是一个全职作家,他编写了关于开源硬件很多方面的著作,包括树莓派、Arduino以及若干一般电子书籍。你可以访问网站http://www.simonmonk.org或者在Twitter上关注@simonmonk2以获取更多关于作者著作的内容。
 
 
本书封面的动物是欧亚雀鹰(雀鹰),也称为北部雀鹰或简单地叫做雀鹰。这种小型猛禽分布在整个旧大陆(Old World)上。成年雄性上身有蓝灰色羽毛,下身有橙色条纹,雌性和未成年个体通体呈棕色并且下身有棕色条纹。雌性个体比雄性个体大25%。
雀鹰专门捕获林地鸟,但是我们在栖息地中也发现它捕食城镇中的园艺鸟。雄性雀鹰喜欢猎食更小型的鸟类,如山雀、雀以及麻雀,而雌性雀鹰倾向于捕食鸫科和椋鸟科鸟类,并且雌性雀鹰可以杀死体重达到或超过18盎司(500克)的鸟类。
欧亚雀鹰用来孵化幼鸟的巢穴使用小树枝建造,可以达到2英尺(60cm)。之后,雌鸟会产4~5枚浅蓝色有棕色条纹的蛋。成功孵化雏鸟依赖于雌鸟维持一个较大的体重;雄鸟会为它的伴侣提供食物。33天后,雏鸟会孵化出来,24~28天后,雏鸟会长出羽毛。
未成年雀鹰第一年的成活率只有34%。之后,成活率会变为两倍以上,成年后其成活率为69%,一只雀鹰通常的寿命是4年。未成年雄性雀鹰的死亡率比未成年雌性的死亡率更高。尽管在第二次世界大战后数量急剧减少,但是雀鹰仍然是欧洲最常见的猛禽。目前已知在播种之前对种子使用有机氯杀虫剂会致残或杀死雀鹰。这种影响会让雀鹰产出外壳很脆弱的蛋导致孵化过程中破损。在禁止使用化学物质后,雀鹰的数量有所恢复并变得比较常见,BirdLife International将其归为无危物种。