OpenWrt智慧型路由系統開發跟hoowa學智慧型路由

OpenWrt智慧型路由系統開發跟hoowa學智慧型路由

《OpenWrt智慧型路由系統開發跟hoowa學智慧型路由》是2020年2月人民郵電出版社出版的圖書,作者是王偉、孫冰、劉龍。

基本介紹

  • 中文名:OpenWrt智慧型路由系統開發跟hoowa學智慧型路由
  • 作者:王偉、孫冰、劉龍
  • 出版時間:2020年2月
  • 出版社:人民郵電出版社
  • 頁數:230 頁
  • ISBN:9787115477118
  • 定價:79 元
  • 開本:小16開
  • 裝幀:平裝
內容簡介,圖書目錄,

內容簡介

本書匯集了各類基於OpenWrt系統的路由器、物聯網、智慧型家居方向的技能和行業內知名企業的技術經驗。本書區別於傳統嵌入式系統書籍,並沒有一上來介紹那些晦澀的軟硬體知識,本書所介紹的內容門檻更低,更適合讀者循序漸進地完成學習。書中使用更輕鬆的表達方式,讓讀者開開心心便可以完成智慧型路由器的開發。
由於路由器大量採用了開源作業系統,哥倫比亞大學法學院教授Eben Moglen向路由器廠商提出了開源路由器系統部分的要求,這樣,2004年OpenWrt誕生了White Russian版,之後每一兩年便發布一個新的版本。現今,OpenWrt系統在智慧型路由器行業已是事實性標準,大量的晶片廠商及路由器廠商(包括小米、極路由、極企科技等知名網際網路科技企業)均採用該系統作為路由器或智慧型家居控制中心,即使宣稱沒有使用OpenWrt的廠商,也多是在該系統基礎之上進行了業務定製。
OpenWrt作為開源組織採取鬆散管理,很難找到一份比較系統的專業技術文檔用於愛好者學習。因此2012年由hoowa發起、眾多技術“大神”參與的“跟hoowa學智慧型路由”線上培訓開始啟航,本書所有內容均原滋原味來源於此。本書遵循“學中做,做中學”的理念,將內容分為19章,讀者可以跟著本書內容,邊學邊做,終完成一個智慧型路由器的開發。
本書主要從OpenWrt這個系統的角度來介紹,但書中內容不局限於路由器本身,通過閱讀本書,讀者可以掌握智慧型家居、智慧型玩具、工業控制等各類不同設備的玩法。本書適合計算機或電子類相關學生、從事IT行業的人員、智慧型設備或OpenWrt系統的發燒友、各智慧型設備廠商員工閱讀。

圖書目錄

第 1章 路由器概述 1
1.1 傳統路由器 1
1.2 智慧型路由器 1
1.3 傳統路由器與智慧型路由器的區別 2
第 2章 OpenWrt介紹 3
2.1 什麼是OpenWrt 3
2.2 哪些產品用了OpenWrt 3
2.3 OpenWrt是如何支持路由器CPU的 4
第3章 智慧型路由器硬體 5
3.1 MIPS架構 5
3.2 國內常見路由器的配置 5
3.3 常見路由器晶片廠商 6
3.4 本書智慧型路由硬體 7
3.4.1 本書硬體的由來 7
3.4.2 MT7620晶片 7
3.4.3 MR808開發板簡述 8
3.4.4 AXWRT系統 11
第4章 智慧型路由開發環境搭建 12
4.1 小企鵝的力量 12
4.2 準備學習工具 13
4.3 安裝VirtualBox虛擬機 13
4.4 在虛擬機中安裝Centos 17
4.4.1 創建新虛擬主機 17
4.4.2 配置新虛擬機 18
4.4.3 安裝Centos系統 20
4.5 SSH遠程登錄 23
4.5.1 SSH的作用 23
4.5.2 啟動網卡 23
4.5.3 查看當前IP 24
4.5.4 SSH連線 24
4.6 WinSCP檔案傳輸 25
4.6.1 SCP協定 25
4.6.2 安裝WinSCP客戶端 26
4.6.3 創建到Linux的連線 28
4.6.4 檔案傳輸 29
第5章 基本知識 30
5.1 向系統下達命令 30
5.2 時間命令 30
5.2.1 查看當前日期 30
5.2.2 查看當前日曆 31
5.3 關機和重啟 31
5.3.1 立即安全關閉系統 31
5.3.2 重新啟動系統 31
5.3.3 強制將快取寫入存儲器 31
5.4 許可權機制 31
5.4.1 檔案許可權 32
5.4.2 所有者 32
5.4.3 檔案容量 32
5.4.4 檔案日期 32
5.4.5 執行檔 32
5.4.6 隱含檔案 33
5.4.7 修改所有人 33
5.4.8 修改所有組 33
5.4.9 修改檔案許可權 34
5.5 檔案與管理 34
5.5.1 路徑概念 34
5.5.2 特殊 35
5.5.3 變換 35
5.5.4 查看當前所在是哪個 35
5.5.5 創建 36
5.5.6 刪除 36
5.5.7 列表檔案和 36
5.5.8 複製檔案或 37
5.5.9 刪除檔案或整個 38
5.5.10 移動或更名 38
5.6 檔案分析 39
5.6.1 查看檔案內容 39
5.6.2 分行查看 39
5.6.3 查看檔案後幾行 39
5.6.4 查看啟動信息 40
5.7 更多指令 40
5.8 Vi編輯器 40
5.8.1 Vi介紹 40
5.8.2 Vi的命令 40
5.8.3 Vi的3個狀態 41
5.8.4 Vi編輯操作 41
5.9 基礎Shell編程 43
5.9.1 何為Shell編程 43
5.9.2 Shell的運行方式 44
5.9.3 Hello World! 44
5.9.4 變數 44
5.9.5 運算符 47
5.9.6 注釋語法 53
5.9.7 字元串 54
5.9.8 條件判斷 54
5.9.9 循環表達 56
5.9.10 輸入/輸出重定向 58
5.9.11 使用黑洞,一勞永逸 59
第6章 OpenWrt刷機 61
6.1 通過串口進入系統 61
6.1.1 操作板子注意事項 61
6.1.2 連線串口步驟 61
6.2 認識U-Boot 63
6.3 U-Boot的TFTP刷機 64
6.3.1 TFTP的準備 64
6.3.2 TFTP刷機流程 65
6.3.3 可能遇到的問題 67
6.4 U-Boot的Web刷機 67
6.4.1 觸發按鈕準備 67
6.4.2 可能遇到的問題 69
第7章 分區、外網與OPKG 70
7.1 了解分區 70
7.1.1 查看系統MTD分配 72
7.1.2 查看系統MTD的分區 72
7.1.3 將非檔案系統分區讀出來 72
7.2 檔案系統 73
7.2.1 透明掛載/根 73
7.2.2 基本系統演示 74
7.2.3 第 一次接入網路 75
7.3 軟體包管理OPKG 77
7.3.1 OPKG語法格式 77
7.3.2 軟體包的核心依賴問題 78
7.3.3 OPKG的配置 78
7.3.4 關於OPKG軟體包 79
第8章 UCI命令系統 80
8.1 UCI命令 80
8.2 UCI的檔案和流程 80
8.3 UCI的檔案語法 81
8.3.1 config節點語法格式 81
8.3.2 option選項語法格式 82
8.3.3 list列表選項語法格式 82
8.3.4 UCI的語法容錯 82
8.3.5 UCI無法容忍的語法 82
8.4 UCI命令讀寫配置 82
8.4.1 讀取類語法 83
8.4.2 寫入類語法 83
8.5 綜合實例 84
8.5.1 語法測試 85
8.5.2 舉例開啟Wi-Fi 86
第9章 智慧型路由配置 88
9.1 網路配置檔案 88
9.1.1 查看網路配置 88
9.1.2 查看當前網路 89
9.1.3 查看br-lan橋狀態 90
9.1.4 查看核心日誌 91
9.1.5 網口VLAN 91
9.2 配置WAN口外網 91
9.2.1 動態獲取IP選項 92
9.2.2 靜態IP語法 92
9.2.3 PPPOE撥接語法 93
9.2.4 WAN口設定 94
9.2.5 WAN口設定 94
9.3 配置LAN口服務 95
9.4 配置無線網路 97
9.4.1 無線查看命令 99
9.4.2 實現無線中繼 99
9.5 DHCP服務 102
9.6 如何連線外網 105
第 10章 防火牆與UPnP 106
10.1 防火牆命令 106
10.2 防火牆配置 106
10.2.1 defaults默認配置 107
10.2.2 zone域配置 107
10.2.3 forwarding轉發配置 108
10.2.4 rule規則 109
10.2.5 direction連線埠轉發 110
10.3 實現UPnP 111
10.3.1 安裝UPnP 111
10.3.2 配置UPnP 112
10.3.3 UPnP命令 114
第 11章 時區、服務、SSH與SCP 115
11.1 信息和時區 115
11.2 服務管理 118
11.3 SSH遠程登錄 118
11.3.1 SSH配置 118
11.3.2 SSH登錄 119
11.4 SCP檔案複製 121
11.4.1 安裝SCP客戶端 121
11.4.2 SCP操作 123
第 12章 存儲器擴展 124
12.1 實現原理 124
12.2 存儲器選型 124
12.3 初始化存儲器 125
12.3.1 存儲器軟體包 125
12.3.2 識別存儲器 126
12.3.3 存儲器分區 126
12.3.4 存儲器格式化 128
12.4 存儲器擴容設定 129
12.4.1 rootfs_data數據遷移 129
12.4.2 獲得存儲器UUID 130
12.4.3 自動掛載配置 130
12.4.4 存儲區自動掛載 132
12.4.5 swap交換區自動掛載 133
12.4.6 關於掛載的注意事項 134
第 13章 網路存儲與檔案共享 135
13.1 Windows檔案共享實現 135
13.1.1 創建資料夾/pub 135
13.1.2 安裝Samba 135
13.1.3 Samba配置說明 135
13.1.4 配置共享 137
13.1.5 Windows連線方法 137
13.2 FTP檔案共享實現 139
13.2.1 安裝Pure-FTPD 139
13.2.2 Pure-FTPD配置說明 139
13.2.3 配置Pure-FTPD 140
13.2.4 創建FTP賬戶 141
13.2.5 FTP穿越防火牆 142
13.2.6 WinSCP做FTP客戶端 143
13.2.7 瀏覽器作FTP客戶端 144
第 14章 智慧型路由器媒體中心 145
14.1 USB音效卡驅動支持 145
14.1.1 媒體播放條件 145
14.1.2 選擇合適的USB音效卡 145
14.1.3 安裝音效卡驅動 145
14.1.4 設定默認音量 146
14.1.5 用命令行播放MP3 147
14.2 安卓手機遠程播放音樂 147
14.2.1 MP介紹 147
14.2.2 安裝MPD服務 148
14.2.3 安卓系統安裝客戶端 151
14.2.4 關於安卓手機播放音樂 153
14.3 DLNA數字媒體伺服器 153
14.3.1 DLNA介紹 154
14.3.2 安裝配置MiniDLNA 154
14.3.3 Inotify與overlay的衝突 156
14.3.4 啟動服務 157
14.3.5 DLNA客戶端 157
14.3.6 DLNA其他功能 159
14.4 蘋果AirPlay播放音樂 159
14.4.1 AirPlay介紹 159
14.4.2 安裝與配置Shairport 159
14.4.3 輔助配置和檢查 161
14.4.4 使用終端播放 162
第 15章 智慧型路由器編程工具 163
15.1 Web+PHP建站系統 163
15.1.1 PHP語言 163
15.1.2 Web服務 164
15.1.3 PHP測試代碼 167
15.2 SQLite3與MySQL資料庫套用 169
15.2.1 SQLite3資料庫 169
15.2.2 MySQL資料庫 173
15.3 Python、Lua與Ruby編程工具 174
15.3.1 Python 174
15.3.2 Lua 175
15.3.3 Ruby 175
第 16章 智慧型路由器服務軟體 177
16.1 VPN(PPTP)伺服器與
客戶端 177
16.1.1 PPTP協定VPN伺服器 177
16.1.2 PPTP協定VPN客戶端 181
16.2 USB攝像頭 183
16.2.1 USB攝像頭準備 183
16.2.2 MJPG-streamer 184
16.2.3 瀏覽器訪問 186
16.3 迅雷遠程下載 187
16.3.1 迅雷遠程下載條件 187
16.3.2 迅雷遠程下載 190
16.4 WiFiDog廣告路由器 192
16.4.1 WiFiDog功能服務 192
16.4.2 WiFiDog驗證界面 195
第 17章 編譯定製OpenWrt固件 197
17.1 OpenWrt編譯環境 197
17.1.1 編譯與交叉編譯 197
17.1.2 AxWRT與OpenWrt的
關係 198
17.1.3 OpenWrt的版本關係 199
17.1.4 準備編譯環境 199
17.2 OpenWrt固件生成 200
17.2.1 編譯流程 200
17.2.2 獲取AxWRT原始碼 200
17.2.3 獲取軟體包原始碼 201
17.2.4 OpenWrt選單選項配置 201
17.2.5 編譯固件 203
17.2.6 清理編譯 204
17.2.7 編譯完成 204
17.3 OpenWrt源碼預設 205
17.3.1 Feeds源 205
17.3.2 OPKG自定義軟體倉庫 206
17.3.3 預設編譯參數檔案 206
17.3.4 OpenWrt資料夾的作用 206
17.3.5 Target/Linux下平台預設檔案 207
17.4 OpenWrt官方版編譯 208
17.4.1 關於編譯 208
17.4.2 關於硬體支持 209
第 18章 編譯定製IPK軟體包 210
18.1 IPK軟體包與OPKG命令 210
18.2 IPK軟體包規範 210
18.2.1 Makefile格式與流程 211
18.2.2 PKG_*任務的作用 212
18.2.3 定義Build/*的作用 213
18.2.4 定義Package/*的作用 213
18.2.5 IPK軟體包補充說明 214
18.3 簡易軟體包mytest 215
18.3.1 mytest軟體包的製作 215
18.3.2 mytest調試 216
18.3.3 下載測試 217
18.4 軟體包示例xware 218
18.5 軟體包示例shairport 219
第 19章 智慧型路由器外設套用實例 221
19.1 OpenWrt的硬體支持 221
19.1.1 DTS設備樹 221
19.1.2 GPIO匯流排 223
19.2 OpenWrt對LED驅動的支持 224
19.2.1 LED電路設計 224
19.2.2 手動測試LED 224
19.2.3 將LED註冊為系統標準LED 225
19.2.4 LED設定心跳功能 226
19.2.5 將LED設定為WAN口狀態 226
19.3 OpenWrt對按鈕驅動的支持 226
19.3.1 按鈕電路設計 226
19.3.2 手動測試按鈕 227
19.3.3 將按鈕註冊為系統按鈕 228
19.3.4 編寫腳本檢測按鈕時長 228
19.4 OpenWrt對繼電器驅動的支持 229
19.4.1 繼電器電路設計 229
19.4.2 手動測試繼電器 230

熱門詞條

聯絡我們