定 價:¥89.00
作 者: | (美)Jim Strickland |
出版社: | 機械工業(yè)出版社 |
叢編項: | |
標 簽: | 暫缺 |
ISBN: | 9787111630876 | 出版時間: | 2019-08-01 | 包裝: | 平裝 |
開本: | 16開 | 頁數(shù): | 284 | 字數(shù): |
譯者序
前言
作者簡介
審校者簡介
第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八進制總線收發(fā)器 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 網(wǎng)絡瀏覽器 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和網(wǎng)絡配置 44
3.4 安裝和更新軟件 44
3.4.1 GUI軟件安裝程序 44
3.4.2 apt-get包管理器 44
3.5 文件系統(tǒng)導航 50
3.5.1 GUI/桌面 50
3.5.2 終端 53
3.5.3 所在何處 54
3.5.4 目錄中有什么 55
3.5.5 創(chuàng)建文件 58
3.5.6 刪除文件 59
3.5.7 創(chuàng)建目錄 60
3.5.8 刪除目錄和文件 61
3.5.9 小結 63
3.6 權限和特權 63
3.6.1 用戶和組 64
3.6.2 root和sudo 67
3.7 內(nèi)存和驅動程序 70
3.7.1 內(nèi)存 70
3.7.2 驅動程序 70
3.8 術語 71
3.9 本章小結 72
第4章 結識C++ 73
4.1 Arduino包的內(nèi)容 73
4.1.1 在樹莓派上安裝Arduino 73
4.1.2 IDE 76
4.1.3 編譯器 76
4.1.4 函數(shù)庫 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函數(shù) 110
5.2.1 設置函數(shù) 111
5.2.2 接線函數(shù) 111
5.2.3 線程函數(shù) 113
5.2.4 中斷函數(shù) 114
5.2.5 定時函數(shù) 115
5.3 GPIO命令行工具 117
5.4 GPIO組和權限 118
5.5 在Geany中調(diào)用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 進程與內(nèi)存 161
8.1.1 內(nèi)核空間 162
8.1.2 堆棧 162
8.1.3 內(nèi)存映射段 162
8.1.4 堆 162
8.1.5 BSS段 162
8.1.6 數(shù)據(jù)段 162
8.1.7 文本段 163
8.2 線程 163
8.2.1 線程函數(shù) 163
8.2.2 線程ID 164
8.2.3 創(chuàng)建線程 164
8.2.4 取消線程 164
8.2.5 流程控制 164
8.2.6 內(nèi)存保護:互斥鎖 165
8.3 POSIX線程與WiringPi線程 166
8.4 Larson_pthread 167
8.4.1 工作規(guī)劃 167
8.4.2 修改代碼 167
8.4.3 代碼 169
8.5 Larson_wiringPiThread 175
8.6 本章小結 181
第9章 從樹莓派走向世界:網(wǎng)絡套接字 182
9.1 互聯(lián)網(wǎng)上的小裝置 182
9.2 安全性 182
9.3 網(wǎng)絡簡介 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 規(guī)劃 186
9.5.1 gpio_class類 187
9.5.2 socket_class類 188
9.5.3 main()函數(shù) 189
9.5.4 關于std::string類的一些討論 18