用 Intel Edison 模組做一個寶寶監視器
本文由碼農網 – 小峰原創翻譯,轉載請看清文末的轉載要求,歡迎參與我們的付費投稿計劃!
Intel® IoT開發工具包,是一個完整的硬體和軟體解決方案,允許開發人員用Intel® Galileo和Intel® Edison模組建立新的令人興奮的解決方案。歡迎訪問Intel® Developer Zone for IoT。
Intel Edison的小巧非常適合於可穿戴裝置。它的語言和程式設計環境對於開發人員而言,非常的靈活方便,並且由於它還整合了Wi-Fi和藍芽,使得它特別適合可穿戴裝置。現在,市面上有很多的可穿戴裝置,但是似乎沒有專門為嬰兒設計的裝置。出門在外工作的父母總是會為自己孩子的健康狀況、體溫、環境等操心。嬰兒需要24 * 7小時的監控,但這在一些夫妻雙方都工作的家庭裡是不可能做到的,而且有時這些忙碌的父母還得做大量的家務勞動,這些都會迫使他們不得不讓寶寶離開他們的視線。在這些情況下,家長需要一個智慧的寶寶監測系統,以便於跟蹤寶寶的身體健康,並且在出現任何異常的時候,提醒他們。
智慧寶寶監視器可以:
- 監測寶寶是在睡覺還是在玩。
- 當他哭的時候通知家長。
- 檢測寶寶的體溫。
- 發現體溫異常,就立即發出警報。
- 視覺化顯示資料。
- 可以在任何地方檢視監測資料。
必需品:
- Intel Edison模組
- Edison的Arduino擴充套件板
- 模擬麥克風
- 溫度感應器
- 16 * 2液晶顯示器
- 電源
- USB資料線
- 跨接線
模擬麥克風是一個簡單的聲音感測器,可用於檢測環境中聲音的強度。在這個專案中我使用的是帶有Grove Base Shield的Grove感測器。我們將使用Intel XDK IoT Edition在Node.js中編碼。
建立連線
- 通過USB資料線將Edison連線到電源和電腦。
- 在花費15-20秒的開機時間之後,堆疊Grove Base Shield。
- 連線聲音感測器(此處即Grove感測器)到模擬針腳A0。
- 連線溫度感測器到A1。
- 連線LCD顯示器連線到I2C埠中的一個。
程式設計
- 開啟Intel XDK IoT Edition,如果你的電腦上面還沒安裝的話,可以點這裡https://soft
ware.intel.c om/en-us/iot /downloads<wbr><wbr><wbr> - 如果在安裝了Flash Lite Tool之後,Edison閃爍,那麼說明Node.js已經安裝在主機板上了。
- 連線IDE到Edison板。它會要求你輸入使用者名稱和密碼,預設的使用者名稱是root,沒有密碼。
選擇一個空白的Node.js模板並建立一個新專案。
模擬麥克風的程式碼
function readSoundSensorValue() { var buffer = new upmMicrophone.uint16Array(128); var len = myMic.getSampledWindow(2, 128, buffer); if (len) { var thresh = myMic.findThreshold(threshContext, 30, buffer, len); myMic.printGraph(threshContext); if (thresh) console.log("Threshold is " + thresh); v.saveValue(thresh); if(thresh>50 && thresh<150) showNormalLCD(); if(thresh>=150) showLCD(); if(thresh<50) showSleepLCD(); } } setInterval(readSoundSensorValue, 1000); <a href="https://software.intel.com/sites/default/files/managed/74/61/code.png"><img height="900" width="718" src="https://software.intel.com/sites/default/files/managed/74/61/code.png" alt="" /></a>
溫度感測器的程式碼
var temp = new groveSensor.GroveTemp(1); console.log(temp.name()); var i = 0; var waiting = setInterval(function() { var celsius = temp.value(); var fahrenheit = celsius * 9.0/5.0 + 32.0; console.log(celsius + " degrees Celsius, or " + Math.round(fahrenheit) + " degrees Fahrenheit"); i++; if (i == 10) clearInterval(waiting); }, 1000);
把資料傳送到雲
var ubidots = require('ubidots'); var client = ubidots.createClient('YOUR-API-KEY'); client.auth(function () { this.getDatasources(function (err, data) { console.log(data.results); }); var ds = this.getDatasource('xxxxxxxx'); ds.getVariables(function (err, data) { console.log(data.results); }); ds.getDetails(function (err, details) { console.log(details); }); var v = this.getVariable('xxxxxxx'); v.getDetails(function (err, details) { console.log(details); }); v.getValues(function (err, data) { console.log(data.results); });
這裡,我用Ubidots作為IoT(物聯網)雲,通過Ubidots我們就可以用一種有效的途徑視覺化了資料。Ubidots支援的裝置很廣泛,並且還可以觸發如傳送郵件和訊息的一些活動。它還提供了許多API,通過選擇我們的語言加速開發。因此,我選擇了它的Node.js庫來和我的Edison發生互動。
設定Ubidots
- 登入到你的Ubidots帳戶,也可以新建立一個http://ubido
ts.com/<wbr> - 選擇“Sources”選項卡,然後單擊“Add Data Source”來建立一個新的資料來源。在這裡,我新增的是My Edison。
一旦資料來源建立之後,我們必須新增變數。在這個專案中,我們要傳送的是感測器和溫度資料,因此我們建立兩個變數。
點選變數並複製變數ID。然後將這個貼上到程式碼中。
選擇My Profile->API Keys。從這裡獲取你的API金鑰。
- 在你的儀表板上,根據你想要如何顯示資料的方式新增你所需的視窗小部件。
- 我為聲音感測器選擇的是Gauge(量表),為溫度選擇的是Graph(曲線圖)。通過檢視Gauge,你可以馬上知道聲音的強度,而通過檢視Graph,你可以知道溫度有沒有發生突然變化。
在Edison上構建,上傳並執行app。你會在除錯控制檯中看到感測器值,如果一切正常的話,你會發現資料正在被髮送到Ubidots雲。導航到Ubidots儀表盤,你會看到所有從感測器傳送的資料。在這裡,我也創造了一些警告,如果聲音水平超過了一定水平(指嬰兒哭)警報就會馬上通過簡訊傳送到我們的手機裡。
對於小嬰兒來說,光是這些或許還是不夠的,所以我一直在改進中,希望能做到更準確的檢測和更好的提醒,以後再分享給大家。
譯文連結:http://www.codeceo.com/article/intel-edison-baby-monitors.html
英文原文:Smart Baby Monitor with Intel® Edison and Ubidots
翻譯作者:碼農網 – 小峰
[ 轉載必須在正文中標註並保留原文連結、譯文連結和譯者等資訊。]
相關文章
- 用canvas做一個簡易取色器Canvas
- Edison 等公司如何監視使用者的電子郵件
- 使用VideoView做個實用的視訊播放器IDEView播放器
- 做一個自己的WiFi密碼檢視器——AndroidWiFi密碼Android
- 使用樹莓派構建一個嬰兒監視器樹莓派
- 用 Swift 做一個智慧機器人聊天 App (1)Swift機器人APP
- 用 Swift 做一個智慧機器人聊天 App (2)Swift機器人APP
- 用 Swift 做一個智慧機器人聊天 App (4)Swift機器人APP
- 用樹莓派USB攝像頭做個監控樹莓派
- 硬核奶爸!用樹莓派做個「智慧嬰兒監視器」:啼哭自動通知,還能分析哭聲含義樹莓派
- 做一個程式碼閱讀器
- 用JS點選事件做一個簡單的計算器JS事件
- 用 Python 做一個 H5 遊戲機器人PythonH5遊戲機器人
- 給電腦裝個監視器--VB程式設計一例 (轉)程式設計
- 做個前端錯誤監控前端
- 【機器視覺】20個視覺應用專案展示,機器代替人眼來做測量和判斷!視覺
- 用 canvas 做一個 DVD 待機動畫Canvas動畫
- 用 Vue 做一個酷炫的 menuVue
- 技術部落格丨我用深度學習做個視覺AI微型處理器!深度學習視覺AI
- 鬥地主老是輸?一起用Python做個AI出牌器!PythonAI
- 如何寫一個js模組打包器(翻譯)JS
- 一個簡單的JavaScript模組載入器JavaScript
- 使用Vue+Django+Ant Design做一個留言評論模組VueDjango
- 動手實現一個AMD模組載入器(一)
- 效能監視器- Performance MonitorORM
- SQL SERVER 效能監視器SQLServer
- Java的物件監視器Java物件
- 使用QT做一個簡易計算器QT
- 如何在Web應用中新增一個JavaScript Excel檢視器WebJavaScriptExcel
- Angular做一個筆記文章管理應用Angular筆記
- 用Python做一個翻譯軟體Python
- 用Python做一個三階拼圖。Python
- 用RecyclerView做一個小清新的Gallery效果View
- 用LoadRunner做一個網路爬蟲爬蟲
- 來!做一個分鐘級業務監控系統 【實戰】
- 用 ARKit 做一個仿微信”跳一跳”遊戲遊戲
- 用 ARKit 做一個仿微信"跳一跳"遊戲遊戲
- [外掛擴充套件]先佔樓做一個快遞的模組套件