OpenWrt智能路由系統開發
OpenWrt社區對中國開發者寄語
1 路由器概述
1.1 傳統路由器
1.2 智能路由器
1.3 傳統路由器與智能路由器的區別
2 OpenWrt介紹
2.1 什么是OpenWrt
2.2 哪些產品用了OpenWrt
2.3 OpenWrt是如何支持路由器CPU的
3 智能路由器硬件
3.1 MIPS架構
3.2 國內常見路由器的配置
3.3 常見路由器芯片廠商
3.4 本書智能路由硬件
3.4.1 本書硬件的由來
3.4.2 MT7620芯片
3.4.3 MR808開發板簡述
3.4.4 AxWRT系統
4 智能路由開發環境搭建
4.1 小企鵝的力量
4.2 准備學習工具
4.3 安裝VirtualBox虛擬機
4.4 在虛擬機中安裝Centos
4.4.1 創建新虛擬主機
4.4.2 配置新虛擬機
4.4.3 安裝Centos系統
4.5 SSH遠程登錄
4.5.1 SSH的作用
4.5.2 啟動網卡
4.5.3 查看當前IP
4.5.4 SSH連接
4.6 WinSCP文件傳輸
4.6.1 SCP協議
4.6.2 安裝WinSCP客戶端
4.6.3 創建到Linux的連接
4.6.4 文件傳輸
5 基本知識
5.1 向系統下達命令
5.2 時間命令
5.2.1 查看當前日期
5.2.2 查看當前日歷
5.3 關機和重啟
5.3.1 立即安全關閉系統
5.3.2 重新啟動系統
5.3.3 強制將緩存寫入存儲器
5.4 權限機制
5.4.1 文件權限
5.4.2 所有者
5.4.3 文件容量
5.4.4 文件日期
5.4.5 可執行文件
5.4.6 隱含文件
5.4.7 修改所有人
5.4.8 修改所有組
5.4.9 修改文件權限
5.5 文件與目錄管理
5.5.1 路徑概念
5.5.2 特殊目錄
5.5.3 變換目錄
5.5.4 查看當前所在目錄是哪個
5.5.5 創建目錄
5.5.6 刪除目錄
5.5.7 列表文件和目錄
5.5.8 復制文件或目錄
5.5.9 刪除文件或整個目錄
5.5.10 移動或更名
5.6 文件分析
5.6.1 查看文件內容
5.6.2 分行查看
5.6.3 查看文件最后幾行
5.6.4 查看啟動信息
5.7 更多指令
5.8 Vi編輯器
5.8.1 Vi介紹
5.8.2 Vi的命令
5.8.3 Vi的3個狀態
5.8.4 Vi編輯操作
5.9 基礎Shell編程
5.9.1 何為Shell編程
5.9.2 Shell的運行方式
5.9.3 Hello World!
5.9.4 變量
5.9.5 運算符
5.9.6 注釋語法
5.9.7 字符串
5.9.8 條件判斷
5.9.9 循環表達
5.9.10 輸入/輸出重定向
5.9.11 使用黑洞,一勞永逸
6 OpenWrt刷機
6.1 通過串口進入系統
6.1.1 操作板子注意事項
6.1.2 連接串口步驟
6.2 認識U-Boot
6.3 U-Boot的TFTP刷機
6.3.1 TFTP的准備
6.3.2 TFTP刷機流程
6.3.3 可能遇到的問題
6.4 U-Boot的Web刷機
6.4.1 觸發按鈕准備
6.4.2 可能遇到的問題
7 分區、外網與OPKG
7.1 了解分區
7.1.1 查看系統MTD分配
7.1.2 查看系統MTD的分區
7.1.3 將非文件系統分區讀出來
7.2 文件系統
7.2.1 透明掛載/根目錄
7.2.2 基本系統演示
7.2.3 第一次接入網絡
7.3 軟件包管理OPKG
7.3.1 OPKG語法格式
7.3.2 軟件包的內核依賴問題
7.3.3 OPKG的配置
7.3.4 關於OPKG軟件包
8 UCI命令系統
8.1 UCI命令
8.2 UCI的文件和流程
8.3 UCI的文件語法
8.3.1 config節點語法格式
8.3.2 option選項語法格式
8.3.3 list列表選項語法格式
8.3.4 UCI的語法容錯
8.3.5 UCI無法容忍的語法
8.4 UCI命令讀寫配置
8.4.1 讀取類語法
8.4.2 寫入類語法
8.5 綜合實例
8.5.1 語法測試
8.5.2 舉例開啟Wi-Fi
9 智能路由配置
9.1 網絡配置文件
9.1.1 查看網絡配置
9.1.2 查看當前網絡
9.1.3 查看br-lan橋狀態
9.1.4 查看內核日志
9.1.5 網口VLAN
9.2 配置WAN口外網
9.2.1 動態獲取IP選項
9.2.2 指定靜態IP語法
9.2.3 PPPOE撥號上網語法
9.2.4 WAN口設置
9.2.5 WAN口設置
9.3 配置LAN口服務
9.4 配置無線網絡
9.4.1 無線查看命令
9.4.2 實現無線中繼
9.5 DHCP服務
9.6 如何連接外網
10 防火牆與UPnP
10.1 防火牆命令
10.2 防火牆配置
10.2.1 defaults默認配置
10.2.2 zone域配置
10.2.3 forwarding轉發配置
10.2.4 rule規則
10.2.5 direction端口轉發
10.3 實現UPnP
10.3.1 安裝UPnP
10.3.2 配置UPnP
10.3.3 UPnP命令
11時區、服務、SSH與SCP
11.1 信息和時區
11.2 服務管理
11.3 SSH遠程登錄
11.3.1 SSH配置
11.3.2 SSH登錄
11.4 SCP文件復制
11.4.1 安裝SCP客戶端
11.4.2 SCP操作
12 存儲器擴展
12.1 實現原理
12.2 存儲器選型
12.3 初始化存儲器
12.3.1 存儲器軟件包
12.3.2 識別存儲器
12.3.3 存儲器分區
12.3.4 存儲器格式化
12.4 存儲器擴容設置
12.4.1 rootfs_data數據遷移
12.4.2 獲得存儲器UUID
12.4.3 自動掛載配置
12.4.4 存儲區自動掛載
12.4.5 swap交換區自動掛載
12.4.6 關於掛載的注意事項
13 網絡存儲與文件共享
13.1 Windows文件共享實現
13.1.1 創建文件夾/pub
13.1.2 安裝Samba
13.1.3 Samba配置說明
13.1.4 配置共享目錄
13.1.5 Windows連接方法
13.2 FTP文件共享實現
13.2.1 安裝Pure-FTPD
13.2.2 Pure-FTPD配置說明
13.2.3 配置Pure-FTPD
13.2.4 創建FTP賬戶
13.2.5 FTP穿越防火牆
13.2.6 WinSCP做FTP客戶端
13.2.7 瀏覽器作FTP客戶端
14 智能路由器媒體中心
14.1 USB聲卡驅動支持
14.1.1 媒體播放必備條件
14.1.2 選擇合適的USB聲卡
14.1.3 安裝聲卡驅動
14.1.4 設置默認音量
14.1.5 用命令行播放MP3
14.2 安卓手機遠程播放音樂
14.2.1 MP介紹
14.2.2 安裝MPD服務
14.2.3 安卓系統安裝客戶端
14.2.4 關於安卓手機播放音樂
14.3 DLNA數字媒體服務器
14.3.1 DLNA介紹
14.3.2 安裝配置MiniDLNA
14.3.3 Inotify與overlay的沖突
14.3.4 啟動服務
14.3.5 DLNA客戶端
14.3.6 DLNA其他功能
14.4 蘋果AirPlay播放音樂
14.4.1 AirPlay介紹
14.4.2 安裝與配置Shairport
14.4.3 輔助配置和檢查
14.4.4 使用終端播放
15 智能路由器編程工具
15.1 Web+PHP建站系統
15.1.1 PHP語言
15.1.2 Web服務
15.1.3 PHP測試代碼
15.2 SQLite3與MySQL數據庫應用
15.2.1 SQLite3數據庫
15.2.2 MySQL數據庫
15.3 Python、Lua與Ruby編程工具
15.3.1 Python
15.3.2 Lua
15.3.3 Ruby
16 智能路由器服務軟件
16.1 VPN(PPTP)服務器與客戶端
16.1.1 PPTP協議VPN服務器
16.1.2 PPTP協議VPN客戶端
16.2 USB攝像頭
16.2.1 USB攝像頭准備
16.2.2 MJPG-streamer
16.2.3 瀏覽器訪問
16.3 迅雷遠程下載
16.3.1 迅雷遠程下載條件
16.3.2 迅雷遠程下載
16.4 WiFiDog廣告路由器
16.4.1 WiFiDog功能服務
16.4.2 WiFiDog驗證界面
17 編譯定制OpenWrt固件
17.1 OpenWrt編譯環境
17.1.1 編譯與交叉編譯
17.1.2 AxWRT與OpenWrt的關系
17.1.3 OpenWrt的版本關系
17.1.4 准備編譯環境
17.2 OpenWrt固件生成
17.2.1 編譯流程
17.2.2 獲取AxWRT源代碼
17.2.3 獲取軟件包源代碼
17.2.4 OpenWrt菜單選項配置
17.2.5 編譯固件
17.2.6 清理編譯
17.2.7 編譯完成
17.3 OpenWrt源碼預設
17.3.1 Feeds源
17.3.2 OPKG自定義軟件倉庫
17.3.3 預設編譯參數文件
17.3.4 OpenWrt文件夾的作用
17.3.5 Target/Linux下平台預設文件
17.4 OpenWrt官方版編譯
17.4.1 關於編譯
17.4.2 關於硬件支持
18 編譯定制IPK軟件包
18.1 IPK軟件包與OPKG命令
18.2 IPK軟件包規范
18.2.1Makefile格式與流程
18.2.2 PKG_*任務的作用
18.2.3 定義Build/*的作用
18.2.4 定義Package/*的作用
18.2.5 IPK軟件包補充說明
18.3 簡易軟件包mytest
18.3.1 mytest軟件包的制作
18.3.2 mytest調試
18.3.3 下載測試
18.4 軟件包示例xware
18.5 軟件包示例shairport
19 智能路由器外設應用實例
19.1 OpenWrt的硬件支持
19.1.1 DTS設備樹
19.1.2 GPIO總線
19.2 OpenWrt對LED驅動的支持
19.2.1 LED電路設計
19.2.2 手動測試LED
19.2.3 將LED注冊為系統標准LED
19.2.4 LED設置心跳功能
19.2.5 將LED設置為WAN口狀態
19.3 OpenWrt對按鈕驅動的支持
19.3.1 按鈕電路設計
19.3.2 手動測試按鈕
19.3.3 將按鈕注冊為系統按鈕
19.3.4 編寫腳本檢測按鈕時長
19.4 OpenWrt對繼電器驅動的支持
19.4.1 繼電器電路設計
19.4.2 手動測試繼電器
思維導圖
防止博客圖床圖片失效,防止圖片源站外鏈:
http://www.processon.com/chart_image/5e5b4a88e4b03627650b2b9a.png)
思維導圖在線編輯鏈接: