精通Raspberry Pi

精通Raspberry Pi

《精通Raspberry Pi》是2015年出版的圖書,作者是[美]Warren Gay 。

基本介紹

  • 書名:精通Raspberry Pi
  • 作者:[美]Warren Gay 著 張龍傑,陳青華,劉勇 譯
  • 出版時間:2015.11.01
基本信息,內容簡介,目錄,

基本信息

作者:[美]Warren Gay 著 張龍傑,陳青華,劉勇 譯
定價:79.80元
印次:1-1
ISBN:9787302418870
出版日期:2015.11.01

內容簡介

Raspberry Pi完全參考指南催生你的項目創意! Raspberry Pi是一款優秀教學工具,如果你打算講授Linux基礎原理或Python程式設計課程,該工具將是一個良好開端。但如果你是一名電子工程師、Linux系統管理員或經驗豐富的製造商,你不僅要了解基礎理論和入門知識,還必須掌握Raspberry Pi的內部工作原理來完成設計。 如果你打算學習Raspberry Pi專業知識、完成電路圖、詳細了解硬體、報告電壓和溫度以及重新編譯核心,那么 精通Raspberry Pi 一書無疑是你的最佳之選。本書不僅透徹闡釋硬體和作業系統,還列舉各種可供調整後用於實際項目的示例

目錄

第1章為什麼學習本書? 1
1.1本書讀者對象 1
1.2本書主要內容 2
1.3學習方法 2
1.4本書的組織結構 3
1.5本書中的軟體 4
1.6結束語 5
第2章RaspberryPi 7
2.1型號 7
2.2共有的硬體 9
2.3選擇哪一種型號? 9
第3章準備 11
3.1靜態IP位址 11
3.2使用SSH 12
3.3虛擬網路計算機 13
3.3.1顯示器編號 13
3.3.2幾何尺寸 13
3.3.3深度 14
3.3.4像素格式 14
3.3.5密碼設定 14
3.3.6伺服器的啟動 14
3.3.7VNC查看器 14
3.3.8停止VNC伺服器 15
3.4原型站 15
3.5AdafruitPiCobbler 16
3.6Gertboard 17
3.7裸機 17
第4章電源 19
4.1計算功率 19
4.2電流需求 20
4.3外圍設備電源 20
4.4B型輸入電源 21
4.5A型輸入電源 22
4.63.3V電源 22
4.7供電的USB集線器 22
4.8電源適配器 22
4.8.1一款不合適的電源 23
4.8.2電子書適配器 23
4.8.3最好的電源 23
4.8.4電壓測試 24
4.9蓄電池電源 25
4.9.1要求 25
4.9.2餘量 25
4.9.3LM7805調節 25
4.9.4DC-DC降壓變換器 26
4.10供電不足的徵兆 28
4.11斷電 28
第5章頭帶、LED和復位 29
5.1狀態指示LED燈 29
5.1.1OK或ACTLED 29
5.1.2PWRLED 29
5.1.3FDXLED 30
5.1.4LNKLED 30
5.1.510M或10/100LED 30
5.2P1頭 30
5.2.1安全模式 32
5.2.2邏輯電平 33
5.2.3復位時GPIO的配置 33
5.2.4單匯流排驅動器 33
5.3P5頭 33
5.4復位 34
第6章SDRAM 37
6.1/proc/meminfo 37
6.1.1MemTotal(總存儲器) 39
6.1.2MemFree(空閒存儲器) 39
6.1.3Buffers(緩衝區) 40
6.1.4Cached(高速快取的) 40
6.1.5SwapCached(交換的緩衝區) 40
6.1.6Active(活躍的存儲器空間) 40
6.1.7Inactive(不活躍的存儲器空間) 40
6.1.8Active(anon) 41
6.1.9Inactive(anon) 41
6.1.10Active(file) 41
6.1.11Inactive(file) 41
6.1.12Unevictable(不可回收的) 42
6.1.13Mlocked(被鎖定的) 42
6.1.14SwapTotal(交換的總數) 42
6.1.15SwapFree(自由交換的數量) 42
6.1.16Dirty 42
6.1.17Writeback 43
6.1.18AnonPages 43
6.1.19Mapped 43
6.1.20Shmem 43
6.1.21Slab 43
6.1.22SReclaimable 44
6.1.23SUnreclaim 44
6.1.24KernelStack 44
6.1.25PageTables 44
6.1.26NFS_Unstable 44
6.1.27Bounce 45
6.1.28WritebackTmp 45
6.1.29CommitLimit 45
6.1.30Committed_AS 46
6.1.31VmallocTotal 47
6.1.32VmallocUsed 47
6.1.33VmallocChunk 47
6.2物理存儲器 47
6.3存儲器映射 48
6.3.1地址 50
6.3.2長度 50
6.3.3保護 50
6.3.4標誌 50
6.3.5檔案描述符 50
6.3.6偏移 51
6.3.7返回值 51
6.3.8volatile關鍵字 51
6.4虛擬存儲器 52
6.5關於SDRAM的最後一點看法 52
第7章CPU 53
7.1鑑別 53
7.2超頻 54
7.3執行 56
7.4執行緒 57
7.4.1pthread頭檔案 57
7.4.2pthread錯誤處理 57
7.4.3pthread_create(3) 58
7.4.4pthread_attr_t 59
7.4.5pthread_join(3) 60
7.4.6pthread_detach(3) 61
7.4.7pthread_self(3) 62
7.4.8pthread_kill(3) 62
7.5mutex 63
7.5.1pthread_mutex_create(3) 63
7.5.2pthread_mutex_destroy(3) 63
7.5.3pthread_mutex_lock(3) 64
7.5.4pthread_mutex_unlock(3) 64
7.6條件變數 65
7.6.1pthread_cond_init(3) 66
7.6.2pthread_cond_destroy(3) 67
7.6.3pthread_cond_wait(3) 67
7.6.4pthread_cond_signal(3) 68
7.6.5pthread_cond_broadcast(3) 68
第8章USB 69
8.1電源 70
8.2供電集線器 70
8.3USBAPI支持 71
8.3.1libusb 71
8.3.2Include檔案 71
第9章乙太網 75
9.1有線乙太網 75
9.1.1/etc/network/interfaces 76
9.1.2改變到靜態IP 76
9.1.3測試靜態IP位址 77
9.1.4USB適配器 78
9.1.5/etc/hosts檔案 78
9.2無線乙太網 78
第10章SD卡存儲 83
10.1SD卡媒介 83
10.2SD卡接口 83
10.3SD卡基礎 84
10.4Raspbian區塊尺寸 84
10.5容量和性能 86
10.6傳送模式 86
10.6.1SPI匯流排模式 86
10.6.21位SD模式 87
10.6.34位SD模式 88
10.7耗損均衡 88
第11章UART 91
11.1RS-232轉換器 91
11.2RS-232 93
11.2.1起始位 93
11.2.2數據位 94
11.2.3奇偶位 94
11.2.4停止位 94
11.2.5波特率 95
11.2.6中斷 96
11.2.7流控制 96
11.3RaspberryPiUART 98
11.4ARMPL011UART 98
11.4.1RTS/CTS訪問 98
11.4.2PL011UART特性 99
11.5獨占串列線路的使用 100
11.5.1步驟 100
11.5.2驗證 101
11.6串列API 101
11.6.1頭檔案 101
11.6.2open(2) 101
11.6.3結構體termios 102
11.6.4tcgetattr(3) 104
11.6.5tcsetattr(3) 105
11.6.6tcsendbreak(3) 105
11.6.7tcdrain(3) 106
11.6.8tcflush(3) 106
11.6.9tcflow(3) 107
11.6.10cfmakeraw(3) 107
11.6.11cfgetispeed(3) 110
11.6.12cfgetospeed(3) 110
11.6.13cfsetispeed(3) 111
11.6.14cfsetospeed(3) 111
11.6.15cfsetspeed(3) 111
11.6.16read(2) 112
11.6.17write(2) 113
11.6.18readv(2)和writev(2) 114
11.6.19EINTR錯誤 115
第12章GPIO 117
12.1引腳和名稱 117
12.2復位後的配置 118
12.3上拉電阻 120
12.3.1配置上拉電阻 120
12.3.2測試上拉狀態 124
12.4邏輯電平 125
12.5驅動能力 125
12.5.1輸入引腳 126
12.5.2輸出引腳 126
12.5.3驅動LED 128
12.5.4測試驅動能力 130
12.6GPIO電流預算 132
12.7配置 132
12.7.1交替功能選擇 132
12.7.2輸出引腳 133
12.7.3輸入引腳 133
12.7.4交替功能 133
12.8SysfsGPIO訪問 134
12.8.1export 134
12.8.2unexport 135
12.8.3gpioX 135
12.8.4晶片級 137
12.9GPIO測試器 137
12.10GPIO輸入測試 138
12.11可能的波動 140
12.12讀取事件 140
12.13直接暫存器訪問 145
12.13.1gpio_init() 146
12.13.2gpio_config() 146
12.13.3gpio_write() 146
12.13.4gpio_read() 147
12.13.5gpio_io.c 147
12.14GPIO電晶體驅動器 149
12.14.1驅動器設計 149
12.14.2替代品 151
12.14.3電感負載 151
12.14.4驅動器小結 152
12.15GPIO實用程式 152
12.15.1顯示GPIO設定 153
12.15.2讀GPIO 154
12.15.3寫GPIO 154
12.15.4修改驅動層 154
第13章單匯流排驅動器 155
13.1單匯流排與供電 155
13.2線上供電 155
13.3主機和從機 156
13.4協定 156
13.4.1復位 157
13.4.2數據輸入/輸出 157
13.5從機支持 158
13.6讀取溫度 158
13.6.1匯流排主機 160
13.6.2從機設備 160
13.6.3讀取溫度 162
13.7單匯流排GPIO引腳 162
第14章I2C匯流排 165
14.1I2C概述 165
14.2SDA和SCL 166
14.3多主機和仲裁 166
14.4匯流排信號傳輸 167
14.5數據位 167
14.6訊息格式 168
14.7哪些I2C匯流排? 169
14.8I2C匯流排速度 169
14.9工具 170
14.10I2CAPI 170
14.10.1核心模組支持 170
14.10.2頭檔案 171
14.10.3open(2) 171
14.10.4ioctl(2,I2C_FUNC) 172
14.10.5ioctl(2,I2C_RDWR) 172
第15章SPI匯流排 175
15.1SPI基礎 175
15.2SPI模式 176
15.3信號傳輸 176
15.4從機選擇 177
15.5驅動支持 178
15.6SPIAPI 179
15.6.1頭檔案 179
15.6.2打開設備 180
15.6.3SPI模式宏 180
15.6.4字的每一位 181
15.6.5時鐘頻率 182
15.6.6數據輸入/輸出 182
15.6.7關閉 185
15.6.8寫 185
15.6.9讀 185
15.7SPI測試 185
第16章引導 189
16.1引導ARMLinux 189
16.2啟動順序 190
16.3引導檔案 190
16.4config.txt 191
16.4.1複合視頻設定 191
16.4.2高精度視頻 192
16.4.3過掃描視頻 198
16.4.4幀緩衝器設定 198
16.4.5通用視頻選項 199
16.4.6授權的多媒體數字編解碼器 200
16.4.7測試 200
16.4.8存儲器 200
16.4.9啟動引導選項 201
16.4.10超頻 205
16.4.11保單與超頻 206
16.4.12電壓設定 210
16.5cmdline.txt 212
16.5.1Serialconsole= 213
16.5.2Virtualconsole= 214
16.5.3kgdboc= 214
16.5.4root= 214
16.5.5rootfstype= 215
16.5.6elevator= 215
16.5.7rootwait= 215
16.5.8nfsroot= 216
16.5.9ip= 217
16.6應急核心 217
第17章初始化 219
17.1運行等級 219
17.2/etc/inittab 220
17.2.1inittab的行為initdefault 220
17.2.2常規啟動順序 221
17.2.3inittab的行為wait 223
17.2.4inittab的行為once 223
17.2.5inittab的行為respawn 224
17.3改變運行等級 224
17.3.1telinit 224
17.3.2運行等級的修改 225
17.3.3單用戶模式 225
17.3.4關機和重啟 225
17.4創建新的服務 225
第18章vcgencmd 227
18.1vcgencmd命令 227
18.2選項measure_clock 228
18.3選項measure_volts 229
18.4選項measure_temp 230
18.5選項codec_enabled 230
18.6選項version 231
18.7選項get_lcd_info 231
18.8選項get_config 231
第19章Linux控制台 233
19.1可用的控制台 233
19.2串列控制台 234
第20章交叉編譯 235
20.1術語 235
20.2作業系統 236
20.3宿主、客戶、本地和目標 236
20.3.1平台的限制 237
20.3.2沒有VirtualBox(本機) 237
20.3.3使用VirtualBox(Ubuntu/Linux) 237
20.4規劃你的交叉開發環境 237
20.5構建交叉編譯環境 238
20.5.1下載crosstool-NG 238
20.5.2暫存目錄 239
20.5.3解壓源碼檔案(tarball) 239
20.5.4創建/opt/x-tools目錄 239
20.5.5安裝軟體包依賴 239
20.5.6配置crosstool-NG(原始碼安裝的第一步) 240
20.6編譯crosstool-ng 240
20.7將程式安裝至系統中 240
20.8路徑 240
20.9交叉編譯配置 241
20.9.1路徑和其他選項 241
20.9.2目標選項 243
20.9.3作業系統 243
20.9.4二進制實用程式 244
20.9.5C語言編譯器 244
20.9.6保存配置 245
20.10構建交叉編譯器 246
第21章交叉編譯核心 249
21.1鏡像工具 249
21.2下載核心 250
21.3編輯Makefile 251
21.4makemrproper指令 252
21.5核心配置 252
21.6makemenuconfig指令(圖形化的核心配置) 253
21.7make指令 253
21.8準備核心鏡像 253
21.9安裝核心鏡像 254
21.10模組 255
21.11固件 256
21.12SD卡VirtualBox(虛擬機)的安裝 257
第22章DHT11感測器 259
22.1特徵 259
22.2電路 260
22.3協定 260
22.3.1通用協定 260
22.3.2數據位數 261
22.3.3數據格式 261
22.3.4軟體 262
22.3.5選擇的方法 263
22.4運行示例 264
22.5原始碼 265
第23章MCP23017GPIO擴展器 271
23.1DC特徵 271
23.1.1GPIO輸出電流 272
23.1.2GPIO輸入 272
23.1.3待機電流 273
23.1.4輸入邏輯電平 273
23.1.5輸出邏輯電平 273
23.2復位時序 274
23.3電路 274
23.4I2C匯流排 275
23.5接線和測試 275
23.6軟體配置 277
23.7主程式 283
23.8i2c_funcs.c模組 288
23.9sysgpio.c模組 291
23.10運行示例 294
23.11回響時間 296
第24章Nunchuk手柄 299
24.1項目概況 299
24.2Nunchuk手柄的特點 299
24.3連線器引腳輸出 300
24.4測試連線 301
24.5NunchukI2C協定 302
24.5.1加密 302
24.5.2讀取感測器的數據 302
24.6Linuxuinput界面 303
24.6.1使用頭檔案 304
24.6.2打開設備節點 304
24.6.3配置事件 304
24.6.4創建節點 308
24.6.5發布EV_KEY事件 309
24.6.6發布EV_REL事件 310
24.6.7發布EV_SYN事件 310
24.6.8關閉uinput 311
24.7X-Windows(圖形用戶界面) 311
24.8輸入實用程式 312
24.9測試Nunchuk 312
24.9.1測試./Nunchuk 313
24.9.2Lsinput實用程式 314
24.9.3input-events實用程式 314
24.10程式 315
第25章實時時鐘 325
25.1DS1307概述 325
25.1.1X1和X2引腳 326
25.1.2SQW/OUT引腳 326
25.2電源 327
25.33伏特兼容性 328
25.4微小的RTC修改 328
25.5DS1307匯流排速度 331
25.6RTC和RAM地址映射 331
25.7閱讀日期和時間 332
25.8I2C通信 333
25.9接線 334
25.10運行示例 334
25.11最終測試 335
25.12啟動腳本 335
第26章VS1838B紅外接收器 345
26.1操作參數 345
26.2VS1838B電路 346
26.3軟體 347
26.3.1信號元件 348
26.3.2組織機構代碼 349
26.3.3命令行選項 349
第27章步進電機 363
27.1軟碟步進電機 363
27.2驅動器電路 365
27.3驅動驅動器 368
27.3.1輸入電平 368
27.3.2復位/啟動電源 369
27.4操作模式 370
27.4.1波驅動(0模式) 370
27.4.2全步進驅動(1模式) 370
27.4.3半步進驅動(2模式) 370
27.5軟體 371
第28章H橋驅動器 381
28.1L298驅動器 381
28.1.1感測電阻 382
28.1.2使能A和B 382
28.1.3In1和In2輸入 382
28.1.4保護二極體 382
28.2L298PCB 383
28.3從GPIO驅動 384
28.4雙極步進模式 386
28.4.1單相波模式 386
28.4.2雙相波模式 386
28.4.3半步模式 387
28.5選擇驅動GPIO 388
28.6項目示意圖 388
28.7程式運行 389
第29章遠程控制臺 399
29.1切換輸入 399
29.2CD4013 400
29.3觸發器測試 401
29.4LED燈 402
29.5?MQ 402
29.5.1執行安裝 402
29.5.2編譯和連結 403
29.6感測站的設計 403
29.7感測站程式 404
29.8控制台程式 404
29.9感測器原始碼 405
29.10控制台原始碼 413
第30章脈衝寬度調製 419
30.1PWM介紹 419
30.2PWM參數 420
30.3PWM硬體外設 420
30.4PWM軟體 420
30.5儀表電路 420
30.6pwm程式 421
30.6.1PWM硬體設定命令 423
30.6.2基於硬體顯示CPU使用百分比(率) 424
30.6.3PWM程式軟體 430
30.6.4有多少PWM? 432
30.6.5運行PWM軟體命令 433
30.6.6基於軟體顯示CPU使用百分比 433
附錄A術語表 437
附錄B電源標準 443
附錄C電子學參考 445
附錄DRaspbianapt命令 447
附錄EARM編譯選項 451
附錄FMacOSX技巧 453
參考文獻 455

相關詞條

熱門詞條

聯絡我們