OpenWrt智能路由系統開發


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 手動測試繼電器

思維導圖

OpenWrt智能路由系統開發

防止博客圖床圖片失效,防止圖片源站外鏈:

http://www.processon.com/chart_image/5e5b4a88e4b03627650b2b9a.png)

思維導圖在線編輯鏈接:

https://www.processon.com/view/5e5b4a88e4b03627650b2b97


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM