第1部分 怎樣的樹莓派
第1章 樹莓派的誕生\t2
第2章 樹莓派的心臟\t7
第3章 樹莓派的大腦\t12
第2部分 使用樹莓派
第4章 開始使用樹莓派\t20
4.1 解剖樹莓派\t20
4.2 操作系統(tǒng)的安裝與啟動\t23
4.3 圖形化界面\t24
4.4 Scratch\t26
4.5 KTurtle\t27
第5章 貝殼里的樹莓派\t31
5.1 初試Shell\t31
5.2 用命令了解樹莓派\t32
5.3 什么是Shell\t35
5.4 Shell的選擇\t36
5.5 命令的選項和參數(shù)\t37
5.6 如何了解一個陌生的命令\t38
5.7 Shell小竅門\t38
第6章 好編輯\t40
6.1 圖形化的文本編輯器\t40
6.2 使用nano\t42
6.3 語法高亮\t44
6.4 文件基礎操作\t45
第7章 更好的樹莓派\t47
7.1 常見初始化配置\t47
7.2 軟件升級與安裝\t49
第8章 漂洋過海連接你\t51
8.1 局域網SSH登錄\t51
8.2 Bonjour\t53
8.3 互聯(lián)網SSH登錄\t53
8.4 文件傳輸\t56
第9章 時間的故事\t60
9.1 NTP服務\t60
9.2 時區(qū)設置\t61
9.3 實時時鐘\t62
9.4 date的用法\t65
第10章 規(guī)劃小能手\t67
10.1 用cron規(guī)劃任務\t67
10.2 用cron開機啟動\t68
10.3 用/etc/init.d實現(xiàn)開機啟動\t68
10.4 避免使用/etc/rc.local\t71
10.5 Shell中的定時功能\t71
第11章 GPIO的觸手\t73
11.1 GPIO簡介\t73
11.2 控制LED燈\t74
11.3 兩個樹莓派之間的GPIO\t75
11.4 UART編程\t77
11.5 用UART連接PC\t79
11.6 用UART登錄樹莓派\t79
第12章 玩轉藍牙\t80
12.1 藍牙介紹\t80
12.2 BLE介紹\t82
12.3 Bluez\t85
12.4 了解樹莓派上的藍牙\t86
12.5 樹莓派作為BLE外設\t87
12.6 樹莓派作為BLE中心設備\t88
12.7 樹莓派作為Beacon\t89
第13章 你是我的眼\t91
13.1 攝像頭的安裝與設置\t91
13.2 攝像頭的基本使用\t92
13.3 用VLC做網絡攝像頭\t92
13.4 用Motion做動作捕捉\t93
第3部分 進入LINUX
第14章 Linux的真身\t96
14.1 什么是內核\t96
14.2 什么是GNU軟件\t98
14.3 Linux的發(fā)行版\t99
第15章 你好,文件\t101
15.1 路徑與文件\t101
15.2 目錄\t102
15.3 硬鏈接\t103
15.4 軟鏈接\t104
15.5 文件操作\t105
15.6 文件搜索\t106
第16章 從程序到進程\t108
16.1 指令\t108
16.2 C程序\t110
16.3 程序編譯\t111
16.4 看一眼進程\t112
第17章 萬物皆是文本流\t114
17.1 文本流\t114
17.2 標準輸入、標準輸出、標準錯誤\t116
17.3 重新定向\t117
17.4 管道\t118
17.5 文本相關命令\t119
第18章 我的地盤我做主\t121
18.1 我是誰\t121
18.2 root和用戶創(chuàng)建\t122
18.3 用戶信息文件\t124
18.4 文件權限\t125
18.5 文件權限管理\t127
第19章 會編程的bash(上)\t129
19.1 變量\t129
19.2 數(shù)學運算\t131
19.3 返回代碼\t132
19.4 bash腳本\t133
19.5 函數(shù)\t136
19.6 跨腳本調用\t137
第20章 會編程的bash(下)\t138
20.1 邏輯判斷\t138
20.2 選擇結構\t140
20.3 循環(huán)結構\t143
20.4 bash與C語言\t146
第21章 完整架構\t148
21.1 內核模式與系統(tǒng)調用\t148
21.2 庫函數(shù)\t149
21.3 Shell\t151
21.4 用戶程序\t151
第22章 函數(shù)調用與進程空間\t153
22.1 函數(shù)調用\t153
22.2 跳轉\t155
22.3 棧與情境切換\t157
22.4 本地變量\t158
22.5 全局變量和堆\t159
第23章 穿越時空的信號\t161
23.1 按鍵信號\t161
23.2 kill命令\t162
23.3 信號機制\t163
23.4 信號處理\t164
23.5 C程序中的信號\t166
第4部分 深入Linux
第24章 進程的生與死\t170
24.1 從init到進程樹\t170
24.2 fork系統(tǒng)調用\t171
24.3 資源的fork\t172
24.4 最小權限原則\t174
24.5 進程的終結\t174
第25章 進程間的悄悄話\t177
25.1 管道\t177
25.2 管道的創(chuàng)建\t178
25.3 其他IPC方式\t179
第26章 多任務與同步\t185
26.1 并發(fā)與分時\t185
26.2 多線程\t186
26.3 競態(tài)條件\t189
26.4 多線程同步\t190
第27章 進程調度\t194
27.1 進程狀態(tài)\t194
27.2 進程的優(yōu)先級\t195
27.3 O(n)和O(1)調度器\t196
27.4 完全公平調度器\t199
第28章 內存的一頁故事\t201
28.1 內存\t201
28.2 虛擬內存\t202
28.3 內存分頁\t203
28.4 多級分頁表\t204
第29章 倉庫大管家\t207
29.1 外部存儲設備\t207
29.2 外部存儲器的掛載\t208
29.3 ext文件系統(tǒng)\t209
29.4 FAT文件系統(tǒng)\t211
29.5 文件描述符\t212
第30章 鳥瞰文件樹\t213
30.1 /boot和樹莓派啟動\t213
30.2 應用程序相關\t214
30.3 /etc與配置\t215
30.4 系統(tǒng)信息與設備\t216
30.5 其他目錄\t217
第31章 分級存儲\t219
31.1 CPU緩存\t219
31.2 頁交換\t220
31.3 交換空間\t221
31.4 外存的緩存與緩沖\t222
第32章 遍閱網絡協(xié)議\t225
32.1 通信與互聯(lián)網協(xié)議\t225
32.2 協(xié)議分層\t226
第33章 樹莓派網絡診斷\t229
33.1 基礎工具\t229
33.2 網絡層\t230
33.3 路由\t231
33.4 網絡監(jiān)聽\t231
33.5 域名解析\t232
第5部分 樹莓派小應用
第34章 樹莓派平板電腦\t234
34.1 平板電腦\t234
34.2 硬件介紹\t234
34.3 硬件的安裝\t235
34.4 配置操作系統(tǒng)\t236
第35章 天氣助手\t238
35.1 讀取互聯(lián)網API\t238
35.2 發(fā)送郵件\t242
第36章 架設博客\t245
36.1 安裝服務器軟件\t245
36.2 安裝Typecho\t247
36.3 讓別人可以訪問你的網站\t248
第37章 離線下載\t250
37.1 安裝下載工具Aria2\t250
37.2 Aria2的使用\t251
37.3 遠程使用Aria2\t251
37.4 安裝圖形化下載管理工具\t252
第38章 訪客登記系統(tǒng)\t255
38.1 編寫命令行小程序\t255
38.2 嘗試Tkinter\t257
38.3 制作訪客登記系統(tǒng)\t260
38.4 訪客名片和訪客拍照\t261
第39章 節(jié)能照明系統(tǒng)\t263
39.1 傳感器\t263
39.2 讀取傳感器數(shù)據(jù)\t264
39.3 控制照明電路\t266
第40章 樹莓派挖礦\t268
40.1 比特幣錢包\t268
40.2 在樹莓派上挖礦\t270
40.3 區(qū)塊鏈存儲服務\t272
第41章 高性能計算\t275
41.1 Spark\t275
41.2 樹莓派與Spark\t276
41.3 單機版?計算\t277
41.4 樹莓派集群\t278
第42章 藍牙即時通信\t281
42.1 樹莓派與藍牙\t281
42.2 藍牙服務端\t282
42.3 藍牙客戶端程序\t284
42.4 服務端和客戶端通信\t285
42.5 實現(xiàn)文字聊天功能\t285
42.6 數(shù)據(jù)加密傳輸\t286
第43章 制作一個Shell\t291
43.1 配置項目\t291
43.2 輸入輸出設置\t293
43.3 初步的Shell\t295
43.4 文字顏色與其他配置\t296
43.5 部分Shell 功能\t297
43.6 Shell主程序\t304
第44章 人工智能\t311
44.1 樹莓派的準備\t311
44.2 YOLO識別\t313
44.3 圖形化顯示結果\t316
附錄A 字符編碼\t318
附錄B Linux命令速查\t320
附錄C C語言語法摘要\t328
附錄D Makefile基礎\t332
附錄E gbd調試C程序\t334
附錄F 參考書目及簡介\t338
后記\t340