2015.09.22 13:30

【Maker Club】Intel Edison Wi-Fi 無線遙控攝影車實作坊

ADVERTISEMENT

在9/12日我們舉辦了創客基地第一次採用 Intel Edison 開發板來實做的無線遙控攝影車實做課程,與之前我們舉辦過幾次採用 Arduino開發板的活動比較起來, Intel Edison 開發板這塊板子的功能比較多,課程內容相對來講也比較複雜。

雖然一般創客可能對Intel Edison開發板的相關資訊比較陌生,不過其實在概念上,可以把它想像成是一塊比Arduino功能更多、應用範圍更廣的開發板,在下面會有更進一步的介紹。

什麼是Intel Edison

與其它開發板比較,Intel Edison 開發板是一塊功能比較包山包海的開發板,包含雙核心處理器與微控制器,整合 Wi-Fi、藍牙、記憶體與儲存空間,加上 40 個 GPIO 介面,能夠幫助開發人員減少設計時間。

ADVERTISEMENT

針對穿戴裝置以及物聯網應用的 Edison 開發板,內含以 Intel Atom 為基礎的 500MHz 雙核心處理器,1 個單核心的微控制器 MCU 能夠收集和預先處理資料,減少 CPU 負擔以及提高省電性。內建 1GB 記憶體和 4GB 儲存空間,比起以往開發板可容納更多的程式和資料。通訊處理方面,整合了雙頻 802.11n Wi-Fi、藍牙 4.0、40 個 GPIO,能夠更為簡單的加入現有的無線網路空間,亦或者利用 GPIO 自行定義功能連結其他裝置,如感測器、LED 螢幕、控制按鈕等。

ADVERTISEMENT

在這次活動的一開始,先邀請來Intel的代理合作伙伴,世平興業應用技術處的Lawrence來簡單介紹一下Intel Edison家族的產品,以及可以應用在哪些方面。Lawrence表示Intel Edison有多種銷售模式,不過對於創客而言,採用的模式主要都是採用Edison搭配Arduino的底板,因為搭配底板連接出來的Interface較多,方便使用者進行開發應用。而世平興業也提供多種技術合作,如果開發者日後想要量產化產品,也可以透過他們進行協助。

ADVERTISEMENT

▲世平興業應用技術處的技術行銷副理Lawrence

課程目標:Wi-Fi 無線遙控攝影車

這次的課程主要是要開發一台可以利用Wi-Fi無線遙控的攝影車,與之前我們採用其它開發方案開發的遙控車不同之處在於,過去的遙控車都是利用手機搭配藍牙來控制,頂多只能夠控制前進、轉彎,再不然就是可以透過簡單的攝影機來判讀地面的線條,進行循線自走的功能。

不過這次我們的課程則是希望能夠透過Wi-Fi來控制遙控車,並且可以利用Web的方式直接在手機或是電腦上接收到遙控車前方攝影機所錄到的內容,即時在手機上看到車子所看到的畫面。

ADVERTISEMENT

課程主講人:Motoduino 團隊

本次課程由Motoduino 團隊來負責,他們是國內各大自創者活動的常客了,他們長期與學校老師合作推動科普教育,利用啟發及娛樂方式激發孩子的科學創意潛能,並配合設計實驗用週邊感測元件,而這次的課程主題Wi-Fi 無線遙控攝影車,就是由他們針對Intel Edison開發板所設計出的一款應用。

本活動的主講者是Motoduino的Dennis講師,他的專長是網路應用程式開發、彩色影像處理、色彩管理及影像辨識、Android手持裝置應用設計、開放硬體相關設計(Arduino/Raspberry pi)。

現場實作:從組裝開始

由於Intel Edison的架構比較複雜,為了讓學員能夠將完整的安裝流程以及開發架構都走完,Motoduino這次的課程安排與過去比較不同,一開始,先請學員們先從遙控車的組裝開始著手。

▲組裝開始的的所有零組件。

▲老師請大家檢查板子以及瞭解相對應的Jumper。

▲學員檢視拿到的板子。

在組裝的過程中,老師分成幾個階段會稍微停頓,首先讓大家先由基本的電池盒、馬達等元件組裝到車底板開始,然後再往上將開發板往上搭建上去,以及相關的電路進行連接。由於過程中要注意一些正接、反接的方向問題,雖然不算有技術上的難度,不過還是需要一點點的細心。

雖然有簡單的組裝說明書,不過由於線路有點複雜,因此不時有學員會需要參考現場已經組裝好的成品來除錯,老師也會在現場進行問題的排解。

簡單說明一下最後組裝好的Wi-Fi遙控攝影車架構,由下圖可以看到,插有Intel Edison的這塊就是Edison搭配Arduino的底板(Intel Edison Arduino Breakout Board ),而上面所插的另一塊板子則是馬達驅動板,主要是用來控制遙控車的馬達驅動相關的功能。而在車子前方黑色方形的物體就是攝影機,可以用來監控影像。

安裝開發環境

組裝完畢之後,接下來就是進行開發環境的安裝。由於Intel Edison Arduino Breakout Board裡頭整合了Arduino的開發環境,因此整個過程中除了要安裝Edison的驅動程式以及韌體之外,還要安裝Arduino IDE的開發環境。安裝順序如下:

  1. Edison driver
  2. FTDI driver
  3. Edison Firmware (v1.6.1)
  4. Arduino IDE (1.6.4)

▲老師提醒學員在安裝的過程中要注意接線的順序。

在安裝開發環境的過程中,要將新版的Edison韌體寫入,然後再用PuTTy從電腦連進Edison去進行相關的操作。

Edison預設的作業系統是「Yocto Linux」,這是一個Linux基金會所推動針對物聯網開發的Linux嵌入系統專案,你可以在上面利用Linux的指令來進行相關的命令以及應用。

安裝好開發環境之後,接下來就是要驅動影像遙控車,在這個部分需要安裝ffmpeg到Yocto Linux上,這是用來進行影像壓縮以及串流的工具。此外,還要安裝Node.js,這是網站程式的後端框架。完成了這一連串的工作,就可以透過網頁來接收到攝影機所即時看到的影像。

做到這邊還沒有結束,接下來還需要安裝Arduino的開發環境以及上傳驅動遙控車的程式,在這個部分主要是負責控制遙控車的部分,學員可以透過老師預先寫好的驅動遙控車的程式,將程式寫入Arduino,就可以完成。

▲在教室外我們有準備簡單的測試區,讓學員控制做好的遙控車試著通過障礙。

複雜度較高,老師帶著走

講師Motoduino的團隊表示,Edison開發環境並不難,學員只要懂得基礎的Linux操作、有Arduino經驗的話,大概很快就可以上手。不過由於Edison功能較多,架構比較複雜,因此如果沒有相關經驗的話,可能要花比較久的學習時間。而Motoduino團隊由於比較早接觸這塊板子,因此他們最大的作用就是帶著學員一步一步走一遍過程,可以讓學員盡快地進入狀況,減少一些「撞牆」的時間。

▲這次的課程,講師團隊Motoduino的三位成員穿梭在學員間幫忙排解問題幾乎都沒閒過。

而我們也訪問了四位學員,詢問他們參加課程的心得。很湊巧的,不知道是不是因為這次課程主題的關係,我們訪問的四位學員都具有工程師的工作背景。

▲郭先生,本身的工作為程式開發。之前曾經參加過T客邦舉辦的四軸飛行器課程。或許是因為本身工作就有相關的經驗,因此他覺得這次的課程難度不算高,不過就是一開始在組裝車子的過程複雜了一點。

▲林先生,軟體工程師。他是第一次參加類似的活動,不過也是這次課程中第一位完成的學員。軟體設定的步驟滿多的,雖然難度不是很高,但是很複雜,不過依照投影片的教學細心一點應該就不會有問題。比較可惜的是,因為時間的關係,這次的課程主要重點在設定上,如果能講到程式碼的部分會更棒。

▲Kevin,硬體工程師。之前有聽過 Intel Edison 開發板的相關說明會,感覺很有興趣,所以來參加這次的課程。由於之前也玩過Arduino,所以其實感覺難度並不高,只是由於沒有Linux相關的經驗,覺得回去還要多學一點。如果課程時間再長一點會更好。

▲黃先生,本身是韌體工程師。平常都是用X86架構、C語言,雖然之前沒有接觸過相關開發板,不過由於個人自己想要做一點東西,想要設計一個監控系統,此剛好看到這個課程與他想做的東西有關,所以報名來參加。他表示上課就是為了可以趕快進入狀況,對於自己的計畫也有更多的想法。

▲本次課程的學員與講師合照

 

 

ADVERTISEMENT

這裡可以買:http://www.autobuy.tw/3c/sort.php?sid=12229