0

0
0

文字

分享

0
0
0

LinkIt ONE穿戴式裝置與物聯網應用:LinkIt ONE的SD卡與音樂播放

馥林文化_96
・2015/12/16 ・1459字 ・閱讀時間約 3 分鐘 ・SR值 544 ・八年級
相關標籤: LinkIt ONE (7)

立即填寫問卷,預約【課程開賣早鳥優惠】與送你【問卷專屬折扣碼】!

 

文/CAVEDU教育團隊

各位讀者,本系列專欄已經進入第4 回了,大家有一起動手做嗎? LinkItONE 這塊Arduino 相容板很適合用來進行各種穿戴式裝置與物聯網專題,歡迎和我們一起學習!本期要介紹LinkItONE 的音源輸出功能,要不要做一個小型MP3 隨身聽呢?

LinkIt ONE 的SD 卡與音效輸出

LinkIt ONE 有一個音源接頭,可以接上耳機或小型喇叭等播音裝置。您只要在SD 卡中放置音樂檔,並在程式中指定路徑與檔案名稱即可播放。在本範例中的檔案名稱為hello.mp3 ,如果使用不同檔名的音樂檔的話,請記得在程式碼中修改檔名。LinkIt ONE 支援的音效格式還有.aac、.amr 與.wav , 您可以運用音樂播放功能,在系統偵測到某些狀況時自動播放音樂,打造如歡迎光臨之類的功能。LinkIt ONE 背面有一個SIM 卡與SD 記憶卡的雙用插槽, 請插入您的micro SD 記憶卡槽(圖1),並安裝本文最後的程式即可。

圖1 LinkIt ONE 背面的micro SD 記憶卡插槽(圖左邊緣部分凸起位置)

所需零件:

  • LinkIt ONE開發板
  • 耳機或桌上型小喇叭(需另接電源)
  • micro SD卡,1片(容量根據您所要播放的音效檔案大小與數量而定)
  • 按鈕,1個
  • 220Ω電阻,1個

音樂播放器是有許多實體按鈕的,本範例會使用一個按鈕來依序切換五個功能。您在市面上可以買到的按鈕如圖2 ,兩支腳或四支腳都可以,本範例採用兩支腳的版本。一邊請先串連一個220Ω 電阻接地, 再分接到LinkIt ONE 的數位腳位D5 , 另一邊則直接接到板子上的5V 腳位, 完成如圖3。

圖2 市面上常見的按鈕
圖3 完成圖。

程式說明

本範例是一個迷你音樂播放器,可以利用接在 D5 腳位上的按鈕來切換「播放」、「設定音量」、「暫停」、「繼續播放」與「停止播放」等功能,這五個功能算是音樂播放程式的基本功能,您可以觀察一下您手邊的iPod 或是音樂播放器還有哪些按鈕。接著介紹程式中幾個比較重要的指令:
設定一個字元陣列做為暫存器,可以存放音樂播放器是處在哪一個狀況。

函式Scan_KEY() 是用來檢查按鈕是否壓下。

建立一個Change_Status 的函式,用按鈕切換目前的控制模式。在一開始有先定義KEY 為五種模式:「Play」( 播放)「SetVolume」( 設定音量)、「Pause」( 暫停)、「Resume」( 繼續播放)、「Stop」(停止播放)。然後根據status 這個值,執行指定動作。本函式可接受外部傳進來的參數,並以switch 結構來執行五個case 的其中一個,藉此對應到音樂播放器的功能。您可看到有一個名為default 的case ,如果收到沒有定義的參數的話,就會由default 來處理,以本範例來說就是直接跳出迴圈。您可以在switch 結構中加入更多case 來擴充您的音樂播放器。

主程式中會判斷音樂是不是已經播放完畢,並且將KEY 變會預設的Play繼續播放音樂。如果再按一下按鈕就可以停止播放。

操作時, 請把耳機或小型喇叭等播音裝置接上LinkIt ONE 的音源接頭,並將您想要的音效檔(別忘了:檔名與副檔名要完全一致)燒錄進一張micro SD 記憶卡中,再插入LinkItONE 背面的 SIM/SD 卡插槽即可。本期專欄要怎麼改裝呢?您可以加裝多個按鈕,讓本範例的五個功能都有獨立的對應按鈕的內容來控制更多裝置, 例如簡訊內容為「ONOFF」,就可以分別控制LED 與電風扇的開關。畢竟發簡訊需要費用啦,要好好運用它的內容才行。

文章難易度
馥林文化_96
54 篇文章 ・ 6 位粉絲
馥林文化是由泰電電業股份有限公司於2002年成立的出版部門,有鑒於21世紀將是數位、科技、人文融合互動的世代,馥林亦出版科技機械類雜誌及相關書籍。馥林文化出版書籍http://www.fullon.com.tw/

0

0
0

文字

分享

0
0
0
LinkIt ONE穿戴式裝置與物聯網應用卷七【雲端氣象站(上)︰上傳資料到Media Tek Sandbox】
馥林文化_96
・2016/03/18 ・2170字 ・閱讀時間約 4 分鐘 ・SR值 535 ・七年級
相關標籤: LinkIt ONE (7)

立即填寫問卷,預約【課程開賣早鳥優惠】與送你【問卷專屬折扣碼】!

 

文/CAVEDU教育團隊

各位讀者好, 認識了如何用MCS來控制LinkIt ONE 的腳位狀態之後,接下來兩期會帶領您實作雲端氣象站專題。本期要介紹的是智慧居家或植物照護系統中常用的溫濕度感測模組,也會告訴您如何將感測器讀取到的溫度與濕度變化顯示於Arduino IDE 的Serial Monitor 中。到了下一期,就要把資料上傳到MCS 雲服務上囉。想像一下,走到哪裡都可以監控家裡的狀況,這樣也會心安一點吧。本專題可以在MCS 上檢視家中溫度、濕度與氣壓的變化。您可以根據這樣的架構加裝更多您想要的感測器與受控裝置。
MCS 也一併提供了Android 應用程式, 請由此連結(https://mcs.mediatek.com/v2console/supports/
mobile_application)或在Google Play搜尋「 MediaTek Cloud Sandbox」,接著安裝到您的Android 裝置上。開啟程式後只要登入您先前所註冊的MediaTek Labs 帳號, 就能在手機端即時檢視或控制開發板的狀態。
所需零件:
• LinkIt ONE開發板,1片
• Wi-Fi/藍牙天線,1組
• Grove溫濕度感測器模組(Grove – Temperature and Humidity Sensor Pro)
• DHT11/22溫濕度感測模組(根據上一零件選用)
• Base Shield擴充板
• 麵包板與線材(根據上一零件選用)

Grove 溫濕度感測器模組
本專題會在LinkIt ONE 上加裝一個Grove 溫濕度感測器( 圖1a) 來量測溫度與濕度的變化。其中的Grove溫濕度感測器, 實際上就是整合了DHT11 溫濕度感測器( 圖1b) 的模組。請注意, 如果您是自行購買DHT11 溫濕度感測器的話, 需要匯入DHT 函式庫(http://playground.arduino.cc/Main/DHTLib)。另一方面,由於Grove 溫濕度感測器模組有針對LinkIt ONE 進行最佳化, 也有自己的函式庫(https://github.com/Seeed-Studio/Grove_Temperature_
And_Humidity_Sensor),您如果直接在LinkIt ONE 上使用DHT11 感測器時,有時候讀到的數值會不規則跳動。

^93599F3BC0ECC3A586496AE45E6E664E4699CB01882A58E5A2^pimgpsh_fullsize_distr

圖1a Grove 溫濕度感測器。

^FA20E64DF17E62428DDD287FCCFBF3F154FAA451E5C14DD29D^pimgpsh_fullsize_distr

圖1b D H T 1 1溫濕度感測器。

擷取1

表1 Grove 溫濕度模組規格

硬體接線

請將Grove 溫濕度感測器接到Base Shield 上標示A0 的Grove 接頭,如下圖:

^3BCEA6FAA4894F7FFC855619BE4771F67F4F20BE084E99BDF6^pimgpsh_fullsize_distr

圖2 將溫濕度感測器裝在A0 的Grove 接頭。

如果您自行購買DHT11 感測器的話, 請將左側1 號腳位接5V ,2 號腳位串聯一個4.7KΩ 電阻之後接到LinkIt ONE 的數位腳位, 如圖2 的D6 腳位。請注意, 使用獨立的DHT模組時需連接到開發板的數位腳位,但使用Grove 溫濕度感測模組則是連到類比腳位,例如本範例的A0。這是兩者的主要差異所在。

^0EA09AC0153837F080D0DB4B993ECEA280EB66FC9919AA371E^pimgpsh_fullsize_distr

圖3 連接DHT11 與開發板。

擷取2

表1 溫濕度感測器範例

單機版程式

本範例首先要透過MCS 來切換一個連接到繼電器模組的家電裝置(例如檯燈或風扇)。在此需要一個Data Channel , 請依照表2 的說明新增Data Channel ,完成如圖3。

以下是重要程式解說:

• 宣告DHT類型

06 行的語法代表我們要使用的溫濕
度感測模組為DHT22 , 請根據您所
使用的模組來修改此處。

擷取3

• 宣告DHT物件

程式中必須先宣告一個DHT 物件才能進行後續的讀取感測器值操作,由以下指令可以看到我們宣告了一個名為DHT 的dht 物件,同時要指定連接腳位DHTPIN , 也就是03 行的A0 ,以及指定DHTTYPE。

擷取4

• 讀取溫度與濕度

宣告之後,就可以透過以下語法來分別讀取濕度與溫度,由以下指令可看到回傳值為浮點數。

擷取5

• 錯誤檢查

使用if 搭配 isnan 語法來檢查t 與h 是否有效,如果並非數字就表示有地方出錯, 會在Serial Monitor 顯示
錯誤訊息。

擷取6

• 顯示於Serial Monitor

如果一切OK 的話,就透過Serial.print(h); 與Serial.print(t); 在Serial Monitor 顯示濕度與溫度。請注意在39 行,我們使用delay(5000); 讓程式每5 秒鐘循環一次,畢竟溫度與濕度不會在短時間大幅度變化,因此不需要頻繁更新。

操作

執行時, 將可在Arduino IDE 的Serial Monitor 視窗中看到溫度與濕度的變化(圖4),在此為每5 秒鐘更新一次,因為這兩個物理量不會變化太快。您可以對它用嘴呵氣,或用手指輕輕捏住感測器本體,來看看濕度與溫度的變化。

^5BE3B74DC4B8F4A6DC99AA3468DA373296558F217BBE886D55^pimgpsh_fullsize_distr

圖4 顯示溫度與濕度資訊於Serial Monitor 。

本期介紹了如何讓LinkIt ONE 開發板藉由Grove 溫濕度感測器模組來讀取環境中的溫濕度變化,下一期將會把這些資料上傳到MCS 雲服務, 期待您與我們一起動手製作有趣的物聯網專題。

參考資料:

Seeed Studio 溫濕度感測器函式庫與範例程式載點:
https://github.com/Seeed-Studio/

MediaTek Labs
http://labs.mediatek.com

Seeed Studio Wiki
http://www.seeedstudio.com/wiki/LinkIt_ONE

CAVEDU LinkIt ONE 教學
http://blog.cavedu.com 搜尋linkit

文章原文刊載於《ROBOCON》國際中文版2016/5月號

馥林文化_96
54 篇文章 ・ 6 位粉絲
馥林文化是由泰電電業股份有限公司於2002年成立的出版部門,有鑒於21世紀將是數位、科技、人文融合互動的世代,馥林亦出版科技機械類雜誌及相關書籍。馥林文化出版書籍http://www.fullon.com.tw/

0

0
1

文字

分享

0
0
1
如何避免無人機自殺攻擊事件?Linkit One讓無人機不再亂亂飛!
鳥苷三磷酸 (PanSci Promo)_96
・2016/01/26 ・2675字 ・閱讀時間約 5 分鐘 ・SR值 536 ・七年級

立即填寫問卷,預約【課程開賣早鳥優惠】與送你【問卷專屬折扣碼】!

 

本篇文章由 聯發科技創意實驗室 (MediaTek Labs) 贊助,泛科學策畫執行。

2015年是無人機蓬勃發展的一年,同時也是各種無人機自殺攻擊事件頻傳的一年,如果有個恐怖組織名稱叫做「無人機」,ISIS大概可以收一收了,因為無人機的戰力實在太強大啦!這一年來無人機陸續攻擊了台北 101、美國白宮、日本首相官邸與世界文化遺產姬路城,並且差點擊中正在參加高山滑雪世界盃競賽的選手,這一連串的意外凸顯出無人機的安全問題,目前世界各國與企業都在從技術與法規面著手,確保未來世界可以享受無人機帶來的便利,又不會三不五時就被暴走的無人機攻擊。

201512231318410thumb
在意大利舉行的高山滑雪世界盃比賽中發生了無人機墜毀,險些砸中參賽選手的意外狀況。

在 2015年的世界通訊大賽物聯網及穿戴式組的冠軍,正是由來自南台灣的學生團隊所研發出的無人機飛行安全監控平台,這支名為 Sky Sentry的團隊,年紀雖然不輕,但是創意完全不輸年輕人,加上多年的實戰經驗,開發出來這套平台,獲得評審們的一致好評,而開發的靈感其實是來自於團員的切身之痛。

LinkitOne開發板威力無窮

目前就讀南台科技大學電子工程系博士班的蔡博智,最近幾年開始接觸無人機,但是已經走失了兩台;他的朋友更慘,買了一台 36,000元的無人機後,第一次升空拍了一張照片,就再也不見蹤影。

「問題出在連線的方式,無人機與控制器之間的連線就像紅外線或 Wi-Fi,以點對點的方式連接,一旦飛行超過連線距離,或是被建築物干擾訊號,無人機就會開始迷航。」蔡博智說,在都市裡面更容易因為玻璃帷幕的反射,造成訊號混亂而失控。

團隊想出來的解決方法就是,讓無人機擁有跟手機一樣的訊號,透過 GPRS或 3G連線接上 Internet,即使短暫失聯,只要附近有基地台就可以恢復連線,找到回家的路,從這個概念出發,他們開始著手設計這個飛行監控平台。

實際製作時,他們在硬體設計上,先比較了 Arduino和 LinktOne兩塊開發板。而 LinkitOne的強項在於內建了完整功能,不僅有 GPRS連線功能,還有 GPS、藍牙與 micro-SD卡,只要在無人機上加裝這塊板子,與飛行控制系統結合,就可以大幅強化無人機的通訊能力,如果失蹤墜落,還可以透過藍牙訊號搜救,micro-SD卡還能儲存飛行紀錄,就像是大型飛機的黑盒子一樣,可以判斷飛行過程中發生了什麼問題來進行調整。

「實際操作上,LinkitOne還有兩個巨大的優勢,便宜跟重量較輕。」蔡博智說,無人機體積小、重量輕,對於重量必須斤斤計較,要加裝在上面的開發板必須要夠輕巧;而 LinkitOne的價格也許比陽春版的 Arduino開發板貴,但是 Arduino要加裝各種元件才能達到 LinkitOne的功能,價格卻遠遠超過 LinkitOne,這樣一比 LinkitOne的 CP其實蠻高的。

00185774.201512230129M
蔡博智設計的飛行監控平台使用LinkIt One為主要開發版,並與無人機之飛行控制板進行連結。

飛行監控平台:後台雲端運算+資料庫

帶領團隊的李志清老師任教於南台科大電子工程系,這次他將自己在航太技術及系統整合十多年的經驗,結合即時監控及無人機通訊與控制技術,與學生們合作開發,完成了這套國內首創的無人機飛行安全監控平台。

這一套飛行監控平台除了透過 LinkitOne來溝通、控制無人機之外,更關鍵的是後台的運算與資料庫系統。這套平台主要有三個重點功能,首先是透過系統設定座標,將某些區域設定為禁航區,無人機便不能在區域內起飛或飛進此區域,以此避免撞建築物或飛進人群密集處造成安全隱憂。台灣政府若採用這套系統來管控全台的無人機,只要將機場、軍事禁區、建物密集區等高敏感地帶設定為禁航區,內建在雲端資料庫裡,只要無人機連上這個資料庫便能辨識出禁航區的位置,就可以輕鬆減少誤闖禁區的意外。

drone-905955_960_720

第二,設置電子圍籬,限定無人機只能在某一個範圍內飛行,一旦飛出這個範圍,就會強制返航,如此便能解決迷航亂飛的問題。電子圍籬非常適合新手們試飛,也很適合開發者實驗新機器,只要碰觸到電子圍籬的訊號範圍,無人機就會收到返航訊號,接著拉升高度後,返航並自動降落到指定的位置。

第三,萬一無人機迷航或墜落在視線外,也可以透過這個平台尋找,只要透過 LinkitOne上的 GPS、GPRS和藍芽訊號,就能夠幫助使用者找回無人機。LinkitOne內建的 GPRS可以直接連網回報位置,若是掉落在沒有基地台的地方,也可以透過藍牙訊號(除非像電影一樣,在墜落時就把所有通訊功能都摔壞)慢慢逼近位置,縮小搜索範圍。

雖然整個監控平台是基於 LinkitOne開發板的功能來設計,不過未來,即使無人機上沒有安裝 LinkiOne開發板,團隊也將 API完全開放,無人機使用者、開發商或玩家,都可以自行運用,讓自己的無人機(必須具備連接 internet功能)也能配合這個雲端判別系統與資料庫,來確保安全。團隊也有提供包套式的服務,協助安裝 LinkitOne開發板,讓幾乎所有的無人機都可以使用這套系統。

「我們準備好了!」

目前世界各國都在摸索一套無人機的監控方案,希望在開放與安全間取得平衡。美國 FAA去年中推出了一套法案,針對無人機的飛行高度、速度與重量都設定限制,操作者必須年滿 17歲,且只能在白天於可目視範圍內操作。台灣也正在修訂《民用航空法》,設下種種限制,包括:必須以目視方式操作且高度不得超過 400呎(約 40層樓高),須在白天操作,不得在禁航區、限航區及航空站與飛行場四周作業,且不得在露天集會遊行人群上空(商用無人機的專業空拍,可以提出申請即可在夜間、露天集會人群上空拍攝)。

然而這些規定如何落實執行?日本去年推出無人機獵捕系統,由一組攜帶網子的無人機,在空中搜捕違規飛行的無人機,這樣的作法顯然只能應急,而且聽起來非常不高科技。

日本的無人機
日本的無人機獵捕系統是用網子捕捉違規的無人機。

從訊號端進行控制,讓無人機都能乖巧聽話才是真正治本之道。無人機大廠 DJI大疆已經陸續推出一系列的安全措施,來回應這些需求,不過台灣團隊的成果,顯然是最超值又能達成目標的極佳選擇。

「這套系統能得獎的一大原因是,我們已經完全 ready了。」蔡博智說,現在整套系統的功能已經完備,只差使用者介面與網頁的優化,只要未來無人機管制法案通過後,無人機將會需要登記註冊才能起飛,登記時,可能就必須要包含這套飛安平台的註冊證明,因此無人機的市場有多大,這套系統的商機就有多大。

蔡博智(右)認為他們獲獎的原因在於:整套系統的功能已經完備了。
鳥苷三磷酸 (PanSci Promo)_96
154 篇文章 ・ 268 位粉絲
充滿能量的泛科學品牌合作帳號!相關行銷合作請洽:contact@pansci.asia

0

0
0

文字

分享

0
0
0
LinkIt ONE穿戴式裝置與物聯網應用卷五【雲端控制檯燈(上):MediaTek Cloud Sandbox】
馥林文化_96
・2016/01/14 ・2461字 ・閱讀時間約 5 分鐘 ・SR值 539 ・八年級
相關標籤: LinkIt ONE (7)

立即填寫問卷,預約【課程開賣早鳥優惠】與送你【問卷專屬折扣碼】!

 

文/CAVEDU教育團隊

各位讀者新年快樂,接下來本專欄將分兩期連載來介紹如何使用LinkItONE 專屬的雲服務——「MediaTekCloud Sandbox」(本文後簡稱MCS)來控制 LinkIt ONE 上的繼電器,即是雲端家電控制的概念。本期會先介紹如何在MCS 上建立原型(prototype)與測試裝置(test device),下一期再介紹如何在MCS 上控制LinkIt ONE與監控腳位狀態。

不過這類型的開發板能上網不是什麼新鮮事,Arduino 就有許多選項,例如乙太網路擴充板、無線網路擴充板,或是Arduino Yun 或Intel Galileo 這類的控制板,也同時具備乙太網路接口或無線網路,可連接網路。一般而言,大家比較常碰到的問題如下列:

  • 誰要處理這些丟到網路上的資料?
  • 有哪些資料呈現的方式?
  • 具備哪些控制開發板的方式?
  • 跨網段怎麼辦?

如果只是弄個網頁來顯示感測器資料,其實沒什麼了不起的,在區域網路中找一臺電腦把HTTP 伺服器架起來就好。我們希望能有一個中央管理的網站,可以檢視資料,並且控制開發板腳位。最後一件事也是最重要的事,就是讓使用者無論人在哪裡都能夠做到這些事情。

LinkIt ONE 有自己專屬的雲端服務,也就是MCS , 這點真是十分令人羨慕。因為LinkIt ONE 只要能連上網路(Wi-Fi 或GPRS 皆可),就能藉由DeviceId 與DeviceKey 來連到MCS。最後, 在資料呈現與控制上,MCS對於不同類型的資料( 數值、布林、GPS 等)都有對應的圖形化顯示器與控制器,甚至還有嵌入。

另一方面,LinkIt ONE 也提供了Android 應用程式, 請由此連結下載之後安裝到您的Android 裝置上。開啟程式後只要登入您先前所註冊的MediaTek Labs 帳號,就能在手機端即時檢視開發板的狀態。

認識Mediatek CloudSandbox

MediaTek Cloud Sandbox 是MediaTek Labs 為LinkIt ONE 提供的專屬雲服務,提供了聯網裝置最重要的資料儲存以及裝置管理服務,對於有意將裝置原型進一步商品化的讀者來說,是一套相當便利的系統。LinkItONE 與MCS 溝通的方式是藉由RESTful API ,這套輕量化的資料交換格式可以讓使用者專注在取得最重要的實體運算資料,而非惱人的網路協定。而在MCS 所提供的各種資料通道(Data Channel)中,您很容易就能為所有建置的物聯網或穿戴式裝置建立一個資料監控面板,同時透過網頁與Android 智慧型手機的應用程式來檢視。愛運動的朋友們也能輕鬆完成可即時上傳心跳資料的健康管理程式。

請先到MCS 網站註冊一個帳號, 接著就用這個帳號登入MCS , 並切換右上角的語系為繁體中文。登入後首頁如圖1。右上角的Resources 與Help 等兩個選單中有許多參考資料,請自行參考。接下來就一起來操作吧!

圖 1 MediaTek Cloud Sandbox 個人首頁。

新增原型Prototype

請在首頁左上角的開發選單下點選「原型」,這是使用者帳號下所有的原型列表。接著請點選「創建」按鈕,這時會有一個對話視窗要求您填入對應的資訊(圖2),在此「產品原型名稱」欄位用的是cavedu , 您可以改用您喜歡的名稱。產品原型版本則代表這個原型的版本代號, 請輸入1.0即可。之後如果有加新功能的話,可以改為1.1 代表小改版, 或是2.0 代表大改版。「硬體平臺欄位」請選擇LinkIt ONE (MT2502), 代表我們要使用的LinkIT ONE 開發板。

圖2 建立原型。

中間的「描述」欄位請輸入關於這個原型的一些說明。「產業」欄位請輸入您所屬的產業類別,並接著設定好「應用」領域。最後還可以上傳一張圖片來代表這款原型,完成如圖3。這些資訊在建立原型之後都可以修改,但請注意您可以建立多個相同名稱的原型,小心別搞混囉。

圖3 建立原型完成。
圖3 建立原型完成。

新增測試裝置之後會自動產生DeviceId 與DeviceKey , 您的LinkItONE 就是靠這筆資訊來連到MCS。每個MCS 程式都需要正確的DeviceID 與DeviceKEY , 別忘了修改。另外,每次新增或修改資料通道之後,都要重新產生測試裝置。換言之,同一個原型下可以有多個測試裝置,讓您可以在相同的架構下產生不同的測試版本。

新增資料通道

請點選這個原型的「詳情」按鈕,會進到圖4 的畫面。在此可以檢視這個原型的詳細資訊,也是在此頁面來新增資料通道。

圖4 產品原型的詳情頁面。
圖4 產品原型的詳情頁面。

請點選畫面左下角的新增按鈕來新增資料通道,目前共有兩種資料通道:「控制器(Controller)」與「顯示器(Display)」。

圖5 選擇資料通道類型。
圖5 選擇資料通道類型。

根據我們下一個範例,請新增一個控制器(Controller), 這時會跳出視窗(圖6),請填入對應資訊。「資料通道名稱」為「繼電器控制」,「資料通道Id」則是「relay」,「描述」可留空白。「資料型態」請選擇「開關」(點選之後會出現預覽圖),這是對應到程式語言的布林(boolean) 資料型態。這些設定在之後都可以修改,就大膽按下去吧!新增完成後如圖7。

圖6 新增資料通道視窗。
圖6 新增資料通道視窗。
圖7 建立控制器資料通道完成。
圖7 建立控制器資料通道完成。

新增測試裝置

請回到裝置原型頁面,在右上角點選「創建測試裝置」來新增一個測試裝置。在視窗中填入這個測試裝置名稱即可,「裝置名稱」欄位就是您要取的名字,這是必要欄位,在此請輸入「relay_test」,「裝置描述」欄位為裝置說明,可不填。新增完成之後,請點選左上角的開發選單下的「測試裝置」即可看到這個測試裝置。

點選這個測試裝置的「詳情」按鈕,就能看到它的詳細資料,如圖8。可以在畫面右上方看到DeviceId 與DeviceKey 這兩個最重要的資訊,剛剛新增的開關制器也顯示在畫面左下角的「資料通道」標籤下了。只要這時LinkIt ONE 正確連上MCS ,我們就可以在這個頁面進行控制。

圖8 測試裝置的詳情頁面。
圖8 測試裝置的詳情頁面。

下一期將告訴您如何讓 LinkIt ONE連到MCS 來控制繼電器, 藉此就能控制各種家電, 例如檯燈與電風扇,實現您智慧家居生活的第一步!

參考資料:

文章原文刊載於《ROBOCON》國際中文版2016/1月號

馥林文化_96
54 篇文章 ・ 6 位粉絲
馥林文化是由泰電電業股份有限公司於2002年成立的出版部門,有鑒於21世紀將是數位、科技、人文融合互動的世代,馥林亦出版科技機械類雜誌及相關書籍。馥林文化出版書籍http://www.fullon.com.tw/

0

0
0

文字

分享

0
0
0
LinkIt ONE穿戴式裝置與物聯網應用:LinkIt ONE的SD卡與音樂播放
馥林文化_96
・2015/12/16 ・1459字 ・閱讀時間約 3 分鐘 ・SR值 544 ・八年級
相關標籤: LinkIt ONE (7)

立即填寫問卷,預約【課程開賣早鳥優惠】與送你【問卷專屬折扣碼】!

 

文/CAVEDU教育團隊

各位讀者,本系列專欄已經進入第4 回了,大家有一起動手做嗎? LinkItONE 這塊Arduino 相容板很適合用來進行各種穿戴式裝置與物聯網專題,歡迎和我們一起學習!本期要介紹LinkItONE 的音源輸出功能,要不要做一個小型MP3 隨身聽呢?

LinkIt ONE 的SD 卡與音效輸出

LinkIt ONE 有一個音源接頭,可以接上耳機或小型喇叭等播音裝置。您只要在SD 卡中放置音樂檔,並在程式中指定路徑與檔案名稱即可播放。在本範例中的檔案名稱為hello.mp3 ,如果使用不同檔名的音樂檔的話,請記得在程式碼中修改檔名。LinkIt ONE 支援的音效格式還有.aac、.amr 與.wav , 您可以運用音樂播放功能,在系統偵測到某些狀況時自動播放音樂,打造如歡迎光臨之類的功能。LinkIt ONE 背面有一個SIM 卡與SD 記憶卡的雙用插槽, 請插入您的micro SD 記憶卡槽(圖1),並安裝本文最後的程式即可。

圖1 LinkIt ONE 背面的micro SD 記憶卡插槽(圖左邊緣部分凸起位置)

所需零件:

  • LinkIt ONE開發板
  • 耳機或桌上型小喇叭(需另接電源)
  • micro SD卡,1片(容量根據您所要播放的音效檔案大小與數量而定)
  • 按鈕,1個
  • 220Ω電阻,1個

音樂播放器是有許多實體按鈕的,本範例會使用一個按鈕來依序切換五個功能。您在市面上可以買到的按鈕如圖2 ,兩支腳或四支腳都可以,本範例採用兩支腳的版本。一邊請先串連一個220Ω 電阻接地, 再分接到LinkIt ONE 的數位腳位D5 , 另一邊則直接接到板子上的5V 腳位, 完成如圖3。

圖2 市面上常見的按鈕
圖3 完成圖。

程式說明

本範例是一個迷你音樂播放器,可以利用接在 D5 腳位上的按鈕來切換「播放」、「設定音量」、「暫停」、「繼續播放」與「停止播放」等功能,這五個功能算是音樂播放程式的基本功能,您可以觀察一下您手邊的iPod 或是音樂播放器還有哪些按鈕。接著介紹程式中幾個比較重要的指令:
設定一個字元陣列做為暫存器,可以存放音樂播放器是處在哪一個狀況。

函式Scan_KEY() 是用來檢查按鈕是否壓下。

建立一個Change_Status 的函式,用按鈕切換目前的控制模式。在一開始有先定義KEY 為五種模式:「Play」( 播放)「SetVolume」( 設定音量)、「Pause」( 暫停)、「Resume」( 繼續播放)、「Stop」(停止播放)。然後根據status 這個值,執行指定動作。本函式可接受外部傳進來的參數,並以switch 結構來執行五個case 的其中一個,藉此對應到音樂播放器的功能。您可看到有一個名為default 的case ,如果收到沒有定義的參數的話,就會由default 來處理,以本範例來說就是直接跳出迴圈。您可以在switch 結構中加入更多case 來擴充您的音樂播放器。

主程式中會判斷音樂是不是已經播放完畢,並且將KEY 變會預設的Play繼續播放音樂。如果再按一下按鈕就可以停止播放。

操作時, 請把耳機或小型喇叭等播音裝置接上LinkIt ONE 的音源接頭,並將您想要的音效檔(別忘了:檔名與副檔名要完全一致)燒錄進一張micro SD 記憶卡中,再插入LinkItONE 背面的 SIM/SD 卡插槽即可。本期專欄要怎麼改裝呢?您可以加裝多個按鈕,讓本範例的五個功能都有獨立的對應按鈕的內容來控制更多裝置, 例如簡訊內容為「ONOFF」,就可以分別控制LED 與電風扇的開關。畢竟發簡訊需要費用啦,要好好運用它的內容才行。

文章難易度
馥林文化_96
54 篇文章 ・ 6 位粉絲
馥林文化是由泰電電業股份有限公司於2002年成立的出版部門,有鑒於21世紀將是數位、科技、人文融合互動的世代,馥林亦出版科技機械類雜誌及相關書籍。馥林文化出版書籍http://www.fullon.com.tw/