Python樹莓派開發從入門到精通(第2版·AI賦能)

明日科技

  • Python樹莓派開發從入門到精通(第2版·AI賦能)-preview-1
  • Python樹莓派開發從入門到精通(第2版·AI賦能)-preview-2
  • Python樹莓派開發從入門到精通(第2版·AI賦能)-preview-3
Python樹莓派開發從入門到精通(第2版·AI賦能)-preview-1

相關主題

商品描述

《Python樹莓派開發從入門到精通(第2版·AI賦能)》從初學者角度出發,通過通俗易懂的語言、豐富多彩的實例,詳細介紹了使用 Python 樹莓派進行軟件和硬件項目開發需要掌握的技術。本書共分為 4 篇 14 章,內容包括認識樹莓派、Python 樹莓派開發環境、Linux 命令、常用操作、常用服務、GPIO Zero 編程、常用外設模塊、控制電機、OpenCV 與樹莓派、傳感器、擴展板、AIoT 與物聯網集成,以及 3 個小型軟件項目實戰和 AI 智能小車硬件項目實戰。書中所有知識都結合具體實例進行介紹,涉及的程序代碼給出了詳細的註釋,讀者可以輕松領會樹莓派開發的精髓。另外,本書還介紹了 AI 開發工具在樹莓派開發中的應用,幫助讀者快速提高開發技能。本書還列舉了大量的小型實例、綜合實例和部分項目案例,所附資源包中涵蓋實例源程序及項目源碼等。

作者簡介

明日科技,全稱是吉林省明日科技有限公司,是一家專業從事軟件開發、教育培訓以及軟件開發教育資源整合的高科技公司,其編寫的教材非常註重選取軟件開發中的必需、常用內容,同時也很註重內容的易學、方便性以及相關知識的拓展性,深受讀者喜愛。其教材多次榮獲“全行業****品種”“全國高校出版社****書”等獎項,多個品種長期位居同類圖書銷售排行榜的前列。

目錄大綱

目錄

第 1 篇 基礎知識

第 1 章 認識樹莓派 2

1.1 樹莓派簡介 2

1.2 燒錄系統 4

1.2.1 電源 5

1.2.2 顯示器 5

1.2.3 TF 內存卡 5

1.2.4 鍵盤和鼠標 6

1.2.5 可選設備 6

1.2.6 無顯示器安裝系統 6

1.2.7 Raspberry Pi Imager 燒錄系統 9

1.2.8 AI 輔助解決系統燒錄過程中的常見問題 15

1.3 AI 輔助樹莓派 Python 開發 16

1.4 實踐與練習 17

第 2 章 Python樹莓派開發環境 18

2.1 Raspberry Pi OS 系統 18

2.1.1 Raspberry Pi OS 簡介 18

2.1.2 使用 LXDE 18

2.1.3 使用終端 19

2.1.4 Headless 無頭啟動配置 20

2.1.5 中文輸入法 22

2.2 安裝 Python 23

2.2.1 Python 的安裝 23

2.2.2 Python 解釋器 24

2.2.3 使用 Thonny 24

2.2.4 使用 VS Code 25

2.2.5 AI 輔助解決 VS Code Remote-SSH 常見問題 27

2.3 實踐與練習 27

第 3 章 Linux 命令 29

3.1 系統管理 29

3.1.1 用戶管理 29

3.1.2 進程和服務管理 30

3.1.3 系統重啟和關機 34

3.1.4 AI 輔助樹莓派高效運維 34

3.2 文件管理 35

3.2.1 創建和刪除 35

3.2.2 目錄切換 36

3.2.3 權限設置 37

3.2.4 查找 38

3.3 軟件管理 38

3.3.1 軟件安裝 38

3.3.2 軟件升級 38

3.3.3 軟件搜索 39

3.3.4 軟件卸載 39

3.3.5 AI 輔助解決找不到軟件包的問題 39

3.4 性能監控 40

3.4.1 使用命令查看 40

3.4.2 使用腳本查看 41

3.5 實踐與練習 43

第 4 章 常用操作 44

4.1 樹莓派換源 44

4.1.1 查看系統版本 44

4.1.2 更換系統源 44

4.1.3 更換 pip 源 46

4.2 文件存儲 46

4.2.1 FTP 服務 46

4.2.2 文件共享 48

4.2.3 AI 輔助排查 Windows 訪問失敗問題 51

4.3 系統備份 51

4.3.1 全卡備份 51

4.3.2 壓縮備份 52

4.3.3 自動化定時壓縮備份(AI) 53

4.4 實踐與練習 54

第 5 章 常用服務 56

5.1 遠程監控 56

5.1.1 基於 motion 的遠程監控 56

5.1.2 AI 輔助運動物體異常檢測 57

5.2 Web 技術 59

5.2.1 Nginx 59

5.2.2 內網穿透 60

5.2.3 Aria2 62

5.2.4 NTP 66

5.3 MariaDB 68

5.4 Docker 容器化 70

5.4.1 Docker 的安裝配置運行 70

5.4.2 AI 優化樹莓派 Dockerfile 72

5.5 實踐與練習 73

第 2 篇 核心技術

第 6 章 GPIO Zero編程 76

6.1 GPIO 基礎 76

6.1.1 GPIO 的引腳 76

6.1.2 通過 GPIO 連接樹莓派 79

6.2 GPIO 編程應用 80

6.2.1 RPi.GPIO 模塊 80

6.2.2 脈沖寬度調制 83

6.2.3 控制 GPIO 輸出 85

6.2.4 檢測 GPIO 輸入 88

6.3 GPIO Zero 基礎 91

6.4 GPIO Zero 編程應用 92

6.4.1 GPIO Zero 的基本用法 92

6.4.2 輸入檢測 93

6.4.3 脈沖寬度調制 94

6.4.4 控制 GPIO Zero 輸出與輸入 94

6.5 拓展 GPIO Zero 95

6.5.1 SPI 通信協議 95

6.5.2 I2C 通信協議 99

6.5.3 串口通信協議 101

6.6 AI 輔助設計 GPIO Zero 實例 102

6.6.1 按鈕控制 PWMLED 漸變亮滅 103

6.6.2 排查“按鈕控制 LED 無響應”的問題 104

6.7 實踐與練習 104

第 7 章 常用外設模塊 106

7.1 LED 106

7.1.1 控制亮度 106

7.1.2 改變顏色 107

7.1.3 RGB-LED 燈條 108

7.1.4 LED 矩陣 111

7.1.5 使用 OLED 114

7.2 蜂鳴器 115

7.2.1 有源蜂鳴器 116

7.2.2 無源蜂鳴器 117

7.3 GPS 118

7.3.1 連接 GPS 模塊 119

7.3.2 使用 Python 讀取數據 120

7.4 供電設備 122

7.4.1 鋰電池 122

7.4.2 不間斷電源 123

7.4.3 太陽能電池板 123

7.5 其他外設模塊 124

7.5.1 數字鍵盤 124

7.5.2 指紋識別模塊 126

7.5.3 麥克風陣列 127

7.5.4 實時時鐘 131

7.6 AI 輔助開發實例 134

7.6.1 帶錯誤鎖定的密碼驗證 134

7.6.2 AI 語音識別控制 135

7.7 實踐與練習 136

第 8 章 控制電機 138

8.1 直流電機 138

8.1.1 直流電機簡介 138

8.1.2 驅動直流電機 139

8.1.3 控制方向 140

8.1.4 控制轉速 142

8.1.5 AI 輔助排查直流電機不轉的問題 143

8.2 伺服電機 143

8.2.1 伺服電機簡介 143

8.2.2 控制伺服電機 144

8.2.3 控制多臺伺服電機 145

8.3 步進電機 146

8.3.1 步進電機簡介 146

8.3.2 單極步進電機 147

8.3.3 雙極步進電機 149

8.4 實踐與練習 150

第 9 章 OpenCV與樹莓派 152

9.1 OpenCV 基礎 152

9.1.1 OpenCV 簡介 152

9.1.2 在樹莓派上安裝 OpenCV 153

9.1.3 圖像處理過程 159

9.1.4 AI 輔助圖像去噪與增強 160

9.2 攝像頭的使用 161

9.2.1 CSI 攝像頭 161

9.2.2 USB 攝像頭 163

9.2.3 AI 輔助解決攝像頭無法調用的問題 165

9.3 圖像基礎操作 165

9.3.1 載入和顯示圖像 166

9.3.2 輸出灰度圖像 167

9.3.3 繪圖 168

9.4 圖像識別 169

9.4.1 數字識別 169

9.4.2 英文識別 171

9.4.3 人臉識別 172

9.5 機器學習應用 174

9.6 實踐與練習 178

第 3 篇 高級應用

第 10 章 傳感器 180

10.1 氣體傳感器 180

10.1.1 二氧化碳傳感器 180

10.1.2 MQ 系列傳感器 182

10.2 溫度、濕度和氣壓傳感器 184

10.2.1 溫度傳感器 184

10.2.2 濕度傳感器 186

10.2.3 氣壓傳感器 188

10.3 電阻式傳感器 190

10.3.1 熱敏電阻 190

10.3.2 光敏電阻 191

10.4 聲波傳感器 192

10.4.1 聲音傳感器——DO 模塊 193

10.4.2 聲音傳感器——AO 模塊 194

10.4.3 超聲波傳感器 196

10.5 光傳感器 198

10.5.1 光照傳感器 198

10.5.2 紅外傳感器 199

10.5.3 紫外線傳感器 200

10.5.4 激光傳感器 202

10.5.5 顏色傳感器 203

10.5.6 火焰傳感器 205

10.6 力傳感器 207

10.6.1 壓力傳感器 207

10.6.2 震動傳感器 210

10.6.3 電子羅盤傳感器 211

10.6.4 角速度和加速度傳感器 213

10.6.5 霍爾傳感器 217

10.7 AI 輔助解決傳感器數據波動或失敗問題 218

10.8 實踐與練習 220

第 11 章 擴展板 221

11.1 溫控風扇 221

11.1.1 溫控風扇簡介 221

11.1.2 溫控風扇使用方法 221

11.1.3 開機自啟 222

11.2 電源管理 222

11.2.1 X735 擴展板簡介 222

11.2.2 X735 使用方法 223

11.2.3 腳本安裝 224

11.3 存儲擴展 225

11.3.1 X872 存儲擴展板簡介 225

11.3.2 X872 和 X735 安裝方法 225

11.4 Sense Hat 226

11.4.1 Sense Hat 簡介 226

11.4.2 控制 LED 227

11.4.3 使用傳感器 229

11.4.4 控制操縱桿 230

11.4.5 乒乓球遊戲 232

11.4.6 AI 智能環境監測與預警 233

11.5 無線通信 235

11.5.1 無線通信簡介 235

11.5.2 網絡連接 236

11.5.3 撥打電話 238

11.5.4 收發短信 240

11.5.5 GPS 定位 242

11.6 模數轉換 244

11.6.1 模數轉換擴展板簡介 244

11.6.2 模擬信號轉數字信號 245

11.6.3 數字信號轉模擬信號 247

11.7 接口擴展 248

11.7.1 GPIO 擴展 248

11.7.2 面包板擴展 249

11.7.3 USB 擴展 250

11.7.4 串口擴展 250

11.8 以太網供電 254

11.9 繼電器 254

11.9.1 繼電器擴展板簡介 255

11.9.2 繼電器擴展板使用方法 255

11.10 實踐與練習 257

第 12 章 AIoT與物聯網集成 258

12.1 AIoT 與物聯網基礎 258

12.2 物聯網協議 259

12.2.1 感知層協議 259

12.2.2 應用層協議 259

12.3 EMQX Broker 部署 261

12.3.1 樹莓派本地部署 EMQX 261

12.3.2 EMQX 配置與管理 262

12.3.3 AI 輔助解決 EMQX 部署配置常見問題 263

12.4 雲端平臺對接 264

12.4.1 阿裏雲 IoT 平臺準備 264

12.4.2 樹莓派對接阿裏雲 IoT 266

12.5 典型應用 267

12.5.1 樹莓派溫/濕度監測 AIoT 系統 267

12.5.2 樹莓派手勢控制智能燈 269

12.6 實踐與練習 271

第 4 篇 項目實戰

第 13 章 項目實踐 274

13.1 家居控制 274

13.1.1 Home Assistant 安裝 274

13.1.2 命令行基礎操作 277

13.1.3 基礎配置 279

13.1.4 接入設備 281

13.1.5 安裝 Hass.io 組件 284

13.1.6 AI 智能場景識別優化 285

13.2 Android TV 系統 288

13.2.1 Android TV 簡介 288

13.2.2 安裝方法 288

13.2.3 AI 語音控制與畫質優化 291

13.3 個人博客網站 293

13.3.1 安裝依賴 293

13.3.2 數據庫配置 294

13.3.3 Gunicorn 配置 295

13.3.4 Nginx 配置 297

13.3.5 Supervisor 配置 298

13.3.6 內網穿透 298

13.4 項目總結 299

第 14 章 AI智能小車 300

14.1 開發準備 300

14.2 硬件安裝 302

14.2.1 底盤 302

14.2.2 循跡模塊 304

14.2.3 電池 305

14.2.4 主板 305

14.2.5 轉接板 306

14.2.6 電壓表 307

14.2.7 紅外模塊 308

14.2.8 超聲波模塊 309

14.2.9 面包板 310

14.2.10 雲臺 310

14.2.11 連接底盤和頂板 311

14.2.12 接線 312

14.3 燒錄鏡像 313

14.4 控制實驗 314

14.4.1 控制蜂鳴器 314

14.4.2 按鍵檢測 316

14.4.3 實現基本運動 317

14.4.4 自動循跡 320

14.4.5 自動避障 323

14.4.6 超聲波單方向避障 327

14.4.7 超聲波多方向避障 330

14.4.8 紅外控制 334

14.4.9 Wi-Fi 控制 338

14.5 AI 輔助優化項目 339

14.5.1 AI 輔助實現紅綠燈識別自動循跡 339

14.5.2 AI 輔助實現手機 Wi-Fi 實時視頻遙控 343

14.6 項目總結 346