樹莓派(Raspberry Pi)是一款基于Linux系統的、只有一張大小的卡片式計算機。研發樹莓派的起初目的是通過低價硬件和自由軟件來推動學校的基礎計算機學科教育,但很快樹莓派就得到計算機和硬件愛好者的青睞;他們用它學習編程,并創造出各種各樣新奇的、風靡一時的軟硬件應用。 本書由多產作家Simon Monk編寫,是將內容進行升級之后的第2版,囊括了豐富的實踐示例,詳細講解了樹莓派的配置與管理、網絡連接、操作系統及軟件。另外,本書還介紹了使用Python進行樹莓派開發的各項技巧,書中介紹了有關Python編程的基礎知識、列表與字典、Python高級特性。同時,本書還介紹了有關機器視覺、硬件基礎、控制硬件、電機、數字輸入、傳感器、顯示設備、物聯網及Arduino等相關知識。 本書適合程序員和計算機軟、硬件愛好者,以及對樹莓派感興趣的讀者閱讀,也適合作為樹莓派相關實踐課程的指導用書。
本書是樹莓派實戰類圖書的經典圖書,經過全新的升級,本書針對樹莓派3進行了、細致的講解,結合Python語言等編程實例,幫助讀者更好地利用樹莓派。本書有源代碼的支持,讀者可以快速上手嘗試。非常適合程序員、計算機軟硬件愛好者,以及對樹莓派感興趣的讀者閱讀,也適合作為樹莓派相關實踐課程的指導用書。
Simon Monk博士(英國普雷斯頓)擁有控制論和計算機科學本科學位以及軟件工程博士學位。Simon在回歸工業界之前,曾經從事多年的學術研究工作,并與人合作創立了移動軟件公司Momote Ltd。 目前,Simon是一位職業作家,撰寫包括樹莓派和Arduino在內的各種開源硬件方面的作品,以及多部通用電子方面的圖書。
第1章 配置與管理 1
1.0引言1
1.1選擇樹莓派型號1
1.2封裝樹莓派3
1.3選擇電源4
1.4選擇操作系統發行包6
1.5通過NOOBS刷寫microSD卡7
1.6裝配系統9
1.7連接DVI或VGA顯示器10
1.8使用復合視頻顯示器/TV10
1.9調整顯示器中的圖像尺寸12
1.10優化性能13
1.11修改密碼15
1.12讓樹莓派開機后直接進入窗口系統16
1.13關閉樹莓派17
1.14安裝樹莓派攝像頭模塊18
1.15使用藍牙設備21
第2章網絡連接23
2.0引言23
2.1連接有線網絡23
2.2查看自己的IP地址25
2.3配置靜態IP地址26
2.4為樹莓派配置網絡名稱28
2.5配置無線網絡連接29
2.6使用控制臺線聯網31
2.7利用SSH遠程控制樹莓派33
2.8利用VNC遠程控制樹莓派35
2.9利用RDP遠程控制樹莓派36
2.10在Mac網絡中實現文件共享38
2.11在Mac上共享樹莓派的屏幕39
2.12將樹莓派用作網絡存儲服務器41
2.13網絡打印44
第3章操作系統47
3.0引言47
3.1通過圖形界面移動文件47
3.2啟動一個終端會話49
3.3利用終端瀏覽文件系統50
3.4復制文件或文件夾52
3.5重命名文件和文件夾53
3.6編輯文件54
3.7查看文件內容56
3.8不借助編輯器的情況下創建文件57
3.9創建目錄57
3.10刪除文件或目錄58
3.11以超級用戶權限執行任務59
3.12理解文件權限60
3.13修改文件的權限61
3.14修改文件的屬主62
3.15屏幕截圖63
3.16利用apt-get安裝軟件64
3.17刪除利用apt-get安裝的軟件65
3.18利用Pip安裝Python軟件包65
3.19通過命令行獲取文件66
3.20利用Git獲取源代碼67
3.21在系統啟動時自動運行程序或腳本67
3.22讓程序或腳本作為服務自動運行68
3.23定期自動運行程序或腳本70
3.24搜索功能71
3.25使用命令行歷史記錄功能72
3.26監視處理器活動73
3.27文件壓縮75
3.28列出已連接的USB設備76
3.29將輸出從命令行重定向到文件76
3.30連接文件77
3.31使用管道78
3.32將輸出隱藏到終端78
3.33在后臺運行程序79
3.34創建命令別名80
3.35設置日期和時間80
3.36查看SD卡剩余存儲空間81
第4章軟件83
4.0引言83
4.1搭建媒體中心83
4.2安裝Oice軟件84
4.3安裝其他瀏覽器86
4.4使用樹莓派商店87
4.5打造網絡攝像頭服務器88
4.6運行老式游戲控制臺模擬器90
4.7運行樹莓派版Minecraft92
4.8運行Minecraft服務器93
4.9運行Open Arena95
4.10樹莓派無線電發射器96
4.11運行GIMP98
4.12互聯網廣播99
第5章Python入門101
5.0引言101
5.1在Python 2和Python 3之間做出選擇101
5.2使用IDLE編輯Python程序102
5.3使用Python控制臺104
5.4利用終端運行Python程序105
5.5變量106
5.6顯示輸出結果107
5.7讀取用戶輸入107
5.8算術運算108
5.9創建字符串109
5.10連接(合并)字符串110
5.11將數字轉換為字符串111
5.12將字符串轉換為數字111
5.13確定字符串的長度112
5.14確定某字符串在另一個字符串中的位置113
5.15截取部分字符串113
5.16使用字符串替換另一個字符串中的內容114
5.17字符串的大小寫轉換115
5.18根據條件運行命令116
5.19值的比較117
5.20邏輯運算符118
5.21將指令重復執行特定次數119
5.22重復執行指令直到特定條件改變為止120
5.23跳出循環語句120
5.24定義Python函數121
第6章Python語言中的列表與字典123
6.0引言123
6.1創建列表123
6.2訪問列表元素124
6.3確定列表長度125
6.4為列表添加元素125
6.5刪除列表元素126
6.6通過解析字符串創建列表127
6.7遍歷列表127
6.8枚舉列表128
6.9列表排序129
6.10分割列表130
6.11將函數應用于列表131
6.12創建字典131
6.13訪問字典133
6.14刪除字典元素134
6.15遍歷字典134
第7章Python高級特性137
7.0引言137
7.1格式化數字137
7.2格式化時間和日期138
7.3返回多個值139
7.4定義類140
7.5定義方法141
7.6繼承142
7.7向文件中寫入內容143
7.8讀文件144
7.9序列化(Pickling)145
7.10異常處理146
7.11使用模塊147
7.12隨機數148
7.13利用Python發送Web請求149
7.14Python的命令行參數150
7.15從Python運行Linux命令151
7.16從Python發送電子郵件152
7.17利用Python編寫簡單Web服務器153
7.18同時進行多件事情154
7.19讓Python無所事事156
7.20將Python應用于樹莓派版Minecraft156
第8章機器視覺159
8.0引言159
8.1安裝SimpleCV159
8.2為機器視覺配置USB攝像頭160
8.3將樹莓派的攝像頭模塊用于機器視覺162
8.4數硬幣163
8.5人臉檢測166
8.6運動檢測168
8.7光學字符識別170
第9章硬件基礎173
9.0引言173
9.1GPIO連接器使用說明173
9.2使用GPIO接口時樹莓派的安全保護176
9.3配置I2C176
9.4使用I2C工具178
9.5配置SPI179
9.6安裝PySerial以便從Python訪問串口180
9.7安裝Minicom以檢測串口181
9.8使用帶有跳線的面包板182
9.9使用樹莓派的排線連接面包板183
9.10使用樹莓派Squid184
9.11使用Raspberry Squid按鈕186
9.12利用兩個電阻將5V信號轉換為3.3V187
9.13利用電平轉換模塊將5V信號轉換為3.3V189
9.14利用電池為樹莓派供電190
9.15利用鋰電池為樹莓派供電192
9.16Sense HAT入門指南193
9.17Explorer HAT Pro入門指南194
9.18RaspiRobot Board入門指南196
9.19使用Pi Plate原型板198
9.20制作樹莓派擴展板(Hardware At Top,HAT)201
9.21樹莓派的計算模塊204
9.22Pi Zero205
第10章控制硬件207
10.0引言207
10.1連接LED207
10.2讓GPIO引腳進入安全狀態209
10.3控制LED的亮度210
10.4制造蜂鳴聲213
10.5利用晶體管開關大功率直流設備214
10.6使用繼電器控制大功率設備的開關216
10.7控制高壓交流設備219
10.8編寫用于控制開關的用戶界面220
10.9編寫控制LED和電機的PWM功率的用戶界面221
10.10改變RGB LED的顏色223
10.11使用大量LED(Charlieplexing方式)225
10.12將模擬儀表用作顯示器228
10.13中斷編程230
第11章電機233
11.0引言233
11.1控制伺服電機233
11.2控制伺服電機237
11.3控制多臺伺服電機239
11.4控制直流電動機的速度242
11.5控制直流電機的方向244
11.6使用單極步進電機248
11.7使用雙極步進電機252
11.8利用步進電機HAT驅動雙極步進電機253
11.9使用RaspiRobot板驅動雙極步進電機256
11.10打造一款簡單的機器人小車257
第12章數字輸入261
12.0引言261
12.1連接按鈕開關261
12.2通過按鈕開關切換開關狀態264
12.3使用雙位撥動開關或滑動開關265
12.4使用三位撥動開關或滑動開關266
12.5按鈕去抖269
12.6使用外部上拉電阻271
12.7使用旋轉(正交)編碼器272
12.8使用數字鍵盤275
12.9檢測移動278
12.10為樹莓派添加GPS280
12.11攔截按鍵283
12.12攔截鼠標移動285
12.13使用實時時鐘模塊286
第13章傳感器291
13.0引言291
13.1使用電阻式傳感器291
13.2測量亮度296
13.3利用熱敏電阻測量溫度298
13.4檢測甲烷301
13.5測量電壓304
13.6為測量而降低電壓306
13.7使用電阻式傳感器與ADC309
13.8使用ADC測量溫度310
13.9測量樹莓派的CPU溫度312
13.10利用Sense HAT測量溫度、濕度和氣壓313
13.11利用數字傳感器測量溫度315
13.12利用MCP3008模塊測量加速度318
13.13使用Sense HAT的慣性管理單元(IMU)321
13.14利用Sense HAT尋找磁北323
13.15利用簧片開關檢測磁鐵323
13.16利用Sense HAT感應磁場325
13.17測量距離325
13.18電容式觸摸傳感技術328
13.19顯示傳感器的值331
13.20利用USB閃存驅動器記錄日志332
第14章顯示設備335
14.0引言335
14.1使用四位LED顯示設備335
14.2在I2C LED矩陣上面顯示消息337
14.3使用Sense HAT LED矩形顯示器339
14.4在Alphanumeric LCD HAT上顯示消息341
14.5在Alphanumeric LCD模塊上顯示消息343
14.6使用OLED圖形顯示器347
14.7使用可尋址的RGB LED燈條349
第15章物聯網355
15.0引言355
15.1使用Web接口控制GPIO輸出355
15.2在網頁上面顯示傳感器讀數360
15.3使用IFTTT發送電子郵件及其他通知363
15.4利用ThingSpeak發送Tweets367
15.5CheerLights369
15.6向ThingSpeak發送傳感器數據370
15.7使用Dweet和IFTTT響應Tweet373
第16章Arduino與樹莓派377
16.0引言377
16.1通過樹莓派對Arduino進行編程378
16.2利用Serial Monitor與Arduino進行通信380
16.3配置PyFirmata以便通過樹莓派來控制Arduino382
16.4通過樹莓派對Arduino的數字輸出進行寫操作384
16.5使用PyFirmata與TTL串口386
16.6使用PyFirmata讀取Arduino的數字輸入388
16.7利用PyFirmata讀取Arduino的模擬輸入390
16.8模擬輸出(PWM)與PyFirmata391
16.9利用PyFirmata控制伺服電機393
16.10定制基于TTL Serial的Arduino通信395
16.11通過I2C自定義與Arduino之間的通信399
16.12在樹莓派上使用小型Arduino402
16.13aLaMode板與樹莓派入門403
16.14在樹莓派和aLaMode板上使用Arduino Shield406
附錄A配件與供應商409
附錄B樹莓派引腳415
比上一版更新了些內容。
感覺有點簡單,不過可以當參考書,查命令用。
書很好 自己要好好抽時間學習啊
不錯 速度快 沒有損壞
書是挺好的
很棒的書,學習用的
不錯,書很新,很喜歡,當當的服務也不錯
……………………
對最近的學習工作很有幫助,希望能通過這本書的學習提高自己的能力
書很新很好
還沒看,給老公買的。看完再來追評!
233333