60元DIY售价600元的Arduino Yun
Arduino Yun可以理解為是一款具備無線功能的Arduino Leonardo板,使用了高集成的低端Atheros AR9331芯片。這個人見人愛的芯片,被用在了TP-Link及其馬甲品牌的諸多路由器上,其中水星的MW150R路由器,成本更是低到了4X元人民幣。當然了,這個AR9331芯片詳細的應用電路圖,其實早已經隨著TP-Link WR703N路由的普及被開源了。
順帶提一句,這個AR9331芯片,早期還被用到了那個被熱炒的/饑餓營銷的/前期價格269元人民幣的極路由上。另外需要吐槽的是,Arduino Yun這個板子,官方并沒有真正開源,官網上只有電路框架圖,而沒有真正的電路圖。Arduino Yun AR9331部分使用的是開源OpenWrt的衍生版本linino,而使用AR9331的路由器,OpenWrt已經支持得很好了。
Arduino Yun既然是用的leonardo+AR9331方案,當然也就有了被“山寨”的可能性。可以使用Arduino的板子+AR9331方案的路由器來進行DIY。
Arduino Yun官方的售價是52歐元,國內也有代理在賣,差不多在500元人民幣左右。我1月初從國外代購了一塊,拿到手價格不到600元,年前(1月21號)終于收到貨了。
先上Arduino Yun的圖片:
Arduino Yun BOX
Arduino Yun Front
Arduino Yun Bottom
Arduino Yun bare Board
年前1月21日收到的,馬上脫光拍照片:
Arduino Yun AR9331-AL1A
Arduino Yun 64MB DDR II
Arduino Yun 16MB SPI FLASH
Arduino Yun USB hub and multimedia card reader controller
Arduino Yun AVR Chip
Arduino Yun與WR703N在AR9331電路部分最主要的區別就是前者使用了DDR II內存,而WR703N使用的是DDR內存。使用編程器將Arduino Yun的Flash固件讀出來,在WINHEX里跟WR703N的固件對比了一下,U-BOOT/Kernel/ROOTFS/ART等區域完全不一樣了。
由于Yun使用了DDR II內存,可想而知,固件里很多部分都不一樣。將Yun的固件寫到16MB的Flash里放到WR703N上,如之前所分析的,理所當然,根本沒法啟動。
為什么是MW150R而不是WR703N?
MW150R是水星的一款低端家用路由,在京東上賣48元,現在的版本是V10.1,與最早的版本相比,Flash和內存及供電部分基本都已經簡化到最簡了。現在的配置是1MB SPI Flash、8MB DDR內存、5V供電,AR9331的USB沒有引出來(MW150R3G有USB接口)。
由于Arduino已經有現成的TF/SD讀卡方案,因此我個人覺得沒必要再增加USB轉TF或SD的方案,那樣無疑會增加硬件的成本。WR703N與MW150R的主要區別是前者引出了USB接口,便攜設計,MW150R沒有USB接口。TP-Link WR703N及其馬甲系列水星MW151RM3G/迅捷FW171-3G價格大于85元。
由于產品買過來都要改Flash及內存,基于功能及價格的考慮,自然是選擇便宜的。
先上圖:
Mercury MW150R PCB
Mercury MW150R no SPI FLASH
Mercury MW150R 1MB SPI FLASH
Mercury MW150R 8MB DDR
Mercury MW150R AR9331-AL3A
下面就是開始HACK了:
Mercury MW150R leading out TTL
Mercury MW150R 64MB DDR
Mercury MW150R 16MB SPI FLASH
Flash部分沒有清理焊膏,天線接線直接去掉了,一是由于試驗時經常要用編程器重寫Flash,二是在幾米的范圍內不用接外置天線信號就非常好,這種mW級的,功率小,駐波再大也沒什么,不用擔心燒器件。
關于AR9331-AL1A與AR9331-AL3A的區別
早期的WR703N等路由器用的是AR9331-AL1A芯片,這個芯片的Datasheet可以從網上下載,后來的版本(V1.6之后)都用AR9331-AL3A了,這個芯片的Datasheet網上沒有。
查閱WR703N的兩個芯片版本電路的資料后,發現基本也沒什么區別。使用-AL3A版本的只是在USB部分去了兩個電阻換成了電感以增強USB信號的穩定性,因此這兩個芯片的區別可以無視。
由于MW150R和WR703N硬件基本一樣,并且也用不著另外的四個LAN口,因此可以直接用WR703N的固件在MW150R上面跑。16MB SPI Flash固件可以自己用WINHEX修改,教程在網上有很多。也可以用網上現有的固件,我用的是森亮號的Avalon版本。在搜索資料的時候發現,就在1月15日,已經有同學修改出了WR703N的Arduino Yun文件,因此直接用他的文件即可。
省去了自己再去編譯修改的時間,開源精神就是好啊。
mercury MW150R Arduino Yun 3.3V 8MHz pro mini edition
這是我做出來的Arduino pro mini 3.3V 8MHz版本的Arduino Yun,板子上寫的5V 16MHz是前一個版本標記的。
關于DIY中的細節,下回再說,有點點麻煩。
總結
以上是生活随笔為你收集整理的60元DIY售价600元的Arduino Yun的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 开源即时通讯软件
- 下一篇: 决策树《机器学习入门学习》