哈爸陪你問 - 如何成為 open hardware maker (LinkIt Smart 7688篇) - Q&A

最後編輯:2015-12-25 建立:2015-12-05 歷史紀錄

 

WUULONG S活動大綱

時間:12/25 20:30 - 22:00

方式:臉書線上聊天討論

活動主旨:陪伴新手聊 - 如何成為 open hardware maker (LinkIt Smart 7688篇)

發起人:哈爸

主答顧問:

顧問團:賴建宏, 曾吉弘, Yu-Hsian Sun, 陳柏儒, Vincent Hsu, Michael Huang, 黃傑, 郭長祐, Smallp Tsai, Powerbear Wang, Horng-Yih Lai, Polo Wu, Bang Min Shiue, 黃正全, Ozzy Chiu, 黃偉峻

活動內容:翻轉教育,沒有教學,陪你聊天,給你問

 

 

聊天 Agenda

  • 20:30 - 20:45 : 大家打打招呼,互相認識認識
  • 20:45 - 21:45 : 隨便大家問答,共筆時間
  • 21:45 - 22:00 : 收攤,結論,看未來要不要再開一次,什麼主題

聊天規則

進門請禮貌打招呼,離開也請打招呼再離開,線上活動,不介意大家隨時離開

請先報到,如果有正在做東西,可分享的,請跟大家分享

很多人一起聊天,容易混亂,聊完也無法有效收集成果。

所以嘗試用共筆的方式,看看能不能聊出點花樣。

所有地方都是開放大家隨意編輯,請大家多多貢獻與分享,相信來的能人很多,請大家一同幫助 Maker 的新手

覺得這樣聊天對您有幫助,立即邀請您線上好友參與。也可分享 hackpad 資訊,方便大家參與

 

共筆注意事項

請注意,此為公開的紀錄,可公開分享的才寫在這裡。其他在臉書閒聊就好

為減少可能的爭議,本共筆著作係採用 創用 CC 姓名標示-相同方式分享 4.0 國際 授權條款授權。

 

文件生命週期

準備期:會前

  • 公開討論前由顧問團準備常用問題與參考資料。

線上共筆期:會中

  • 活動當下,所有參與人一起共筆。所有想提問的,請於此時期提問完畢

會後整理期:會後一星期

  • 共筆目前的結果會於隔天發布,提供給有興趣的人參考。
  • 針對尚未完成解答的問題,以及想更正補充的問題,於會後一個星期內,繼續整理,煩請大家能繼續共筆,讓解答性更完整。整理期不可提問。

結束封存期:會後一星期之後

  • 文件將封存,不可更改,提供查詢。歡迎另外複製到另外文件中繼續討論。

顧問準備事項

在當天討論之前,本篇主要是給顧問團提前準備相關的 Q&A, 以及互相認識,聯絡感情之用,希望在當天之前,只有顧問才能看到內容(準備時期,保持點神秘感)。當討論開始,就會開啟權限給所有人可讀寫

 

顧問白板

此區讓大家認識這次的顧問團,請顧問們自行填寫。建議列上正在做的東西,推薦的臉書討論區等

[ 顧問在這裡分享 ]

 

哈爸

 

 

參與人員報到區

請報到,歡迎提供聯絡方式(臉書,Email),需要保持神秘感,可用綽號

 

[ 在這裡報到 ]

Maker1

  • 聯絡方式

Maker 的玩具

請參與者,有再做東西的,可以分享一下。比較容易找到同好,也容易得到別人的幫助

[ 分享在這裡 ]

 

參考

 

問與答

為方便追蹤與解答,發問時請直接在此文件中加入新的提問,之後,可將同一個問題發到聊天區,提醒大家已提問。

 

本問答為個人淺見,僅提供參考。由於是共筆型態,也歡迎大家持續補充與修正

 

常見的相關參考資料,發問前,請先參考 - FAQ

 

 

Q2 : 那麼多種 Maker 可以做,為何要做 Open Hardware Maker?

A2 : 參考以前哈爸給你問

 

Q3 : 有那麼多 Open Hardware, LinkIt Smart 有什麼特色?

YU-HSIAN S 我想特色主要在於這是一個介於單板電腦跟微控制器中間的segment,當然在這個區段也有很多開發版,而LinkIt Smart 7688的主要想法是讓Linux Wi-Fi開發版盡量以符合community的SW stack來使用,所以才會找OpenWrt的社群人士來幫忙,而不像一般的Wi-Fi開發版,大多會自己branch出自己一套SW Stack。

    wuulong sheu了不起的想法

 

 

 

WUULONG SQ5 : 有沒有什麼人在教?

課程滿多的

 

Q7 : LinkIt Smart 7688 和 7688 Duo 有什麼差別?

YU-HSIAN SSmart 7688上面有MT7688AN,從MT7688AN拉出USB/Ethernet,I2S(Audio),I2C,SPI(跟SPI Flash共用),不支持Analog Input。

而7688 Duo多加了一顆ATMega32U4,拉出I2C/SPI/Analog Input。USB/Ethernet同樣從MT7688AN拉出來。沒有拉出I2S介面。

 

所以,如果你習於使用Arduino來連接I2C/SPI/ADC,或是你需要一個可以完全獨佔的MCU,Smart 7688 Duo會是比較好的選擇。

 

如果你有透過I2S播放Audio的需求,或是你並不需要一個獨立的MCU,只想要用Linux做事情,Smart 7688會是比較好的選擇。

    Andrew有很多人在問 7688 和 7688 Duo 該買哪一個,我自己的感覺是: 都這麼便宜了,當然是各買一個。XD
    Vincent Hsu真的,有貨就要趕快先買起來,不然 Seeed 總是在 out of stock XD
    Sam Yang如果自已有做板子的能力,7688就夠了,沒有,又不太會硬體,其實duo是需要的
    Sam Yang

 

WUULONG SQ8: 有什麼配合的周邊?

YU-HSIAN SMTK並沒有做什麼周邊,但Seeed Studio有出三張Breakout Board可以轉接Grove系列的周邊。

 

WUULONG SQ9: 有什麼特別的應用?

SAM YKitchBot打算拿來煮牛排,但還在開發中

WUULONG SLASS 正在上 7688, 請期待

    wuulong sheu我想吃
    Sam Yang我會加油的!

 

輔翔 荊Q13: 問目前有沒有已經完成的專案?

黃偉峻https://hackaday.io/project/8623-lightsaber-stand-for-hackers

 

 

ANDREWQ14 : 因為之前一直強調 7688 有很完善的 node.js 執行環境。想請問是指你們提供比較大的 RAM/FLASH 空間 (相對於目前市面上的 Yun 等等)。使得 node.js 的服務可以在 7688 上有空間發揮。還是說其實你們有針對 node.js 做一些神秘的最佳化?

YU-HSIAN S主要還是在於RAM/Flash空間,另外打通了Node.js一小部分我們覺得比較重要的package在OpenWrt上面的支持(並且讓它回到OpenWrt Trunk)。其餘並沒有什麼外星科技。

 

IAMBLUENodejs 不太需要在 linux 上做什麼最佳化,就 follow Node.js 社群架構成長即可。

 

 

SAM YQ15:7688使用node.js,最小的延遲時間是多長?

YU-HSIAN S請問這邊指的延遲時間是指?

SAM YQ15-1:Delay function

YU-HSIAN S目前spec上面並沒有這樣的數字,需要測試才能夠知道。能否推薦一個test case呢?

SAM Yds18b20的需求延遲是us等級的,可以試看看

WUULONG S一般講 packet delay 都是 ms 等級的。hardware 的部分都是 local 處理的,跟 node.js 的 delay 沒有關係

YU-HSIAN S了解,如果是說1-wire要使用的話,那麼跟node.js就比較沒有關係,主要是系統的schedule latency,但就經驗來看,Linux上面要穩定驅動1-wire是比較困難的 - 就算是Realtime scheduler也會有搶佔的問題

    wuulong sheu
    wuulong sheuTo send a "1", the bus master sends a very brief (1–15 µs) low pulse. To send a "0", the master sends a 60 µs low pulse.
    Sam Yang這只是reset而已吧,平常好像是幾百個ns
    wuulong sheu不過這樣的 timming 就不能用 Linux 了
    Sam Yang

SAM YQ16:7688使用DS18B20溫度感測器,除用使用DUO外,直接上7688的可能性高嗎?

VINCENT Hupm 有打算在 0.5 版本支援 (目前是 0.4.1),屆時我們可以看看

 

 

SAM YQ17:7688使用WS2812燈條,除用使用DUO外,直接上7688的可能性高嗎?

 

YU-HSIAN S我想應該會跟Galileo初代一樣,會有thread被搶佔時間的問題。1-wire相關的應用還是透過獨佔MCU來做會比較保險些。

    wuulong sheu1-wire 沒有 timing 的問題啊
    黃偉峻有喔,尤其是WS2812,這通訊速度很快的 400 or 800khz
    wuulong sheu學到了
    黃偉峻所以duo才是王道,哈

 

SAM YQ18:目前要將7688外接WIFI USB卡的話,有沒有推薦的?

 

YU-HSIAN S可能還是要回到OpenWrt支援哪些Wi-Fi USB dongle來看,不過想請問需要在Wi-Fi開發版上面再插USB Wi-Fi dongle的目的是要用於哪種應用呢?

SAM YQ18-1:有沒有大神已經用過確定可以的呢?

    Andrew是因為需要多個 wifi interface 嗎? 否則板子本身就支援 WiFi 了

 

IAMBLUE基本上市面上 USB wifi adapter 大多都是 Ralink 5350 系列(特別是Edimax公司出的)確定一下就可以了,至於怎麼做可以參考這個 config: https://gist.github.com/iamblue/00f0c5cf6e987f1b7834

 

SAM YQ19:7688外接USB UART(FT232RL)來控制UART,目前可行嗎?還是待擴充?

 

YU-HSIAN S1) 7688自己就有兩組UART可以使用了

2) USB-Serial device有kmod-usb-serial可以試試看,我沒有試過~

 

SAM YQ20:7688可否接USB BT4.0的裝置呢,目前可行嗎?還是待擴充?

 

YU-HSIAN SOpenWrt本身有bluetooth的支持,不過就我知道會有一些問題要打通,待有心人士來補完

IAMBLUEOpenWrt 可以使用 bluez package .

 

SAM YQ21:7688做為零件包的話,何時可以普及化?

 

YU-HSIAN S不是很確定這問題要問的是什麼呢? 是說目前供貨的區域嗎?

SAM YQ21-1:是的,何時在台灣可以容易買到

WUULONG SiCShop 我昨天下單,已經寄出了

    Sam YangiCShop真是maker好幫手

 

SAM YQ22:7688是LINKIT系統少數沒有電池支援的系統,是否有電池系統相關開發板可以擴充呢?

 

YU-HSIAN S電池可以自己使用穩壓電路即可,不過7688本身是作為Gateway來設計的,功耗並不低,所以在使用時間上面應該會受限。

 

SAM YQ23:7688目前都沒提到的功率方面,如果做為一個感測器節點,是否有測量它的功耗了呢?

 

黃偉峻Wifi打開7688待機狀態大概200~300mA

wifi打訊號的瞬間(<幾microSeconds)大概500mA

YU-HSIAN S其他scenario Developer's Guide裡面有:

http://labs.mediatek.com/fileMedia/download/87c801b5-d1e6-4227-9a29-b5421f2955ac#page=13

黃偉峻另外我想補充的是,這測試是經過內部的LDO把5V降成3.3V,所以如果你用比較好一點的Switching power supply,耗電量會再降低

SAM Y但200~300這個等級,真的只能做gateway,一直插著電

 

YU-HSIAN SQ24: 有睡眠模式嗎?

就我所知沒有特別的low power / power domain的設計,Chipset本身會在idle的時候降頻,不過不像手持裝置會特別切割出可以獨立關閉的domain,或是由SW命令HW降壓的機制。

 

YOUDE LQ25: bootloader 有釋放源碼嗎? 是否有保護,可否修改?

 

IAMBLUEHere.

https://github.com/MediaTek-Labs/linkit-smart-7688-uboot

 

SAM YQ26:7688當SERVER的娮,如何做到用192.168的IP或用手機架的網路,然後外網可以連到的方法呢?

 

YU-HSIAN S這跟7688就比較沒關,而是7688所屬網路的gateway本身如何做到port forwarding或是proxy的功能 - 能否再詳述一下你的網路環境的配置呢?

SAM Y我有個想法,就是7688架一個SERVER,走到那帶到那,手機開AP模式給他連,然後其他人可以連進來看資料,或是修改資料,像是:有個LED燈牆,大家可以送字串一來顯示之類的

    Lanma Chiu要找Android or iOS AP Mode Port forwarding解決方案

Q27:其實我想自已做一個底板,用I2C接,ARDUINO,然後ARDUINO用原本的IDE來寫,這樣MCU反應可以比較即時,有必要這樣做嗎?因為我聽BLUE說,用7688去接ATMega32U4時,其實沒很即時性,還是DUO的ATMega32U4也可以用ARDUINO環境開發呢?

    Sam Yang打錯,已修正

YU-HSIAN SDuo可以使用Arduino IDE寫程式。

Duo的ATMega32U4上面預載是Arduino bootloader沒錯,可以使用Arduino IDE去program。MT7688AN跟ATMega32U4中間通道是UART,還有幾隻GPIO接著。可以參照Developer's Guide http://labs.mediatek.com/fileMedia/download/87c801b5-d1e6-4227-9a29-b5421f2955ac#page=68

    Sam Yang好的謝謝

 

 

黃偉峻用I2C就已經是不即時的Protocal了,而且Atmega32U4就是Arduino Leonardo所使用的MCU

 

SAM Y我所謂的即時是,ATMega32U4在內部自已處理IO,判斷和決定,而不是所有的資料要通過UART回到7688再決定,就慢了。

 

黃偉峻你當然可以讓Atmega32U4自己做處裡,就像是有個Leonaodo在板子上一樣,而不用經過7688

只是說中間兩個的通訊要自己來而已

    Sam Yang我的想法是,I2C可以做的比UART高速,減少延遲

I2C是很慢的.....400khz和1UART的1 mbps比起來真的慢很多,更不˙用說一堆Overhead在那

SAM YAtmega32U4的UART可以上1MBPS,不是只有115200喔!

黃偉峻請參閱Atmega32U4的Datasheet,其中Crystal找8Mhz的表格

SAM Y謝謝,剛剛K完了DATASHEET,我發現走SPI最高可以是High Speed Operation (fXCKmax = fCK/2)

所以SPI可能才是最快的選擇,哈,不過DUO可以用ARDUINO開發,其實沒必要麻煩了

黃偉峻走UART就好,這速度也不慢,如果真的要用到那麼快的速度,那會很吃throughput,而且即時反應應該是MCU端就要處裡那些Data,而不是往後送給7688處裡再丟回去,而且有那麼大量的資料要回傳的話,我會建議直接接上7688

by the way,即時不等於throughput.我是認為先用UART,真的沒有辦法了再換

    Sam Yang好的,我只是之前有些誤會了。

另外還有占用SPI對Flash的問題..基本上這張板子的接線方式是SPI Slave接到MCU,所以MCU要回傳資料...用SPI會有點麻煩

 

YU-HSIAN S另外要提醒一下,Linux端做處理,如果是寫在user space都會受到scheduler的影響,就算throughput足夠,latency也可能不合乎即時的需求。建議還是做在MCU端,或是就要直接去寫Linux kernel driver來佔用ISR(但這樣比較容易搞爛系統...)

 

LANMA CQ28: 7688的USB Host若要接一個以上的device,是否大部分要接有外接電源hub? 市面上有看到一接三的OTA線能用嗎?

 

YU-HSIAN S建議要外接電源,我有看過OTG一接三,然後有留一個孔可以從外面灌電源進去的。畢竟7688本身peak就會到接近500mA了

 

LANMA CQ29: 7688 同時 AP / Station Mode有時程表嗎?

YU-HSIAN S應該是不支持此功能,請問大概在什麼樣的場景下面使用呢?(不然就是再插一個wi-fi dongle....)

 

LANMA CQ30: 如果7688想要像小米MiniAP那樣,透過Wifi連上別的AP,然後自己再當AP分享出來,要怎麼做呢?

SAM Y目前看到的做法是自已連別的AP,然後再裝一張USB網卡,分享出去。

IAMBLUE外差 usb 做法可參考上面的:https://gist.github.com/iamblue/00f0c5cf6e987f1b7834