馬蓋先老爸必讀:教你按圖索驥打造智慧嬰兒車

評論
評論

智慧型連網嬰兒車團隊- Mark Davis, Joshua Sackos, Brian Lancaster, Jacob Wolf, Monique Tucker

關於作者

Joshua Sackos 是波特蘭州大學電控工程系學生。他有 10 年以上的電腦編程經驗和 2.5 年嵌入式系統經驗。他之前是 single event upset mitigation system for reconfigurable devices operating in the space environment 團隊當中的成員。另外在嵌入式系統的領域他也有運用 HDLs 在數位設計上的經驗,感測器,HPC,和電子商務網站的開發。他在 2013 華盛頓大學完成電腦工程學士學位。

您可以在 http://www.joshsackos.com. 找到新的專案。

 

這篇文章將探討英特爾在 2014 年美國奧勒崗州,波特蘭所舉辦的黑客松聚會中所開發的智慧型連網嬰兒車,並且展示如何讓您能夠自己來開發智慧型連網嬰兒車。這個嬰兒車的特點是採用英特爾的 Edsion 開發板,自動剎車系統,轉彎訊號,雲端資料同步以及一個 Android 軟體來發送雲端資料。

 

智慧型連網嬰兒車的緣起是來自於一個嬰兒車不慎掉落火車軌道的 YouTube 影片。這個事件激勵了如何運用科技來預防這類的事情未來再發生的研究。這個專案的主要用意原本是要防止脫韁奔逃的嬰兒車;然而,簡明的設計,以及開發過程當中附加的功能,讓父母親使用嬰兒車的體驗更加豐富。

 

不論何時當父母親鬆開嬰兒車的把手則前輪就會鎖上以預防前輪滾動。一但父母親碰觸把手則前輪的剎車鎖就會鬆開並且讓嬰兒車能夠自由移動。智慧型連網嬰兒車的轉彎訊號是 LED 燈帶,並且在收到訊號時會發出亮光。然而當同時被觸發時, LED 燈帶會發亮但不會觸發剎車。所有資料會透過英特爾的 Edison 開發板上的無線網路上傳雲端,並且父母親下次可以從手機存取這些雲端上的嬰兒車軌跡。

 

以下是您所需要清單

 

安裝英特爾 Arduino 擴充板和最新版本軟體的英特爾 Edison 板

最新軟體請參考英特爾 XDK 物聯網版

3 個 Grove* 智慧型繼電器 (v 1.1)

4 個 Grove* -- 觸控感測器 (v1.0)

7 個 Grove* -- 連接器 (最少)

1 個 Base Shield V2

2 個 LED 燈帶 (12V)

1 個牽引式電磁鐵 (12V)

1 個 RadioShack 276-159B 板

1x 12 伏特電池

1 台嬰兒車

視情況需要 5 ~ 10 ft. 的 22AWG 延長線

 

智慧型連網嬰兒車如何運作

 

智慧剎車器

自動剎車系統包含了兩個電容式感測器 ( capacitive touch sensors: Grove* -- Touch Sensors ) 和一個繼電器 (relay: Grove* -- Smart Relay),以及一個 12 伏特的牽引式電磁鐵 ( pull-type solenoid ) 電容式感測器是裝在嬰兒車的把手上,而英特爾 Arduino 擴充板連接感測器的輸出,當左右的感測器被觸發 (父母親碰觸把手) 則一個高電位輸出訊號便會透過繼電器控制牽引式電磁鐵來鬆開煞車,相反的,當左右兩個感測器都沒有被觸發 (父母親沒有碰觸把手) 則便會發送低電位訊號將前輪煞住,牽引式電磁鐵推或拉這個金屬桿的功用就如同前輪剎車器可以煞住嬰兒車,詳細剎車系統的圖示以及控制電路請參考圖 2。

 

02-smart-brake

圖 2-智慧剎車機制和控制線路

 

轉彎訊號

轉彎訊號系統包含兩個 12 伏特的 LED 燈帶,兩個繼電器,和兩個安裝在嬰兒車把手的電容式感測器。如同剎車系統,電容式感測器的輸出腳位接著英特爾 Arduino 擴充板的輸入腳位。每一個轉彎訊號含一個電容式感測器,一個繼電器,和一個 LED 燈帶。當父母親只碰觸左邊的電容式感測器轉彎訊號,則輸出腳位所控制的左方 LED 轉彎訊號將會觸發,

接著左方 LED 轉彎訊號將會開始閃爍。當父母親只碰觸右方的電容式感測器轉彎訊號,控制繼電器的另外一個輸出腳位將會被觸發而且右方的 LED 轉彎訊號會開始閃爍。如果父母親同時碰觸左右兩端的電容式感測器轉彎訊號, LED 燈帶會發亮但不會觸發剎車。詳細電路請參考圖 3。

 

03-turn-signal

圖 3-轉彎訊號線路

 

雲端儲存與 Android 軟體

記錄在雲端的資料包含感測器資料,剎車事件,左轉和右轉。 Android 軟體以三個長方形來表示左轉、右轉、剎車事件,以及一個文字區來表示每次所記錄的事件。運用 HTTP post 編寫雲端的 JSON 編碼資料結構。本文並不含蓋 Android 軟體的開發以及雲端儲存的設定。圖 4 為 Android 軟體開發的智慧型連網嬰兒車。

 

04-stroller-app

圖 4-智慧型連網嬰兒車 Android 軟體

 

硬體概述

 

智慧物聯網線路圖

圖 5 是一個完整的智慧型連網嬰兒車線路圖。請注意圖中英特爾 Arduino 擴充板和周邊硬體元件 (智慧繼電器,觸控桿測器) 的腳位連結並沒有顯示出 Grove 連接所需的 Base Shield V2 。這個 Base Shield V2 是一個硬體模組且可以直接插入 Arduino 擴充板以及可以將數位類比腳位跳線到 Grove 連接器。

 

05-hardware-schematic

圖 5-智慧型連網嬰兒車的完整硬體線路

 

電力配置

繼電器、LED 燈帶、電磁鐵以及英特爾 Arduino 擴充板 (經由 DC 傑克) 都需要存取 12 伏特的電池。所以,還需要一個客製化的配電板。圖 6 秀出一個尚未修改的 RadioShack 276-159B 板和在智慧型連網嬰兒車設計硬體元件當中所需的所有電源連結。 Note A 連接 12 伏特的電池正極,另外如圖 6 所示 Note A、B、C、D 也都連接到 12 伏特的電源。同理,一個接地 (GND) 的 Note F 連接到電池負極另外 Note F 、G、H、I、和 J 也都接地 (GND)。每一個硬體周邊都經由 12 伏特的電閘來獲得電源並且藉由 GND 的電閘共享 0 伏特電位。這個例子中利用 RadioShack 電池室裝 8 個 AA 電池來提供所需的 12 伏電源。

 

06-power-board

圖 6-配電板

 

Grove-智慧型繼電器

圖 7 是 Grove 的圖示-智慧型連網嬰兒車完整線路圖 (圖 5) 中所用到的參考指標智慧型繼電器。如圖 7 所示 SIG、NC、Vcc,和 GND 接腳是 Grove 母頭的一部分。繼電器所控制用來供給周邊設備的電壓是輸入到 Grove 的導線端子座-智慧型繼電器。如圖 7 所示 Vin 腳位是在導線端子座的左方而 Vout 腳位是在導線端子座的右方。

 

07-smart-relay

圖 7-Grove-智慧型繼電器

 

循序漸進的步驟

 

1.安裝英特爾 Edison 板和 Base Shield v2

一開始將英特爾 Edison 板和 Base Shield v2 安裝到英特爾 Arduino 擴充板上。英特爾 Edison 板要插入英特爾 Arduino 擴充板的參考指標 J7 。接下來,利用您的擴充板所提供的小螺帽和螺栓,栓緊英特爾 Edison 板。將 Base Shield v2 插入 Arduino 擴充板並且確保 Base Shield v2 上的電壓選擇開關是設為 5 伏特。詳細的安裝位置和安裝後的硬體完成圖請參考圖 8。

 

08-base-shield

圖 8-安裝英特爾 Edison 和 Base Shield v2 的前後比較圖

 

2-智慧剎車

將電磁鐵的正導線連接到繼電器的 Vout 來控制電磁鐵。

利用 Grove 連接器來連接智慧型繼電器到 Base Shield v2 上安裝的 Grove 連接器 D2

 

3-左轉訊號

將左轉的 LED 燈帶的 12 伏特輸入線連接到用來切換左轉訊號繼電器的的 Vout

利用 Grove 連接器來連接智慧型繼電器到 Base Shield v2 上安裝的 Grove 連接器 D3

 

4-右轉訊號

將右轉的 LED 燈帶的 12 伏特輸入線連接到用來切換右轉訊號繼電器的的 Vout

利用 Grove 連接器來連接智慧型繼電器到 Base Shield v2 上安裝的 Grove 連接器 D4

 

5-觸碰感測器

利用 Grove 連接器來連接電容式感測器到安裝好的 Base Shield v2

2015-07-24 17.06.16

表 1. 電容式感測器與 Base Shield v2 的對應

 

6-連接配電板

跳線連接智慧型繼電器的 Vin 和配電板的 12 伏特電閘 (參考圖 6)。

同樣的,電磁鐵接地線,左轉的 LED ,和右轉的 LED 都需接在配電板的 GND (參考圖 6)。

利用跳線將這些周邊連接。配電板上的 DC 傑克連接到擴充板的 J1 ,以上接線請參考圖 6。

 

7-完整的接線

在完成上述步驟 1-6 之後您的硬體應該如同圖 9 所示

09-hardware-connections

圖 9-完整的硬體接線

 

8-新增 英特爾物聯網 XDK 專案

打開英特爾 XDK 物聯網 Edison 並新增" Smart_IoT_Stroller " 的專案。

英特爾 XDK 物聯網 Edison 的相關協助請 參考

 

9 –智慧型連網嬰兒車程式碼

檔案: main.js

 

從下面的 GitHub URL 下載 main.js 檔案並且將他輸入您的智慧型連網嬰兒車 XDK 專案。

這個程式會設定 GPIO 智慧型連網嬰兒車中 setupIO() 所用到的腳位。在設定完硬體方向和控制繼電器所用到的輸出腳位初始值之後,每 500 毫秒 JavaScript setInterval() 會呼叫 (參考第 90 行) 定義為第一個參數的函式。原本在 C/C++ Arduino 專案這會預設值是無窮迴圈;然而不同於 Arduino 中無窮迴圈,這個函式/迴圈的程式碼會每 500 毫秒只執行一次。如果要更改這個頻率只需簡單的修改 setInterval() 中的第二個參數。參數二是再次呼叫函式所需等待的毫秒數。定義在 setInterval() 函式中的第一個參數,每個電容式感測器會去讀去,並用來控制電磁鐵的狀態,左轉 LED 燈帶,以及右轉 LED 燈帶。所有電容式感測器狀態的改變,電磁點、左轉 LED 、右轉 LED 都會透過 save_to_cloud() 函式儲存在雲端。

 

請注意: 第 41 行 CLOUD_STORAGE_URL’ 雲端儲存 URL 變數必須替換成您的 URL

GitHub URL

 

檔案: package.json

要在智慧型連網嬰兒車執行 HTTP posts 用戶端程式必須包含在英特爾 XDK 專案的相關性列表中。開啟英特爾 XDK IDE 左手邊的 package.json 檔案。在 package.json 檔案中加入 request:latest 並且儲存這個檔案。在加入要求的用戶端程式之後,您的 package.json 檔案應該看起來類似如下連結中的 package.json 檔案。

GitHub URL

 

10 – 建造並程式化您的 Intel® Edison 板

用 Micro-USB 線連接您的 PC 和英特爾 Arduino 擴充版,並且連接英特爾 XDK IDE 與您的板子。建造智慧型連網嬰兒車專案並且上傳到英特爾 Edison 板子。利用您的擴充版中斷兩個 USB 線的連結。詳情請參考圖 10。

 

10-xdx-ide-connect-program

圖 10-英特爾 XDK IDE – 連接,建造,程式

 

11 – 雲端儲存與 Android 軟體

智慧型連網嬰兒車的雲端儲存應用是利用微軟的 Azure 行動服務。 Android 手機軟體是 Xamarin 所提供。本文並不包含雲端儲存的建設與 Android 軟體的開發;然而,下列的連結可提供開始雲端儲存與 Android 軟體開發的參考。

 

 

 

12 – 連接電池

裝上 8 個 “AA”電池來啟動您的智慧型連網嬰兒車。在啟動您的設計之後等待 20 秒鐘讓英特爾 Edison 開機。

 

13 – 配置智慧型連網嬰兒車

一但英特爾 Edison 開發板完成開機,不同的觸碰組合概述在下列的影片當中。如果您的智慧型連網嬰兒車的硬體配置是正常工作的,那就可以安裝這個硬體在您的嬰兒車上了。如果您的硬體配置不能正常工作,請再次瀏覽這份文件並且確認所有的硬體與軟體配置是正確的。

 

14 -配置智慧型連網嬰兒車

安裝運行正常的智慧型連網嬰兒車軟體與硬體在您的嬰兒車上。圖 11 是智慧型連網嬰兒車專案的安裝配置。

 

larger_figure_11

圖 11 – 安裝完硬體的智慧型連網嬰兒車

結論

 

安全考量

這個設計試圖去證明物聯網裝置如何讓日常生活更加智慧化而並不是試圖去用在真實世界當中。如果嬰兒車開始啟動但是這個系統的電池電量不足,則電磁鐵將會失去電力以及所延伸的金屬手把。就好像在使用剎車也可能不慎的引起嬰兒車翻覆。另一種方式則是有一個由英特爾 Edison 板子所控制的手動剎車系統,如此一來即便電磁耗盡剎車功能仍然可以保有。

 

物聯網-以連結的世界

整合科技到日常所需的事情讓便利性更加提升,允許資訊收集,提供雲端的存取,增進人們的生活品質。物聯網開啟健康資料的收集、通訊、重要系統的狀態,以及科學量測。物聯網是一個新興的市場並有著無限的可能性。

 

您想做什麼呢?

 

更多精選文章...

 

歡迎加入"Inside" Line 官方帳號,關注最新創業、科技、網路、工作訊息

好友人數

精選熱門好工作

客服服務品質稽核專員

樂購蝦皮股份有限公司
臺北市.台灣

獎勵 NT$20,000

平台客服人員

樂購蝦皮股份有限公司
臺北市.台灣

獎勵 NT$20,000

高階平台開發者 / Sr. Platform Developer

奔騰網路科技有限公司
臺北市.台灣

獎勵 NT$20,000

評論