小朋友偷懶不刷牙,運用 IoT 不用盯著也能做到監督

這個DIY專案向您展示如何將一個從商店裡買來的牙刷架轉變成一個家用物連網的產品。英特爾 Edison 開發板提供了 一個小巧且有計算能力的方式來鼓勵健康習慣—只需要使用您既有牙刷與牙膏。
評論
評論

關於作者 Nathan Carver 經過曲折的道路來到物連網的領域。以前曾經在 Ringling Brothers 扮演小丑,他現在是一家名為 Crisp Media 的移動廣告公司的工程副總。之前的工作包含管理一個專業的服務部門, 創辦一間軟體公司,在 Singer and Saw 表演 ,並且在 Hudson 河航行。他住在紐約且其他的專案可 在此取得

本文受 Intel 官方授權翻譯,本文譯自 《創建 T.E.E.T.H. – 將英特爾® Edison 物聯網技術帶進您家中》

 

Nathan C. 於 2015,1 月 15 提交 Share

這個 DIY 專案向您展示如何將一個從商店裡買來的牙刷架轉變成一個家用物連網的產品。英特爾 Edison 開發板提供了 一個小巧且有計算能力的方式來鼓勵健康習慣—只需要使用您既有牙刷與牙膏。 為英特爾 Edison 開發板開發程式可能會用到您已經掌握的程式技能。因為這個開發板內建無線功能並且執行 node.js 來連接硬體,您可以使用 JavaScript*來編寫程式。這意謂著大多數的網頁開發人員能夠以英特爾 Edison 開發板快速的開始編寫物聯網程式。 下列步驟概述所需的開關、螢幕和感測器並將任何一個牙刷支架轉變成為 T.E.E.T.H 鼓勵每人健康的定時器。原始碼的部分展示了一個簡單的 node.js 專案如何控制那些功能並聯結到網際網路來做雲端分析與郵件傳送。圖一為整個專案的顯示圖。

使用 T.E.E.T.H 智慧型牙刷計時器

首先將您的牙刷從支架中取出。計時器便啟動並等待您開始刷牙。由美國牙科協會*所推薦的兩分鐘刷牙時間,計時開始時 LED 螢幕中會顯示鼓勵的文字。螢幕中的顏色會逐漸淡去直到您刷牙結束。別擔心如果您閉著眼睛刷牙,會有聲音播放直到結束來提醒您。當您放回牙刷 (或是您離開房間並關燈) 之後計時器便會停止。在這之後,支架會將您的時間資料上傳雲端。如果您有達到您的目標,他還會發送一個祝賀電子郵件。最後您能登入雲端查看每隻在支架裡的牙刷的進度。您可以監控這些物聯網資料來鼓勵家中成員養成健康習慣。

 

購買與計畫

開發此專案所需時間預估: 2-3 小時

費用: $75 -- $100 (約台幣 2250-3000 元左右)

圖2顯示這個專案所用到的各個部分

圖 2 – T.E.E.T.H 專案所用到的各個部分

 

材料

  • 牙刷支架
  • 英特爾 Edison 計算模組
  • 英特爾 Edison 擴充板
  • 控制桿開關(每隻牙刷一個)
  • 塑膠平台(每隻牙刷一個)
  • 10K 電阻 (通孔,每隻牙刷一個)
  • Grove – LCD RGB 背光
  • 光阻器光線感測器
  • 壓電陶瓷蜂鳴器
  • USB接口的通電電池
  • 矽黏著劑與密封劑
  • 專案代碼
  • 連接線

工具

  • Intel® XDK IoT Edition 和USB線的電腦
  • 烙鐵與焊錫
  • 根據您選擇的支架適合的切割工具

步驟

1. 準備支架

我選擇一個竹製的夾刷支架,所以我能夠輕易的鑽出所需的孔並裝上所需要的元件,並且大部分的走線是隱藏在內部。您所需的工具取決於您選擇的支架的材料。又或許您可以製作一個底座來代替。 掛載一個LED螢幕在前方 在支架頂部鑽出一個足夠容納整個LCD的洞。然後將切下的部分為螢幕切出一個較小的洞。用竹子碎屑填滿並將組裝黏回支架(圖3)。

圖 3 – 掛載 LED螢幕

另一個方式是您可以簡單的將整個模組用螺絲釘鎖在外部。這根據您個人的審美觀。不論您怎麼做,要點是確保您的LED線能夠連接到將被掛載到背後的英特爾 Edison 擴充板。

 

底部加入槓桿開關

任何偵測動作的感測器在此皆能用。我選擇槓桿開關而非紅外線傳感器之類的東西來降低耗能。不過,一個牙刷約只有 15 克,所以您需要一個非常敏感的開關。

由於開關很小,所以我還加了一個平台讓牙刷放置在支架中的任何位置都能觸發開關。我的平台是 從一個塑膠工具箱的隔板上切割下來的。(我通常會準備比實際上所需要的還多一些,因此切出一塊適合的平台很快也很便宜) 您還要焊接一條連接線到開關。將一條線接到地/共用腳位,另一 條接到 NC(通常是關閉的) 腳位。

圖 4 – 安裝槓桿開關

因為碰觸槓桿的背面並不會觸發開關,我已經安裝好開關所以背面實際上是在牙刷支架隔板裡面 (圖 4)。至於 LCD 螢幕,須確保您的線可以接到擴充板。我在支架背面鑽了一個洞將線材 (大部分) 隱藏起來。

 

在前方增加一個光線探測器,並在後方增加一個蜂鳴器

焊接一根足夠長且能夠接到支架背面擴充版位置的連接線來準備光線探測器和蜂鳴器。我在前方鑽了一個適合光線探測器的孔 (圖 5)。位在前方的位置剛好使感測器能夠精準的讀取房間裡的環境燈光。我在背面的位置切出一大一點的洞給蜂鳴器,所以對於牙刷支架原本的外貌不會有太多的影響,還能預防在早上的時候聲音太大聲。

圖 5 – 孔洞與蜂鳴器和光線感測器的安裝

暴露的電子零件防水處理 因為這個專案必定會被弄濕,所以為您的連接線做一些防備措施。利用防水膠或者是其他的黏合劑來將外露的電子零件和接線覆蓋 (圖 6)。例如我在 LCD 組件背面使用了很多的防水矽膠。但是要確保槓桿開關沒有被覆蓋而且他們還能保持倆良好的接觸。

圖 6 – 使用防水矽膠或另外一種黏合劑來防水

將組件連接到擴充板 我第一次做這個專案的時候用了一塊麵包板來測試我的開發板和連線 (圖 7)。您可能在最後幾個步驟的時候也需要做同樣的事情。

圖 7 – 麵包板接線,電池,和 LCD 螢幕

 

按上圖將元件連接到開發板的腳位 (圖 8)。大部分都可以直接連接,但是我有加了 10K 的下拉電阻來降低開關的噪音和防止讀取錯誤。

圖 8 – 擴充板的連接

將英特爾 Edison 運算模組加到開發板上,如此一來您的硬體部分就大致完工了。我們會很快的裝上電池。現在您的專案應該十分類似下圖所示。

圖 9 – 硬體安裝基本完工

 

2. 準備英特爾 Edison 開發板和雲端服務

英特爾的物聯網站上有英特爾 Edison 開發板 起動與運行的文件 。按照這些指示將您的電腦連接到開發板上。

無線網路的設置

因為這個專案使用 Wi-Fi 連接雲端並發送電子郵件,您也需將板子設定連接到路由器。這簡單的運用英特爾 Edison 開發板既有的功能,更多的資料可以在上述的入門聯結中找到。

設定一個物聯網分析帳號

這個專案使用英特爾物聯網開發套件雲端分析來儲存資料。您可以從下列網站創立一個帳號: 網站連結

將元件新增至雲端

在物联網分析表中完成你的英特爾 Edison 開發板注册後,你必須通過創建定制的元件來為你的数據準備雲。您將為每支牙刷創建一個訂製的元件。您所給定的名稱將會在您的報告當中顯示。按照 這些指示 來開啟您的元件

在英特爾 Edison 開發板上註冊元件

一但在物聯網分析表上新創好元件,您需要在開發板上註冊這些元件。您在這個步驟所使用的名稱將會是把 資料存到雲端的原始碼中所使用的名稱。在開發板上註冊元件請參考 相同的指令

在英特爾 Edison 開發板上啟動英特爾代理引擎

英特爾 Edison 開發板使用一個內建的服務來跟雲端通訊。這個服務必須執行這些程式來連接與傳送資料。在完成上面聯結中所提到的指令後,您就可以發送指令來測試板子能否聯接到雲端並且傳送資料到您的客製化元件。

 

3. 編寫英特爾 Edison 開發板程式

當硬體完成而且服務也準備妥當,是時候來編寫 T.E.E.T.H 的程式了。

英特爾 XDK IoT Edition 聯接開發板

英特爾 XDK IoT Edition 是協助您在開發板子上新增 node.js 專案的開發環境。它包含很多範例。相關文件可在 下列聯結 中找到

載入程式

在 GitHub 上 下載 或複製 原始碼 。這個檔案依循一個小的 node.js 專案的結構

  • readme.md – 文件及版權資訊
  • package.json – 定義相關文件的 專案描述
  • main.js – 執行 T.E.E.TH 的所有程式碼
  • node_modules –當您第一次新創這個專案相關函式庫的目錄

設定 SMTP 服務

在 main.js 上方定義了許多的常量。您將需更新很多值來匹配您的家裡環境與您的喜好。至少,您需要更改 MAIL.user,MAIL.pass 和 Mail.brushTo 的值。這些屬性定義了 SMTP 郵件服務如何聯接網際網路以及 T.E.E.T.H 電子郵件應該送往何處。

圖 10 – 設置 Mail.user,Mail.pass,Mail.brushTo

使用已註冊的分析元件名稱

使用您在常量區域裡所註冊的物聯網分析表中的名稱, METRICS.brushComponent. 這是一個您的專案當所有元件的陣列。對我而言,它有兩個元素。

圖 11 – 物聯網分析表

加入更多的牙刷

如果您已經做好一個容納兩支牙刷以上的支架,您必須更改程式中的常量區域來反映這個事實。當牙刷相關數值出現時,程式會使用陣列結構。按照這些常量為每支牙刷新增額外的陣列元素: METRICS.brushComponent, MAIL. brushTo.PINS.brushSwitch, SCREEN_MSG.brushName, TIME.brushPreptime, and TIME.brushGoaltime.

 

4. 了解程式碼

儘管這個專案可能由多個檔案組成,每個元件一個檔案,我覺得如果只有一個 main.js 檔案會更加簡單。這個專案不需要很多程式碼,因此更多的文件可能複雜化這個簡單的專案。

 

所需的函式庫

一個 node.js 專案,程式碼依賴其他的元件來跟硬體、分析程式、和電子郵件溝通。

常量

這是唯一需要修改的地方。根據需求更改常量值,來改變顏色、螢幕訊息、電子郵件,甚至時間間隔。

計時器

為了簡單化,所有的計時器都存放在全域物件中。這樣允許 setTimeout 和 setInterval 的函式呼叫來存取計時器。

日誌

日誌類別輸出控制台訊息,按照傳統的方式根據錯誤、警告和資訊來限制輸出。

感測器

感測器類別,您會發現控制通用輸入輸出腳位的原始碼有多簡單。牙刷開關與光線感測器的值在這裡被讀取。

蜂鳴器

蜂鳴器類中的大部分程式碼被用來播放計時器開始與結束的輕快鳥叫聲。

螢幕

螢幕類負責所有 LCD 螢幕的指令,它通常有兩個功能: 顯示文字消息和改變背景顏色

郵件

郵件類利用 SMTP 並使用所需的 node_module 來傳送電子郵件。當傳送嚐試失敗時它包含了 一些錯誤檢查。

韻律

韻律類是幫助的最後一項。他用板子上的本端接口來傳送分析資料到 iotkit-agent 程式。一旦連線時錯誤發生,錯誤訊息會被送到控制台以便偵錯。

牙刷

這是主要類別,包含了這個專案中所有的邏輯。牙刷呼叫感測器類別來監控開關與燈光,蜂鳴器發出聲音警告,螢幕類別顯示訊息,郵件類別傳送郵件,韻律類更新物連網開發板。如果您想要更改您的功能,這裡就是所需更新的地方。

 

5. 測試

趁著開發板和牙刷支架還連接在電腦上時花些時間做測試。這是在您的環境下檢查控制台輸出與偵錯程式碼最簡單的方式。

確認感測器與顯示

使用英特爾 XDK IoT Edition 的 Install/Build 按鈕將程式碼發送到開發板並執行 NPM 來建立 node 專案。按下運行按鈕來啟動 T.E.E.T.H.

透過使用一根牙刷來啟動支架內的每一個控制開關來測試支架。您將看到 LCD 螢幕點亮並且能夠顯示控制台的輸出。同時,蜂鳴器應該響起而且如果您遮住光線感測器,計時器應該關閉。

檢查郵件

讓計時器運行到最後以便執行電子郵件的功能。根據您的服務而定,您應該在幾分鐘之內在您的收件夾中收到一封電子郵件。

查看分析

最後需要確認的是分析的部分。使用您的支架上所有的牙刷來測試每個開關。登入分析表並確認您看到每個客製化元件的資料。

 

6. 加入電源

最後終於準備好將英特爾 Edison 開發板從您的電腦上移開,並將牙刷支架作為一個獨立的物連網設備放回浴室。

安裝電池

用一個有 USB 線的可充電電池來替擴充板提供電力 (圖 12)。我用的是研討會時的所送的展場禮物。它本來是幫手機充電的但是在這個專案中也十分適合。我保留了 USB 接口以便充電。

未命名
圖 12 – 安裝電池

完成英特爾 Edison 開發板封裝

記住這個專案會被弄濕。採取預防措施來保護您的電池和開發板以及任何外露的電子元件。這是我最後版本的圖片。

圖 13 – 最後版本

更進一步

這個專案中我們只是剛剛開始利用英特爾 Edison 平台的無線網際網路和雲端資料的可能性。這些原始碼可以簡單的修改應用於其他的技術。例如,您也許要用純文字或是推特來取代電子郵件。又或許您使用其他的雲端服務例如 Xively 取代物連網分析。甚至傳送給喇叭的開始和結束聲可以換成您所喜愛的 mp3 檔案。您可以利用替換 node.js 模組來快速的調整您想使用的模組。

此外,智慧型牙刷可以更加智慧化。類似 Nest 遇到 T.E.E.T.H。目前資料只是單向的輸出到雲端,但是利用這些資料當成計時器的輸入將其變成一個學習工具。例如,如果您似乎從未在整整兩分鐘完成,計時器可以給您設定較低的目標來增加每次成功的機率。與其使用一个固定的準備時間,一個對刷牙環境聲音有反應的感應器可以適應你的習慣。即使不做任何调整,这仍是一个將物聯網帶進你家裡非常棒的項目。把它當成浴室 2.0 運動的一部分。

 

更多 精選文章....

 

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

好友人數

遠傳子公司-博弘雲端科技稱霸台灣,化身「助飛員」幫企業飛上雲端,打造現代化 IT 架構

21 世紀的企業踏上數位浪潮,紛紛展開「上雲計畫」推動 IT 雲端化轉型工程。台灣第一家 AWS MSP 代管服務合作夥伴,即為遠傳子公司-博弘雲端科技(以下稱博弘)擔起「助飛員」重任。為各產業客戶提供雲端搬遷、資安防禦、數據資料庫、視覺化圖表、開發工具等一站式雲端解決方案。
評論
photo credit:遠傳
評論

博弘年營收成長率達 70%,於 2019 年加入遠傳,將雲端服務結合「大人物」(大數據、人工智慧、物聯網),為遠傳大人物挹注雲端能量,亦為博弘掀開事業格局新頁。2020 年博弘被美國 CIO 雜誌、國際調研機構 ChannelE2E ,評選為全球前 25 大雲端託管服務商。在專業技術與產業經驗上不斷精進的博弘,儼然已成為企業數位轉型不可缺少的雲端夥伴。

聯姻遠傳厚植兩大武力:擴大商業謀略、強化數據技術

博弘總經理何冠生( Shasta )笑談十年的創業「試錯」之旅,數位、遊戲、零售事業試過一輪,當 AWS 前來叩門談合作,創業經驗化成對客戶痛點的深度同理心,因而將服務不斷延伸,從雲端架構規劃、部署、監控到 7×24 代管,博弘集團不但取得各雲平台原廠的信任與合作,更與客戶養出共存共榮的夥伴關係。

博弘成為遠傳子公司之後,一方面獲得充沛資源,同時拓展企業價值鏈,進化為全新企業體。何冠生指出:「我們汲取了遠傳深耕產業 ICT 的整合經驗與集團財務紀律管理,又保留雲端公司的敏捷及彈性,以『雲端為體,大人物為用』,拉高我們經營格局與服務完整度。」另一方面,企業數位轉型專家遠傳聯手博弘,可以豐沛雲端基礎建設等資源搭載各種大數據、人工智慧、物聯網的技術,協助各領域的垂直場域,快速展開智慧創新應用。

Photo Credit: 遠傳
博弘加入成為遠傳子公司之後,團隊不失既有的彈性與速度優勢,同時在經營格局擴大眼界,借助遠傳接觸更多元產業客戶。

除了拔尖商業戰略,博弘也沒有忽略技術本質的耕耘,今年更成立數據應用處,看準疫情迫使越來越多企業佈局現代化、雲端化 IT 之外,也開始講究數據驅動決策,才能在斷鏈、封城、停工等危機中速戰速決。何冠生表示,「我們此時擴大服務廣度,一部分也是洞察到『大人物』的市場機會。」

理解客戶思維鍛造上雲飛船,挖掘創新技術攻克每場戰役

何冠生解釋:「博弘先天具有致力解决客戶挑戰的 DNA ,提供面面俱到的服務;不斷挖掘新技術,加上團隊重視當責、不追求個人主義,也是我們在市場持續領先的關鍵!」不僅組織扁平、溝通透明,團隊總是面向同一目標進攻。就像同仁們經常一起登頂百岳、衝破馬拉松終線,練就遇到棘手挑戰,也無所畏懼的膽識。

經典成功戰役,就是協助台灣家樂福搬遷電商架構,助其提升 70% 連網速度。何冠生表示,家樂福電商網站原設置於香港機房,但許多服務仍需連回法國,博弘集團協助搬遷至 GCP 台灣機房,進行架構的調整與優化,結合在地機房優勢,大幅提升消費者線上購物的使用體驗,更導入創新代管服務,提升維運管理效率與服務品質,創造三贏局面。

另受 COVID-19 影響,線上學習成為必要轉型的選項之一,博弘與遠傳更聯手協助公部門,改善傳統伺服器因學生上網爆量造成的不堪負荷。短短不到 2 個月時間,快速將大量數位教材從地端拋上雲端、客製化雲端架構,並因應人流離尖峰,自動調整機台負載效能,遠傳與博弘充分發揮綜效以雲端技術量能,幫助莘莘學子在三級警戒期,安全安心落實停校不停學。

Photo Credit:博弘
博弘重視團隊合作精神,成員在工作之餘會一起攀爬百岳,從運動過程不僅鞏固向心力,更培養無懼客戶提出艱難任務的勇氣。

在地練兵樹立大人物典範,放眼海外目標亞太第一大

為了持續擴大博弘雲端託管服務的競爭優勢,何冠生說,我們將祭出差異化的殺手鐧。首先博弘把雲端託管技術加以商品化,未來一兩年將以 SaaS (軟體即服務)模式,推出自主開發的訂閱商品,同時結合遠傳大人物的相關技術與平台,形成深度、廣度兼具的完整解決方案,再加上遠傳顧問團隊在數位轉型的豐富實踐經驗與科技力,可進一步瞄準更多產業客戶。 

博弘除了拓展在地市場,也沒有忽略海外商機,何冠生提到,「這三年我們經營香港、東南亞據點大有斬獲,海外營收大幅成長,特別是在金融保險產業、政府公部門及大型企業,都是我們的客戶群。」這個好成績讓博弘繼續勇敢造夢,下一階段策略聚焦「立足台灣、放眼全球」,何冠生相信與遠傳攜手可以累積更多企業部署「大人物」的成功故事,絕對有助於把數位轉型典範輸出國際。

Photo Credit: 遠傳
遠傳洞察各業態需求,聚焦大數據(Big Data)、人工智慧(AI)、物聯網(IoT)三項技術,發展「遠傳大人物」,2019 年聯手博弘雲端科技,持續提供創新的數位服務解決企業面臨的問題,致力成為企業數位轉型的最佳夥伴。

本文由「遠傳」提供,經關鍵評論網媒體集團廣編企劃編審。