開發openwrt,除了需要懂linux外,還需要哪些技能?
01-21
開發openwrt做wifi 認證系統,包括微信、微博登錄和一個商家後台
謝邀
我是個木匠,計算機方面根本啥也不懂,既然你邀請了,那我就「如何學習openwrt」歪樓的方式回答你吧。OpenWrt中文視頻教程(YouTube,請自備梯子)視頻來自報到台灣的OpenWrt大牛- 蔡志展 chihchun: mesh network on openwrt
- 林智斌 macpaul: port wifi router to openwrt
- 蔡政崇 wtsai: batman on openwrt
[COSCUP 2007] 嵌入式系統
- (1/2) http://www.youtube.com/watch?v=C__hV6TZRw8list=PLB435557BA4B4BF0D
- (2/2)http://www.youtube.com/watch?v=z7EfCGuyxUUlist=PLB435557BA4B4BF0D
- (1/3) http://www.youtube.com/watch?v=kBK5TQlAnA4
- (2/3) http://www.youtube.com/watch?v=vFNoKFSZI1w
- (3/3) http://www.youtube.com/watch?v=ChINHc6zcWA
- http://www.youtube.com/watch?v=EiK3tsz6Cco
COSCUP 2010: Porting a New Architecture to OpenWrt Project
- http://www.youtube.com/watch?v=R81hMuiepsc
- http://www.right.com.cn/forum/
- http://bbs.hiwifi.com/home/
- http://anywlan.com/
- http://bbs.cisco-club.com.cn/
- 寬頻技術網 - Powered by ChinAdsl.Net
國外
- OpenWrt官方論壇 https://forum.openwrt.org/
- dd-wrt官方論壇 http://www.dd-wrt.com/phpBB2/
- netgear-myopenrouter http://www.myopenrouter.com/
- Gargoyle-石像鬼 https://www.gargoyle-router.com/phpbb/index.php
- PirateBox Forum http://forum.daviddarts.com/
- wiki
- 編譯
- 開發
- Refs
- Documentation
編譯
- http://downloads.openwrt.org/docs/buildroot-documentation.html#about
- 工具鏈
- 編譯準備
- 編譯
- 添加feeds
- Image Builder
- SDK
- Rootfs on External Storage (extroot) (1/2)
- Rootfs on External Storage (extroot) (2/2)
- wireless router which is connected to either a wired, a wireless or a 3G wireless connection
- How to Build a Single Package
開發
- Cross Compile
- 外部編譯器設置-(1/3)
- 外部編譯器設置-(2/3)
- 外部編譯器設置-(3/3)
- Creating packages
- Feeds
- Using Dependencies
- How To Submit Patches to OpenWrt
- External Toolchain - Use OpenWrt as External Toolchain (1/2)
- External Toolchain - Use OpenWrt as External Toolchain (2/2)
- http://blog.csdn.net/openme_openwrt/article/details/7348452
Lua
還有Lua,openwrt的WEB管理界面是基於這個語言,- LuCI官網: LuCI
- openwrt-luci技術文檔: http://wiki.openwrt.org/doc/techref/luci
- luci翻譯項目: https://luci.subsignal.org/pootle/zh_CN/luci/
- 中文視頻教程:專輯:講Lua的cocos2d-x進階教程
————————————————————分割線——————————
你是想用開發一個基於openwrt系統的WIFI WEB認證,然後微信,微博登錄,以及一個商家管理系統是吧?目前比較主流的WiFi WEB認證的有開源的WIFIDOG WiFiDog 你可查閱一下WIFIDOG協議,沒有必要再造一個輪子。已經有網友有基於WIFIDOG做好的認證系統,你可以參考一下ApFree/wifidog_v2_authserver_demo · GitHub認證登錄微博開放平台目前Java ,PHP,C#,Flash,Python,Javascript,Android及iOS 支持新版介面及OAuth2.0,其餘僅支持舊版介面,考慮到你還需要商家管理系統以及與WiFidog銜接,建議使用PHP。不單單只是Linux,你所說如果真的需要商業化投入運營的話,涉及到的計算機語言知識以及嵌入式硬體相關,還有後期的維護和穩定性,會是一個比較龐大的項目。建議外包給方案商。但是如果只是興趣愛好,可以自己學習,當你學習上文所有內容,並且全部搞懂了的話,構建這麼一個系統對於你來說已經很簡單了。——————————————分割線————————
回答完畢,希望給個贊。和樓主的方向不太相同,折騰OpenWrt純粹興趣。
從個人學習OpenWrt的角度,除了需要linux的相關知識,還需要對路由器這種嵌入式設備的結構有一定了解,另外一個比較重要的是計算機網路原理。關於路由器硬體結構,可以看看《跟hoowa學做智能路由》著一些列的文章
連接:孫冰 | 雷鋒網文章前幾篇對路由器這種嵌入式硬體,以及OpenWrt的底層實現講解的不錯。關於計算機網路原理,可以看看ITerCast當年的CCNA教程
連接:【搬運】Itercast課程一層一層的講解計算機網路原理,我現在已經能充當交換機防火牆的人肉模擬器了(捂臉硬體方面對了解OpenWrt系統的引導刷機很有幫助
網路原理方面對了解OpenWrt對網路配置的抽象、尤其是手動自定義網路方面很有幫助。正在學習openwrt,如果有什麼不好的,求輕噴。個人認為,首先linux就是一個範圍很廣的知識面,基本的命令行操作是要懂的。而且在openwrt上會比較頻繁地使用一些網路工具,比如iptables之類的,這些常用的命令配置還是記多一點好。另外,最好能養成命令行配置的習慣,爭取先不用web配置,嘗試用uci或者vim編輯文件。哦對了,還有燒寫bin和基本的編譯也要學會,也要掌握shell編程。如果有了前面提到的能力我覺得差不多就可以開發了,那就學linux c編程吧,《unix網路編程》和《unix環境高級編程》要啃。詳細地看一遍github上openwrt的項目工程,Makefile一定要會,有時候可能要改改dts。做到前面的大概能寫ipk還有寫鏡像了。本人對內核了解不多,就只有這些愚見。
嵌入式編程
系統封裝openwrt各種軟體的參數用法要做認證你就必須要知道iptables的各種用法
認證系統除了wifidog還有nodogsplashIndex of /nodogsplash輕量級,可以用來入手學習認證過程。
微博登錄一般用到OAuth2.0微博登錄_新浪微博開放平台微信登錄,現在解決方案一般是,用戶先添加公眾號,再像公眾索取動態密碼。最後在認證頁面輸入。(感覺很繁瑣,不知道誰有更好的反感)微信公眾平台開發者文檔商家後台那就是建站咯PHP+MYSQL+一點伺服器知識有直接的固件可以用,叫小博無線,直接用他的固件就可以達到這些功能!
可以開發內核模塊,自己實現portal推送和認證
推薦閱讀:
※像爐石傳說這類的依賴隨機的電子遊戲,有沒有可能並不是「隨機」的?
※什麼叫過採樣率技術?它的原理跟作用是什麼?市面上有沒有運用此技術的設備,它的作用過程跟最大特點是什麼?另外這樣的設備需要什麼樣的軟硬體環境?大家如果嫌問題太多也可以把相關鏈接給我,我自己搜,謝謝各位!
※生活中有哪些東西讓你感嘆:現在的人真聰明?
※為什麼上世紀六十年代人類就能登月,但卻造不出彩屏手機、大容量內存等一些在今天很常見的東西?
※如何評價父母說銷售人員永遠比技術人員更容易掙到更多的說法?