面向Arduino用戶的樹莓派實用指南

面向Arduino用戶的樹莓派實用指南

《面向Arduino用戶的樹莓派實用指南 物聯網套用開發》是2019年機械工業出版社出版的圖書,作者是Jim Strickland。本書主要講述了樹莓派開發板的配置步驟、開發環境構建和實際套用技術,講述了在樹莓派上採用C++語言和庫進行開發的方法,更為難得的是介紹了結合使用Arduino和樹莓派的工具和流程。

基本介紹

  • 中文名:面向Arduino用戶的樹莓派實用指南 物聯網套用開發
  • 作者:Jim Strickland
  • 出版社機械工業出版社
  • ISBN:9787111630876
內容簡介,圖書目錄,

內容簡介

本書全面介紹了樹莓派開發板的配置步驟、開發環境構建和實際套用技術,講述了在樹莓派上採用C++語言和庫進行開發的方法,更為難得的是介紹了結合使用Arduino和樹莓派的工具和流程。全書共分為13章,第1章為完成書中的項目提供了一份購物清單;第2章~第5章從硬體設定、作業系統安裝和管理、樹莓派上C++開發的流程和庫等方面進行了介紹;第6章~第11章則採用實例的方式介紹了樹莓派在多個方面的開發過程;第13章為總結和建議部分。本書適用於有意學習樹莓派開發的讀者,尤其適合具有Arduino經驗的讀者快速入門,也可作為STEAM教育的課程設計藍本。

圖書目錄

譯者序
前言
作者簡介
審校者簡介
第1章 採購清單 1
1.1 樹莓派 1
1.1.1 3B+型樹莓派 1
1.1.2 為何購買3B+型樹莓派 4
1.1.3 Zero W型樹莓派 4
1.1.4 為何購買Zero W型樹莓派 5
1.1.5 適配器 6
1.1.6 其他型號的樹莓派 7
1.2 樹莓派的GPIO分線板 7
1.3 5V USB微型電源 9
1.4 積體電路 10
1.4.1 ATmega328P-PU 10
1.4.2 16MHz TTL時鐘振盪器 11
1.4.3 74LVC245A八進制匯流排收發器 12
1.5 LED 13
1.5.1 10段光帶 13
1.5.2 普通LED 14
1.6 microSD卡 14
1.7 USB快閃記憶體設備 15
1.8 電阻 15
1.9 連線線和麵包板 16
1.10 微動開關 17
1.11 焊接工具和技巧 17
1.12 關於供貨商 18
1.13 關於元器件 18
1.14 元器件一覽 18
第2章 結識樹莓派 20
2.1 簡介 20
2.1.1 Windows 20
2.1.2 MacOS X 20
2.1.3 Linux 20
2.2 所需工具 21
2.3 硬體設定 21
2.3.1 3B+型樹莓派 21
2.3.2 Zero W型樹莓派 22
2.3.3 兩型樹莓派 22
2.4 用NOOBS安裝Raspbian 22
2.4.1 什麼是NOOBS 22
2.4.2 什麼是Raspbian 23
2.4.3 格式化microSD卡 24
2.4.4 下載NOOBS 29
2.4.5 安裝NOOBS 30
2.5 啟動NOOBS 32
2.6 排除故障 32
2.7 安裝Raspbian 33
2.8 本章小結 36
第3章 Linux基礎 37
3.1 導航 37
3.1.1 桌面 37
3.1.2 終端應用程式 38
3.1.3 網路瀏覽器 39
3.1.4 桌面的背後 39
3.2 重啟和關閉樹莓派 40
3.2.1 在GUI/桌面中啟動和關閉樹莓派 40
3.2.2 在終端中啟動和關閉樹莓派 40
3.2.3 命令摘要 42
3.3 配置 42
3.3.1 樹莓派的配置應用程式 42
3.3.2 WiFi和網路配置 44
3.4 安裝和更新軟體 44
3.4.1 GUI軟體安裝程式 44
3.4.2 apt-get包管理器 44
3.5 檔案系統導航 50
3.5.1 GUI/桌面 50
3.5.2 終端 53
3.5.3 所在何處 54
3.5.4 目錄中有什麼 55
3.5.5 創建檔案 58
3.5.6 刪除檔案 59
3.5.7 創建目錄 60
3.5.8 刪除目錄和檔案 61
3.5.9 小結 63
3.6 許可權和特權 63
3.6.1 用戶和組 64
3.6.2 root和sudo 67
3.7 記憶體和驅動程式 70
3.7.1 記憶體 70
3.7.2 驅動程式 70
3.8 術語 71
3.9 本章小結 72
第4章 結識C++ 73
4.1 Arduino包的內容 73
4.1.1 在樹莓派上安裝Arduino 73
4.1.2 IDE 76
4.1.3 編譯器 76
4.1.4 函式館 78
4.1.5 上傳程式 79
4.2 結識Geany 79
4.3 設定Geany 82
4.4 編寫個C++程式 87
4.4.1 C++編程方式 87
4.4.2 TicTac程式 90
4.5 本章小結 109
第5章 結識WiringPi 110
5.1 什麼是WiringPi 110
5.2 WiringPi函式 110
5.2.1 設定函式 111
5.2.2 接線函式 111
5.2.3 執行緒函式 113
5.2.4 中斷函式 114
5.2.5 定時函式 115
5.3 GPIO命令行工具 117
5.4 GPIO組和許可權 118
5.5 在Geany中調用WiringPi 119
5.6 搭建拉森(紀念)掃描器 119
5.6.1 所需工具 120
5.6.2 歐姆定律 121
5.6.3 電路連線示意 122
5.6.4 電路搭建 122
5.6.5 項目 123
5.6.6 程式 124
5.6.7 首次運行程式 126
5.6.8 代碼 127
5.7 本章小結 129
第6章 輸入和輸出 130
6.1 所需工具 130
6.2 修改後的電路 130
6.2.1 微動開關 130
6.2.2 上拉電阻和下拉電阻 132
6.3 Button_Polled項目 132
6.3.1 項目概述 132
6.3.2 修改代碼 133
6.3.3 代碼 134
6.4 Button_Interrupt項目 137
6.4.1 項目概述 137
6.4.2 修改代碼 138
6.4.3 代碼 141
6.5 本章小結 144
第7章 一台樹莓派和多個進程 145
7.1 進程 145
7.2 設計多進程拉森掃描器 146
7.2.1 fork命令 147
7.2.2 控制信號 147
7.2.3 修改代碼 148
7.3 代碼 152
7.4 運行程式 157
7.5 Linux中的進程 158
7.6 本章小結 160
第8章 單進程和多執行緒 161
8.1 進程與記憶體 161
8.1.1 核心空間 162
8.1.2 堆疊 162
8.1.3 記憶體映射段 162
8.1.4 堆 162
8.1.5 BSS段 162
8.1.6 數據段 162
8.1.7 文本段 163
8.2 執行緒 163
8.2.1 執行緒函式 163
8.2.2 執行緒ID 164
8.2.3 創建執行緒 164
8.2.4 取消執行緒 164
8.2.5 流程控制 164
8.2.6 記憶體保護:互斥鎖 165
8.3 POSIX執行緒與WiringPi執行緒 166
8.4 Larson_pthread 167
8.4.1 工作規劃 167
8.4.2 修改代碼 167
8.4.3 代碼 169
8.5 Larson_wiringPiThread 175
8.6 本章小結 181
第9章 從樹莓派走向世界:網路套接字 182
9.1 網際網路上的小裝置 182
9.2 安全性 182
9.3 網路簡介 183
9.3.1 TCP/IP連線埠和套接字 183
9.3.2 IPv4和IPv6 184
9.3.3 域名服務 185
9.3.4 客戶端和伺服器 185
9.4 程式 186
9.5 規劃 186
9.5.1 gpio_class類 187
9.5.2 socket_class類 188
9.5.3 main()函式 189
9.5.4 關於std::string類的一些討論 18

相關詞條

熱門詞條

聯絡我們