圖書簡介
樹莓派(Raspberry Pi)是一款基於Linux系統的、只有一張信用卡大小的卡片式計算機。研發樹莓派的目的是通過低價硬體及自由軟體來推動學校的基礎計算機學科教育。但很快樹莓派就得到計算機和硬體愛好者的青睞,他們用它學習編程,並創造出各種各樣新奇的、風靡一時的軟硬體套用。
本書由樹莓派的共同創始人編寫,是樹莓派用戶指南。全書共5篇17章。第 1 篇包括第 1~7章,分別介紹了樹莓派的基礎知識、樹莓派入門、Linux系統管理、故障排查、網路配置、樹莓派軟體配置工具和樹莓派高級配置;第 2篇包括第8~10章,分別介紹了樹莓派作為家庭影院計算機、用於生產環境和樹莓派作為Web伺服器;第3篇包括第11~13章,分別介紹了Scratch編程、Python編程和Minecraft樹莓派版;第4篇包括第14~17章,分別介紹了硬體破解、GPIO連線埠、樹莓派攝像頭模組和擴展電路板;第5篇包括3個附錄,分別介紹了Python程式代碼、樹莓派攝像頭快速參考和HDMI顯示模式。
目錄
第1篇 主機板
第1章 初識樹莓派 3
1.1 主機板簡介 4
1.2 Model A 6
1.3 Model B 7
1.4 Model B+ 8
1.5 關於Model B的PCB版本修訂歷史 9
1.5.1 第1個版本(Rev 1) 9
1.5.2 第2個版本(Rev 2) 9
1.5.3 Model B+ 9
1.6 一點背景 10
1.6.1 ARM與x86 10
1.6.2 Windows與Linux 11
第2章 樹莓派入門 13
2.1 連線顯示器 14
2.1.1 複合視頻 14
2.1.2 HDMI視頻 15
2.1.3 DSI視頻 16
2.2 連線音頻設備 16
2.3 連線鍵盤和滑鼠 17
2.4 在SD卡上安裝NOOBS 19
2.5 連線外部存儲設備 20
2.6 網路連線 21
2.6.1 有線網路 22
2.6.2 無線網路 23
2.7 連線電源 24
2.8 安裝作業系統 25
2.8.1 使用NOOBS安裝 25
2.8.2 手動安裝 27
第3章 Linux系統管理 33
3.1 Linux系統概述 34
3.2 Linux基礎 36
3.3 Raspbian簡介 37
3.3.1 談談Raspbian的父親,Debian 42
3.3.2 Raspbian的替代方案 42
3.4 使用外部存儲設備 43
3.5 創建一個新的用戶賬戶 45
3.5.1 檔案系統布局 46
3.5.2 邏輯布局 46
3.5.3 物理布局 48
3.6 安裝和卸載軟體 48
3.6.1 從樹莓派商店獲取軟體 48
3.6.2 從其他途徑獲取軟體 51
3.6.3 查找你要的軟體 52
3.6.4 安裝軟體 53
3.6.5 卸載軟體 53
3.6.6 升級軟體 54
3.7 安全關閉樹莓派 55
第4章 故障排查 57
4.1 鍵盤與滑鼠的診斷 58
4.2 供電的診斷 59
4.3 顯示的診斷 61
4.4 啟動的診斷 61
4.5 網路的診斷 62
4.6 緊急核心 65
第5章 網路配置 67
5.1 有線網路 68
5.2 無線網路 71
5.3 通過wpa_gui連線無線網路 75
5.4 通過終端接入無線網路 77
5.4.1 No Encryption 80
5.4.2 WEP Encryption 81
5.4.3 WPA/WPA2 Encryption 81
5.4.4 連線到無線網路 82
第6章 樹莓派軟體配置工具 83
6.1 運行raspi-config 84
6.2 設定選項界面 85
6.2.1 Expand Filesystem 85
6.2.2 Change User Password 86
6.2.3 Enable Boot to Desktop/Scratch 86
6.2.4 Internationalisation Options 87
6.2.5 Enable Camera 88
6.2.6 Add to Rastrack 89
6.2.7 Overclock 89
6.2.8 Advanced Options 91
6.2.9 About raspi-config 94
第7章 樹莓派高級配置 97
7.1 使用NOOBS編輯配置檔案 98
7.2 配置硬體:config.txt 99
7.2.1 顯示設定 100
7.2.2 啟動設定 104
7.2.3 樹莓派超頻 104
7.3 關閉L2快取 108
7.4 記憶體劃分 109
7.5 配置軟體:cmdline.txt 110
第2篇 構建媒體中心、生產機器和Web伺服器
第8章 樹莓派作為家庭影院計算機 115
8.1 音樂播放控制台 116
8.2 專用家庭影院計算機 118
8.2.1 流網路媒體 120
8.2.2 本地網路上的流媒體 121
8.2.3 配置Raspbmc 123
第9章 樹莓派用於生產環境 125
9.1 使用雲端的套用 126
9.2 使用LibreOffice 129
9.3 使用Gimp圖像編輯器 131
第10章 樹莓派作為Web伺服器 135
10.1 安裝LAMP 136
10.2 安裝WordPress 140
第3篇 樹莓派編程
第11章 Scratch編程 147
11.1 Scratch介紹 148
11.2 例1:Hello World 149
11.3 例2:動畫與聲音 152
11.4 例3:一個簡單的遊戲 154
11.5 機器人和感測器 160
11.5.1 PicoBoard感測器 161
11.5.2 機器人與LEGO 161
11.6 進一步閱讀 161
第12章 Python編程 163
12.1 Python介紹 164
12.2 例1:Hello World 164
12.3 例2:注釋、輸入、變數和循環 169
12.4 例3:用pygame開發遊戲 174
12.5 例4:Python與網路 182
12.6 進一步閱讀 187
第13章 Minecraft樹莓派版 189
13.1 Minecraft樹莓派版介紹 190
13.2 安裝Minecraft 190
13.3 運行Minecraft 192
13.4 探索 193
13.5 破解Minecraft 195
第4篇 硬體破解
第14章 學習硬體破解 203
14.1 電子元件 204
14.2 解讀電阻顏色編碼 206
14.3 採購組件 207
14.3.1 線上零售商 207
14.3.2 離線零售商 208
14.3.3 業餘愛好專家 209
14.4 在實驗電路板上更進一步 210
14.5 焊接簡介 212
第15章 GPIO連線埠 217
15.1 識別樹莓派版本 218
15.2 GPIO引腳圖 219
15.3 GPIO特性 221
15.3.1 UART串列匯流排 222
15.3.2 I2C匯流排 222
15.3.3 SPI匯流排 222
15.4 通過Python使用GPIO連線埠 223
15.4.1 GPIO輸出:閃爍LED燈 223
15.4.2 GPIO輸入:讀取按鍵 227
第16章 樹莓派攝像頭模組 233
16.1 為何使用攝像頭模組 234
16.2 安裝攝像頭模組 235
16.3 啟用攝像頭模式 238
16.4 拍攝相片 239
16.5 錄製視頻 242
16.6 命令行定時拍照 243
第17章 擴展電路板 249
17.1 樹莓派的Ciseco Slice擴展板 250
17.2 Adafruit的樹莓派原型擴展板 253
17.3 Fen的Gertboard邏輯板 255
第5篇 附錄
附錄A Python程式代碼 263
附錄B 樹莓派攝像頭快速參考 269
附錄C HDMI顯示模式 277