定 價:¥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閃存設(shè)備 15
1.8 電阻 15
1.9 連接線和面包板 16
1.10 微動開關(guān) 17
1.11 焊接工具和技巧 17
1.12 關(guān)于供貨商 18
1.13 關(guān)于元器件 18
1.14 元器件一覽 18
第2章 結(jié)識樹莓派 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 硬件設(shè)置 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 本章小結(jié) 36
第3章 Linux基礎(chǔ) 37
3.1 導(dǎo)航 37
3.1.1 桌面 37
3.1.2 終端應(yīng)用程序 38
3.1.3 網(wǎng)絡(luò)瀏覽器 39
3.1.4 桌面的背后 39
3.2 重啟和關(guān)閉樹莓派 40
3.2.1 在GUI/桌面中啟動和關(guān)閉樹莓派 40
3.2.2 在終端中啟動和關(guān)閉樹莓派 40
3.2.3 命令摘要 42
3.3 配置 42
3.3.1 樹莓派的配置應(yīng)用程序 42
3.3.2 WiFi和網(wǎng)絡(luò)配置 44
3.4 安裝和更新軟件 44
3.4.1 GUI軟件安裝程序 44
3.4.2 apt-get包管理器 44
3.5 文件系統(tǒng)導(dǎo)航 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 小結(jié) 63
3.6 權(quán)限和特權(quán) 63
3.6.1 用戶和組 64
3.6.2 root和sudo 67
3.7 內(nèi)存和驅(qū)動程序 70
3.7.1 內(nèi)存 70
3.7.2 驅(qū)動程序 70
3.8 術(shù)語 71
3.9 本章小結(jié) 72
第4章 結(jié)識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 結(jié)識Geany 79
4.3 設(shè)置Geany 82
4.4 編寫第一個C++程序 87
4.4.1 C++編程方式 87
4.4.2 TicTac程序 90
4.5 本章小結(jié) 109
第5章 結(jié)識WiringPi 110
5.1 什么是WiringPi 110
5.2 WiringPi函數(shù) 110
5.2.1 設(shè)置函數(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組和權(quán)限 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 本章小結(jié) 129
第6章 輸入和輸出 130
6.1 所需工具 130
6.2 修改后的電路 130
6.2.1 微動開關(guān) 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 本章小結(jié) 144
第7章 一臺樹莓派和多個進程 145
7.1 進程 145
7.2 設(shè)計多進程拉森掃描器 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 本章小結(jié) 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 本章小結(jié) 181
第9章 從樹莓派走向世界:網(wǎng)絡(luò)套接字 182
9.1 互聯(lián)網(wǎng)上的小裝置 182
9.2 安全性 182
9.3 網(wǎng)絡(luò)簡介 183
9.3.1 TCP/IP端口和套接字 183
9.3.2 IPv4和IPv6 184
9.3.3 域名服務(wù) 185
9.3.4 客戶端和服務(wù)器 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 關(guān)于std::string類的一些討論 18