繼台北的兩場 Intel Edison 創客實作坊大受好評,這次創客基地移師科技重鎮新竹,和竹科的朋友一起用 Intel Edison 開發版製作 Wi-Fi 無線遙控攝影車,由於新竹的參加者們大多有玩過不同的開發版,因此在活動中除了與講師問答之外,學員間相互指導互動也非常熱絡。
什麼是 Intel Edison?
和其他開發板相比,Intel Edison 是塊著重在 Wi-Fi 功能的開發板,其搭載的功能非常多元,以低功耗高效能雙核心 CPU 搭配單核心微型控制器,可支援複雜的資料蒐集作業,內建 Wi-Fi、藍牙、LE、記憶體與儲存裝置,簡化配置,另外再加上 40 個多工 GPIO 介面,能讓開發者依照設計選用擴充板,提供擴充彈性。
Intel Edison 的核心是一組 Intel Atom 22 奈米系統單晶片,具備 500Mhz 雙核心 CPU 和 100Mhz MCU,可先以低耗電狀態的 MCU 收集並預先處理資料,再將篩選過的資料傳送給 CPU 進行分析。軟體相容性方面,適用於 Intel Edison 的 Intel IoT 開發者工具組支援 C、C++、Python、Node.js/Javascript 等用於開發上網感測器物聯網應用程式的程式語言。同時支援多種整合式開發環境,如 Arduino、Eclipse、Wyliodrin 與 Intel XDK。
▲這次活動在新竹集思會議中心舉辦。
本日課程:Wi-Fi 無線遙控攝影車
為了要讓參加的學員能了解 Edison 開發板所能提供的強大 Wi-Fi 功能,這次將課程目標設定為開發一台能利用手機 Wi-Fi 無線遙控的攝影車。以往其他開發板所開發出來的遙控車通常都是透過藍牙控制前進或轉彎,或是利用遙控車上的攝影機判讀地上的線條讓遙控車循線自走,但由於 Edison 開發板內建 Wi-Fi 功能,因此我們本次在遙控車上裝上攝影機,連線後就能及時從手機或平板上看見攝影機拍到的畫面,進而控制攝影車的前進方向。
課程講師:Motoduino 團隊
這次的 Wi-Fi 無線遙控攝影車由 Motoduino 團隊(慧手科技)負責講解,他們長期與學校老師合作推動科普教育,並利用啟發及娛樂方式激發孩子的科學創意潛能,著重在創意學習利用實做把創意實現出來,且使用開源方式持續分享給自造者或創客,同時提供基礎開發平台及套件並提供多種創意應用實例,像這次的 Wi-Fi 無線遙控攝影車就是一例。
▲主講者 Dennis 老師,專長為網路應用程式開發、彩色影像處理、色彩管理及影像辨識、Android 手持裝置應用設計、開放硬體相關設計(Arduino/Raspberry pi)。
動手實作:Intel Edison Wi-Fi 無線遙控攝影車
由於這次參與的學員先前幾乎都曾有接觸過不同開發板的經驗,因此講師這次改變上課流程,先走完完整的安裝流程及開發架構,再動手組裝相對簡易的遙控車,雖然 Intel Edison 架構較複雜,但大家理解的速度都相當快,進度較快的學員也會和進度較慢的學員相互討論,整體氣氛頗為熱絡。
安裝開發環境
由於 Intel Edison Arduino Breakout Board 裡頭整合了 Arduino 的開發環境,因此整個過程中除了要安裝 Edison 的驅動程式以及韌體之外,還要安裝 Arduino IDE 的開發環境。安裝順序如下:
- Edison driver
- FTDI driver
- Edison Firmware (v1.6.1)
- Arduino IDE (1.6.4)
在安裝開發環境的過程中,要將新版的 Edison 韌體寫入,然後再用 PuTTy 從電腦連進 Edison 去進行相關的操作Edison 預設的作業系統是「Yocto Linux」,這是一個 Linux 基金會所推動針對物聯網開發的 Linux 嵌入系統專案,你可以在上面利用 Linux 指令來進行相關的命令以及應用。
安裝好開發環境之後,接下來就是要驅動影像遙控車,在這個部分需要安裝 ffmpeg 到 Yocto Linux 上,這是用來進行影像壓縮以及串流的工具。此外,還要安裝 Node.js,這是網站程式的後端框架。完成了這一連串的工作,就可以透過網頁接收到攝影機所即時看到的影像。
組裝 WiFi 遙控車
老師將整個組裝過程切分為數個階段,先在講台上講解流程後,再讓學員自己動手組裝並從旁協助,第一個步驟先讓大家由基本的電池盒、馬達等元件組裝到車底板開始,然後再陸續將開發板往上搭建上去,並進行相關的電路連接。過程中也有不少學員會拿著組裝到一半的裝置到講台前比對講師的作品除錯,雖然整體組裝不算太困難,但由於需要注意一些正接、反接的方向問題,因此還是需要一點點的細心。
最後組裝好的 Wi-Fi 遙控攝影車長得就如同下圖一樣,插有 Intel Edison 的這塊就是 Edison 搭配Arduino的底板(Intel Edison Arduino Breakout Board ),而上面所插的另一塊板子則是馬達驅動板,主要是用來控制遙控車的馬達驅動相關的功能。而在車子前方黑色方形的物體就是攝影機,可以用來監控影像。
做到這邊還沒有結束,接下來還需要安裝 Arduino 的開發環境以及上傳驅動遙控車的程式,在這個部分主要是負責控制遙控車的部分,學員可以透過老師預先寫好的驅動遙控車的程式,將程式寫入 Arduino,就可以完成。
複雜度較高,老師帶著走
講師 Motoduino 團隊表示,Edison 開發環境並不難,學員只要懂得基礎的 Linux 操作、有A rduino 經驗的話,大概很快就可以上手。不過由於 Edison 功能較多,架構比較複雜,因此如果沒有相關經驗的話,可能要花比較久的學習時間。而 Motoduino 團隊由於比較早接觸這塊板子,因此他們最大的作用就是帶著學員一步一步走一遍過程,可以讓學員盡快地進入狀況,減少一些「撞牆」的時間。
▲活動結束後對 Edison 這塊開發板有興趣的學員繼續留下來向老師詢問問題。
學員心得
▲曹永忠老師本身長期投入資訊系統設計與開發、企業應用系統開發與軟體工程等領域,覺得 Edison 這塊板子功能很強,感覺跟 Arduino yun 有點類似,但功能似乎又更多元一點,可以作更多不同的嘗試,不過可惜課程時間太緊湊,若把時間拉長可以講更多的 code。
▲謝先生(右):先前接觸過 Arduino 板子,第一次接觸 Edison,看起來環境很齊全,之後會繼續研究 Edison 開發板。
▲傅先生(右):先前曾研究過 Arduino 板子,覺得 Edison 開發板比較複雜一些,不過看起來可以有更多與程式的互動之後會繼續研究。
請注意!留言要自負法律責任,相關案例層出不窮,請慎重發文!