《Python樹莓派開發(fā)從入門到精通》從初學(xué)者角度出發(fā),通過通俗易懂的語(yǔ)言、豐富多彩的實(shí)例,詳細(xì)介紹了使用Python樹莓派進(jìn)行軟件和硬件項(xiàng)目開發(fā)需要掌握的技術(shù)。全書共分為4篇15章,包括樹莓派基礎(chǔ)、樹莓派使用Python、Linux命令、常用操作、常用服務(wù)、GPIO基礎(chǔ)、簡(jiǎn)單硬件、高級(jí)硬件、控制電機(jī)、OpenCV應(yīng)用、傳感器、擴(kuò)展板、Arduino使用,以及4個(gè)小型軟件項(xiàng)目實(shí)戰(zhàn)和智能小車硬件項(xiàng)目實(shí)戰(zhàn)。書中所有知識(shí)都結(jié)合具體實(shí)例進(jìn)行介紹,涉及的程序代碼給出了詳細(xì)的注釋,可以使讀者輕松領(lǐng)會(huì)樹莓派開發(fā)的精髓,快速提高開發(fā)技能。本書列舉了大量的小型實(shí)例、綜合實(shí)例和部分項(xiàng)目案例;所附資源包中有實(shí)例源程序及項(xiàng)目源碼等;本書的服務(wù)網(wǎng)站提供了模塊庫(kù)、案例庫(kù)、題庫(kù)、素材庫(kù)、答疑服務(wù)等。
《Python樹莓派開發(fā)從入門到精通》以入門為主、進(jìn)階為輔,提供了從Python樹莓派開發(fā)入門到編程高手所必需的各項(xiàng)知識(shí)。
(1)主流技術(shù),全面解析。本書內(nèi)容豐富,涵蓋Python樹莓派開發(fā)的方方面面,包括樹莓派基礎(chǔ)、樹莓派使用Python、Linux命令、常用操作和常用服務(wù)、PIO、GPS、控制電機(jī)、OpenCV、傳感器、Arduino應(yīng)用,以及智能小車硬件項(xiàng)目。一本書教你掌握Python樹莓派開發(fā)領(lǐng)域的主流核心技術(shù)。
(2)循序漸進(jìn),實(shí)戰(zhàn)講述。本書引領(lǐng)讀者按照基礎(chǔ)入門核心框架項(xiàng)目實(shí)戰(zhàn)循序漸進(jìn)地學(xué)習(xí),符合認(rèn)知規(guī)律。
(3)邊學(xué)邊練,學(xué)以致用。你得到的不僅僅是一本紙書,而是全套的學(xué)習(xí)資源。120個(gè)應(yīng)用實(shí)例 5個(gè)行業(yè)項(xiàng)目案例 136集Python零基礎(chǔ)掃盲課,邊學(xué)邊練,在實(shí)踐中提升技能。
(4)精彩欄目,貼心提醒。本書設(shè)置了很多注意說明技巧等小欄目,有利于讀者在學(xué)習(xí)過程中更輕松地理解相關(guān)知識(shí)點(diǎn)及概念,并輕松地掌握個(gè)別技術(shù)的應(yīng)用技巧。
(5)在線解答,高效學(xué)習(xí)。在線答疑QQ及技術(shù)支持網(wǎng)站,不定期進(jìn)行在線直播課程。
在大數(shù)據(jù)、人工智能應(yīng)用越來越普遍的今天,Python可以說是當(dāng)今世界上熱門、應(yīng)用廣泛的編程語(yǔ)言之一,在人工智能、爬蟲、數(shù)據(jù)分析、游戲、自動(dòng)化運(yùn)維等方面,無處不見其身影。而樹莓派作為流行的開發(fā)板之一,在其上可以使用Python等多種編程語(yǔ)言進(jìn)行開發(fā)。翻開本書,通過樹莓派使用Python開發(fā)軟件和硬件的大門緩緩打開。
本書內(nèi)容
本書提供了從Python樹莓派入門到編程高手所必需的各類知識(shí),共分為4篇。
第1篇:基礎(chǔ)知識(shí)。本篇主要包括樹莓派基礎(chǔ)、樹莓派使用Python、Linux命令、常用操作和常用服務(wù)等內(nèi)容。通過本篇的學(xué)習(xí),可以使讀者快速掌握樹莓派的基礎(chǔ)知識(shí),為以后編程奠定堅(jiān)實(shí)的基礎(chǔ)。
第2篇:核心技術(shù)。本篇介紹樹莓派中GPIO相關(guān)基礎(chǔ)知識(shí),并使用部分簡(jiǎn)單和高級(jí)的硬件,后還將介紹常見控制電機(jī)的控制方法和OpenCV庫(kù)在樹莓派中的安裝方法與簡(jiǎn)單應(yīng)用。學(xué)習(xí)完本篇,即可控制一些常見的硬件,以此來實(shí)現(xiàn)一個(gè)簡(jiǎn)單的項(xiàng)目需求。
第3篇:高級(jí)應(yīng)用。本篇介紹樹莓派常用的各類傳感器和擴(kuò)展板,以及配合Arduino的使用方法。學(xué)完這一部分,可以利用各類傳感器、擴(kuò)展板和Arduino來實(shí)現(xiàn)一些較為復(fù)雜的項(xiàng)目。
第4篇:項(xiàng)目實(shí)戰(zhàn)。本篇使用樹莓派來完成一些常用的軟件項(xiàng)目,如家居控制、智能音箱、Android TV和個(gè)人博客網(wǎng)站搭建。同時(shí),也使用樹莓派制作了類似智能小車的硬件項(xiàng)目。通過本篇的學(xué)習(xí),可以使用樹莓派研發(fā)一些高級(jí)的應(yīng)用,并加深對(duì)軟件和硬件項(xiàng)目的實(shí)踐開發(fā)流程的理解。
本書特點(diǎn)
由淺入深,循序漸進(jìn):本書以初、中級(jí)程序員為對(duì)象,采用圖文結(jié)合、循序漸進(jìn)的編排方式,從樹莓派每個(gè)硬件介紹和系統(tǒng)燒錄,到樹莓派的核心技術(shù)應(yīng)用,后通過多個(gè)完整軟件和硬件實(shí)戰(zhàn)項(xiàng)目,對(duì)樹莓派開發(fā)進(jìn)行詳細(xì)講解,幫助讀者快速掌握樹莓派開發(fā)技術(shù),全面提升開發(fā)經(jīng)驗(yàn)。
實(shí)例典型,輕松易學(xué):本書實(shí)例豐富,提供了120個(gè)應(yīng)用實(shí)例,讀者可邊學(xué)邊練。另外,為了便于讀者閱讀程序代碼,快速學(xué)習(xí)編程技能,書中為重要代碼提供了注釋。
項(xiàng)目實(shí)戰(zhàn),積累經(jīng)驗(yàn):本書通過完整的實(shí)戰(zhàn)項(xiàng)目,講解實(shí)際項(xiàng)目的完整開發(fā)過程,帶領(lǐng)讀者親身體驗(yàn)開發(fā)項(xiàng)目的全過程,積累項(xiàng)目經(jīng)驗(yàn)。
精彩欄目,貼心提醒:本書根據(jù)學(xué)習(xí)需要使用了很多注意說明技巧等小欄目,可以讓讀者在學(xué)習(xí)過程中更輕松地理解相關(guān)知識(shí)點(diǎn)及概念,并輕松地掌握個(gè)別技術(shù)的應(yīng)用技巧。
讀者對(duì)象
初學(xué)編程的自學(xué)者、編程愛好者、大中專院校的老師和學(xué)生、相關(guān)培訓(xùn)機(jī)構(gòu)的老師和學(xué)員、畢業(yè)設(shè)計(jì)的學(xué)生、初中級(jí)程序開發(fā)人員、程序測(cè)試及維護(hù)人員、參加實(shí)習(xí)的菜鳥程序員。
讀者服務(wù)
本書配套的學(xué)習(xí)資源,讀者可登錄清華大學(xué)出版社網(wǎng)站,在對(duì)應(yīng)圖書頁(yè)面下獲取其下載方式。讀者也可掃描圖書封底的文泉云盤二維碼,獲取其下載方式。
致讀者
感謝您購(gòu)買本書,希望本書能成為您編程路上的領(lǐng)航者。
零門檻學(xué)編程,一切皆有可能。
祝讀書快樂!
明日科技,全稱是吉林省明日科技有限公司,是一家專業(yè)從事軟件開發(fā)、教育培訓(xùn)以及軟件開發(fā)教育資源整合的高科技公司,其編寫的教材非常注重選取軟件開發(fā)中的必需、常用內(nèi)容,同時(shí)也很注重內(nèi)容的易學(xué)、方便性以及相關(guān)知識(shí)的拓展性,深受讀者喜愛。其教材多次榮獲全行業(yè)優(yōu)秀暢銷品種全國(guó)高校出版社優(yōu)秀暢銷書等獎(jiǎng)項(xiàng),多個(gè)品種長(zhǎng)期位居同類圖書銷售排行榜的前列。
第1篇 基礎(chǔ)知識(shí)
第1章 樹莓派基礎(chǔ) 2
1.1 樹莓派簡(jiǎn)介 2
1.1.1 起源 2
1.1.2 介紹 3
1.1.3 系統(tǒng) 4
1.1.4 應(yīng)用 4
1.2 燒錄系統(tǒng) 4
1.2.1 電源 5
1.2.2 顯示器 5
1.2.3 TF內(nèi)存卡 6
1.2.4 鍵盤和鼠標(biāo) 7
1.2.5 可選設(shè)備 7
1.2.6 安裝系統(tǒng) 8
1.2.7 無顯示器安裝系統(tǒng) 9
1.3 小結(jié) 11
第2章 樹莓派使用Python 12
2.1 樹莓派使用 12
2.1.1 Raspberry Pi OS簡(jiǎn)介 12
2.1.2 使用LXDE 12
2.1.3 使用終端 14
2.1.4 使用SSH 14
2.1.5 使用VNC 15
2.1.6 中文輸入法 17
2.2 安裝Python 17
2.2.1 安裝Python 18
2.2.2 Python解釋器 19
2.2.3 使用Thonny 19
2.3 小結(jié) 20
第3章 Linux命令 21
3.1 系統(tǒng)管理 21
3.1.1 用戶管理 21
3.1.2 進(jìn)程和服務(wù)管理 22
3.1.3 系統(tǒng)重啟和關(guān)機(jī) 26
3.2 文件管理 27
3.2.1 創(chuàng)建和刪除 27
3.2.2 目錄切換 28
3.2.3 權(quán)限設(shè)置 29
3.2.4 查找 30
3.3 軟件管理 30
3.3.1 軟件安裝 31
3.3.2 軟件升級(jí) 31
3.3.3 軟件搜索 31
3.3.4 軟件卸載 32
3.4 性能監(jiān)控 32
3.4.1 使用命令查看 32
3.4.2 使用腳本查看 33
3.5 小結(jié) 35
第4章 常用操作 36
4.1 樹莓派換源 36
4.1.1 查看系統(tǒng)版本 36
4.1.2 更換系統(tǒng)源 37
4.1.3 更換pip源 38
4.2 文件存儲(chǔ) 38
4.2.1 FTP服務(wù) 39
4.2.2 文件共享 40
4.3 系統(tǒng)備份 43
4.3.1 全卡備份 43
4.3.2 壓縮備份 44
4.4 小結(jié) 45
第5章 常用服務(wù) 46
5.1 遠(yuǎn)程監(jiān)控 46
5.2 Web技術(shù) 48
5.2.1 nginx 48
5.2.2 內(nèi)網(wǎng)穿透 49
5.2.3 Aria2 51
5.2.4 NTP 55
5.3 MariaDB 57
5.4 小結(jié) 60
第2篇 核心技術(shù)
第6章 GPIO基礎(chǔ) 62
6.1 GPIO簡(jiǎn)介 62
6.1.1 GPIO定義 62
6.1.2 GPIO引腳布局 63
6.2 連接GPIO 66
6.2.1 直接連接 66
6.2.2 使用T形擴(kuò)展板 67
6.2.3 使用面包板 67
6.3 使用RPi.GPIO模塊 68
6.3.1 基本用法 68
6.3.2 模塊的輸入 70
6.3.3 脈沖寬度調(diào)制 72
6.4 控制GPIO輸出 74
6.4.1 硬件連接 74
6.4.2 測(cè)試GPIO輸出 75
6.5 檢測(cè)GPIO輸入 77
6.5.1 硬件連接 77
6.5.2 下拉電阻 78
6.5.3 上拉電阻 79
6.5.4 反應(yīng)測(cè)試 81
6.6 拓展GPIO 83
6.6.1 SPI通信協(xié)議 83
6.6.2 I2C通信協(xié)議 88
6.6.3 串口通信協(xié)議 90
6.7 小結(jié) 90
第7章 簡(jiǎn)單硬件 91
7.1 LED 91
7.1.1 控制亮度 91
7.1.2 改變顏色 92
7.1.3 RGB-LED燈條 95
7.1.4 LED矩陣 98
7.1.5 使用OLED 102
7.2 蜂鳴器 103
7.2.1 有源蜂鳴器 104
7.2.2 無源蜂鳴器 105
7.3 實(shí)時(shí)時(shí)鐘 108
7.4 小結(jié) 111
第8章 高級(jí)硬件 112
8.1 GPS 112
8.1.1 連接GPS模塊 112
8.1.2 使用Python讀取數(shù)據(jù) 113
8.2 供電設(shè)備 116
8.2.1 鋰電池 116
8.2.2 不間斷電源 117
8.2.3 太陽(yáng)能電池板 118
8.3 數(shù)字鍵盤 119
8.4 指紋識(shí)別 123
8.5 麥克風(fēng)陣列 124
8.6 小結(jié) 128
第9章 控制電機(jī) 129
9.1 直流電機(jī) 129
9.1.1 直流電機(jī)簡(jiǎn)介 129
9.1.2 驅(qū)動(dòng)直流電機(jī) 130
9.1.3 控制方向 132
9.1.4 控制轉(zhuǎn)速 133
9.2 伺服電機(jī) 135
9.2.1 伺服電機(jī)簡(jiǎn)介 135
9.2.2 控制伺服電機(jī) 136
9.2.3 控制多臺(tái)伺服電機(jī) 137
9.3 步進(jìn)電機(jī) 139
9.3.1 步進(jìn)電機(jī)簡(jiǎn)介 139
9.3.2 單極步進(jìn)電機(jī) 140
9.3.3 雙極步進(jìn)電機(jī) 142
9.4 小結(jié) 147
第10章 OpenCV應(yīng)用 148
10.1 OpenCV基礎(chǔ) 148
10.1.1 OpenCV簡(jiǎn)介 148
10.1.2 樹莓派安裝OpenCV 149
10.1.3 圖像處理過程 156
10.2 使用各類攝像頭 157
10.2.1 CSI攝像頭 157
10.2.2 USB攝像頭 160
10.3 圖像基礎(chǔ)操作 161
10.3.1 載入和顯示圖像 162
10.3.2 輸出灰度圖像 163
10.3.3 繪圖 164
10.4 簡(jiǎn)單的圖像識(shí)別 166
10.4.1 數(shù)字識(shí)別 166
10.4.2 英文識(shí)別 168
10.4.3 人臉識(shí)別 169
10.5 小 結(jié) 171
第3篇 高級(jí)應(yīng)用
第11章 傳感器 174
11.1 氣體傳感器 174
11.1.1 二氧化碳傳感器 174
11.1.2 MQ系列傳感器 176
11.2 溫度、濕度和氣壓傳感器 179
11.2.1 溫度傳感器 179
11.2.2 濕度傳感器 181
11.2.3 氣壓傳感器 183
11.3 電阻式傳感器 185
11.3.1 熱敏電阻 185
11.3.2 光敏電阻 187
11.4 聲波傳感器 189
11.4.1 聲音傳感器DO模塊 189
11.4.2 聲音傳感器AO模塊 191
11.4.3 超聲波傳感器 193
11.5 光傳感器 196
11.5.1 光照傳感器 196
11.5.2 紅外傳感器 198
11.5.3 紫外傳感器 199
11.5.4 激光傳感器 201
11.5.5 顏色傳感器 203
11.5.6 火焰?zhèn)鞲衅?204
11.6 力傳感器 208
11.6.1 壓力傳感器 208
11.6.2 震動(dòng)傳感器 211
11.6.3 電子羅盤傳感器 213
11.6.4 角速度和加速度傳感器 215
11.6.5 霍爾傳感器 219
11.7 小結(jié) 221
第12章 擴(kuò)展板 222
12.1 溫控風(fēng)扇 222
12.1.1 溫控風(fēng)扇簡(jiǎn)介 222
12.1.2 溫控風(fēng)扇使用方法 223
12.1.3 開機(jī)自啟 223
12.2 電源管理 224
12.2.1 X735擴(kuò)展板簡(jiǎn)介 224
12.2.2 X735使用方法 225
12.2.3 腳本安裝 226
12.3 存儲(chǔ)擴(kuò)展 227
12.3.1 X872存儲(chǔ)擴(kuò)展板簡(jiǎn)介 227
12.3.2 X872和X735安裝方法 228
12.4 Sense Hat 228
12.4.1 Sense Hat簡(jiǎn)介 228
12.4.2 控制LED 229
12.4.3 使用傳感器 232
12.4.4 控制操縱桿 233
12.4.5 乒乓游戲 235
12.5 無線通信 236
12.5.1 無線通信簡(jiǎn)介 237
12.5.2 網(wǎng)絡(luò)連接 238
12.5.3 撥打電話 240
12.5.4 收發(fā)短信 242
12.5.5 GPS定位 244
12.6 模數(shù)轉(zhuǎn)換 246
12.6.1 模數(shù)轉(zhuǎn)換擴(kuò)展板簡(jiǎn)介 246
12.6.2 模擬信號(hào)轉(zhuǎn)數(shù)字信號(hào) 248
12.6.3 數(shù)字信號(hào)轉(zhuǎn)模擬信號(hào) 250
12.7 接口擴(kuò)展 251
12.7.1 GPIO擴(kuò)展 252
12.7.2 面包板擴(kuò)展 252
12.7.3 USB擴(kuò)展 253
12.7.4 串口擴(kuò)展 254
12.8 以太網(wǎng)供電 257
12.8.1 POE擴(kuò)展板簡(jiǎn)介 257
12.8.2 POE擴(kuò)展板使用方法 257
12.9 繼電器 258
12.9.1 繼電器擴(kuò)展板簡(jiǎn)介 258
12.9.2 繼電器擴(kuò)展板使用方法 259
12.10 小結(jié) 261
第13章 Arduino使用 262
13.1 Arduino基本情況 262
13.1.1 Arduino簡(jiǎn)介 262
13.1.2 Arduino的特點(diǎn) 262
13.1.3 Arduino版本 263
13.1.4 Arduino引腳 265
13.2 Arduino應(yīng)用 266
13.2.1 IDE工具 266
13.2.2 點(diǎn)亮LED 268
13.2.3 Arduino語(yǔ)言 269
13.3 基礎(chǔ)函數(shù)庫(kù) 270
13.3.1 I/O函數(shù) 270
13.3.2 字符函數(shù) 273
13.3.3 數(shù)學(xué)庫(kù) 278
13.4 進(jìn)階函數(shù)庫(kù) 282
13.4.1 脈沖寬度調(diào)制 283
13.4.2 隨機(jī)數(shù) 283
13.4.3 中斷 284
13.4.4 串口通信 285
13.4.5 I2C通信 287
13.4.6 串行外設(shè)接口 290
13.5 與樹莓派通信 292
13.5.1 樹莓派安裝Arduino IDE 292
13.5.2 通過USB進(jìn)行通信 293
13.5.3 通過I2C進(jìn)行通信 295
13.6 使用Python控制Arduino 297
13.6.1 使用PyFirmata簡(jiǎn)單控制Arduino 298
13.6.2 控制Arduino的數(shù)字輸出 299
13.6.3 控制Arduino的PWM輸出 300
13.6.4 讀取Arduino的數(shù)字輸入 301
13.6.5 讀取Arduino的模擬輸入 303
13.7 小結(jié) 304
第4篇 項(xiàng)目實(shí)戰(zhàn)
第14章 項(xiàng)目實(shí)踐 306
14.1 家居控制 306
14.1.1 Home Assistant安裝 306
14.1.2 命令行基礎(chǔ)操作 309
14.1.3 基礎(chǔ)配置 312
14.1.4 接入設(shè)備 314
14.1.5 綁定微信小程序 316
14.1.6 安裝Hass.io組件 317
14.2 智能音箱 319
14.2.1 wukong-robot安裝 319
14.2.2 更新喚醒詞 321
14.3 Android TV 325
14.3.1 Android TV簡(jiǎn)介 325
14.3.2 安裝方法 326
14.4 個(gè)人博客網(wǎng)站 328
14.4.1 安裝依賴 328
14.4.2 數(shù)據(jù)庫(kù)配置 329
14.4.3 Gunicorn配置 331
14.4.4 Nginx配置 332
14.4.5 Supervisor配置 333
14.4.6 內(nèi)網(wǎng)穿透 334
14.5 小結(jié) 334
第15章 智能小車 335
15.1 開發(fā)準(zhǔn)備 335
15.1.1 需求分析 335
15.1.2 開發(fā)環(huán)境 335
15.1.3 硬件清單 336
15.1.4 項(xiàng)目預(yù)覽 337
15.2 硬件安裝 338
15.2.1 底盤 338
15.2.2 循跡模塊 339
15.2.3 電池 341
15.2.4 主板 342
15.2.5 轉(zhuǎn)接板 343
15.2.6 電壓表 344
15.2.7 紅外模塊 345
15.2.8 超聲波模塊 345
15.2.9 面包板 347
15.2.10 云臺(tái) 347
15.2.11 連接底層板和頂層板 348
15.2.12 接線 349
15.3 燒錄鏡像 350
15.4 控制實(shí)驗(yàn) 351
15.4.1 控制蜂鳴器 351
15.4.2 按鍵檢測(cè) 353
15.4.3 實(shí)現(xiàn)基本運(yùn)動(dòng) 354
15.4.4 自動(dòng)循跡 358
15.4.5 自動(dòng)避障 361
15.4.6 超聲單方向避障 365
15.4.7 超聲多方向避障 368
15.4.8 紅外控制 373
15.4.9 WIFI控制 377
15.5 小結(jié) 378