産品特色
編輯推薦
極企科技聯閤創始人力作
OpenWrt社區經理Gregers Petersen親自推薦
本書主要從OpenWrt這個係統的角度來介紹,但書中內容不局限於路由器本身,通過閱讀本書,讀者可以掌握智能傢居、智能玩具、工業控製等各類不同設備的玩法。
內容簡介
本書匯集瞭各類基於OpenWrt係統的路由器、物聯網、智能傢居方嚮的技能和行業內知名企業的技術經驗。本書區彆於傳統嵌入式係統書籍,並沒有一上來介紹那些晦澀的軟硬件知識,本書所介紹的內容門檻更低,更適閤讀者循序漸進地完成學習。書中使用更輕鬆的錶達方式,讓讀者開開心心便可以完成智能路由器的開發。
由於路由器大量采用瞭開源操作係統,哥倫比亞大學法學院教授Eben Moglen嚮路由器廠商提齣瞭開源路由器係統部分的要求,這樣,2004年OpenWrt誕生瞭White Russian版,之後每一兩年便發布一個新的版本。現今,OpenWrt係統在智能路由器行業已是事實性標準,大量的芯片廠商及路由器廠商(包括小米、極路由、極企科技等知名互聯網科技企業)均采用該係統作為路由器或智能傢居控製中心,即使宣稱沒有使用OpenWrt的廠商,也多是在該係統基礎之上進行瞭業務定製。
OpenWrt作為開源組織采取鬆散管理,很難找到一份比較係統的專業技術文檔用於愛好者學習。因此2012年由hoowa發起、眾多技術“大神”參與的“跟hoowa學智能路由”在綫培訓開始啓航,本書所有內容均原滋原味來源於此。本書遵循“學中做,做中學”的理念,將內容分為19章,讀者可以跟著本書內容,邊學邊做,終完成一個智能路由器的開發。
本書主要從OpenWrt這個係統的角度來介紹,但書中內容不局限於路由器本身,通過閱讀本書,讀者可以掌握智能傢居、智能玩具、工業控製等各類不同設備的玩法。本書適閤計算機或電子類相關學生、從事IT行業的人員、智能設備或OpenWrt係統的發燒友、各智能設備廠商員工閱讀。
作者簡介
孫冰
1982年齣生於遼寜省營口市。從小學4年級開始接觸互聯網,作為首批中國互聯網弄潮兒,2001年隻身到中關村從事Unix/Linux係統開發。2003年成立Perl語言中國協會,緻力於Perl語言推廣工作,在CSDN開設開源專傢博客。2008年創建中國開源語音通信項目Freeiris。極企科技聯閤創始人、GLG集團專傢顧問、雷鋒網專欄撰稿人。
王偉
副教授。自2009年起,主要從事嵌入式係統軟硬件開發相關教學與科研工作,近年來發錶中外文學術論文十餘篇,齣版嵌入式係統開發相關書籍一部,翻譯著作一部。多次指導學生參加省級及國jia級專業競賽,取得優異成績。從事嵌入式Linux、單片機相關教學工作多年,有較豐富的嵌入式開發經驗。
劉龍
副教授。東北師範大學畢業,自2005年起從事嵌入式Linux係統研究以來,發錶中文核心級彆以上論文十餘篇,參與或主持橫縱嚮項目5項,帶領學生取得國jia級比賽奬項若乾。從事嵌入式Linux方麵教學工作多年,曾設計過多款嵌入式産品,具有較豐富的係統開發經驗。
目錄
第 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
OpenWrt智能路由係統開發 跟hoowa學智能路由 下載 mobi epub pdf txt 電子書
評分
☆☆☆☆☆
好書,慢慢看,對我而言是好書
評分
☆☆☆☆☆
震撼消息!在愛好者忍無可忍的耐心等待下,“跟hoowa學做智能路由”迎來瞭新華書店,京東,~,當當同步上市啦。雖說內容淺顯,但每一個字都是手打齣來的,絕無復製粘貼,並且反復試驗確認功能,終歸是遵守瞭3年前的承諾完成本書。hoowa寫書就希望與彆人分享技術。從路由班一期入坑開始,就一直在沿著hoowa指引的智能路由之路走下去,值值值!
評分
☆☆☆☆☆
有點淺顯,入門級
評分
☆☆☆☆☆
作者是個牛人,書是好書,我覺得值得擁有。
評分
☆☆☆☆☆
震撼消息!在愛好者忍無可忍的耐心等待下,“跟hoowa學做智能路由”迎來瞭新華書店,京東,~,當當同步上市啦。雖說內容淺顯,但每一個字都是手打齣來的,絕無復製粘貼,並且反復試驗確認功能,終歸是遵守瞭3年前的承諾完成本書。hoowa寫書就希望與彆人分享技術。從路由班一期入坑開始,就一直在沿著hoowa指引的智能路由之路走下去,值值值!
評分
☆☆☆☆☆
作為作者本人。。其實稿費都用來買書送給朋友門瞭。這本書齣自的內容發自2014年在雷鋒網進行的路由發布計劃。經過3年的工作,2017年底正式結稿。書中內容由淺入深,經過1000多學員的實踐。其實吧,也不夠深入。就算一本入門的好書吧。請大傢多給評價,以便更多的人可以關注到這本書!
評分
☆☆☆☆☆
不錯,很有深度的工具書。紙張印刷挺好。
評分
☆☆☆☆☆
這是一本讓你從零學會路由器開發的書,居我所知很多路由器廠商的開發攻城獅是hoowa的學生
評分
☆☆☆☆☆
內容詳實,物流很快,商品包裝嚴實