anglebaby大婚在娛樂圈炒的沸沸揚揚,奢華婚禮的沖擊力也暫時告一段落,我們也借機來講一講baby。這一款作品是用英特爾Edison制作的寶貝監視儀,Edison對于可穿戴設備來說尺寸剛剛好,它為開發者提供了很多彈性,例如語言和內置的編程環境,開發者可根據自己的想法進行設計,另外Edison還可通過藍牙或WiFi與其他可穿戴設備相連。近來可穿戴市場不斷繁榮,設計的目的也不盡相同,因此,我們為什么不為小寶貝們也設計一款智能設備呢?現在很多年輕父母既要忙于事業,又要擔心小孩子的身體狀況,往往搞得年輕人心力交瘁效果卻不盡人意,嬰兒需要被24*7地監視,體溫,環境安全性等等。這一系統包括英特爾Edison模塊,Arduino擴展板,模擬麥克風,溫度傳感器,LCD顯示屏等。模擬麥克風是一個簡易的聲音傳感器,用來檢測環境中的聲音強度。
試想一下,忙于工作一整天,晚上還要實時檢查孩子的情況,你能吃得消嗎?或許你需要這款智能寶貝監測系統來幫助你們監測嬰兒的健康情況并實時匯報。
想知道怎么制作嗎?一起來瞧瞧吧!
◆ 監測寶貝是在睡覺還是玩耍;
◆ 寶貝哭了會通知家長;
◆ 監測寶貝的體溫,一旦體溫超過正常水平,立即發出警報;
◆ 可視化數據顯示,讓你隨時隨地追蹤到數據。
◆ Intel Edison模塊
◆ Edison專屬Arduino擴展板
◆ 模擬麥克風
◆ 溫度傳感器
◆ 16*2的LCD顯示屏
◆ 供電
◆ USB線
◆ 跳線
模擬麥克風是一個用來檢測環境中聲音強度的簡單的聲音傳感器,在這個小制作中,使用的是有基座屏幕功能的格羅夫傳感器。我們將使用英特爾XDK物聯網版Edison在Node.js下編碼。
將Edison一端和供電連接起來,一端通過USB線和你的PC連接,啟動將會花15-20分鐘,啟動之后將格羅夫屏蔽基座安上。將聲音傳感器接到虛擬的A0口,溫度傳感器接到A1口,LCD顯示屏接到任意一個I2C口。
1) 打開英特爾XDK物聯網版Edison,確保它已安裝;
2) 如果你已經將Flash精簡版Node.js的工具安裝在你的主板上,那么你可以驅動愛迪生;
3) 將IDE與愛迪生連接起來,需要設置你的用戶名和密碼,默認用戶名沒有密碼;
4) 選擇一個空白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);
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);
});
在這里我們在IOT中使用Ubidots,利用它我們可以更有效的收集可視化數據。它支持廣泛的設備類型,并且還可以觸發像發送郵件和消息的一些行為,另外,它還能提供一些API的數字來加速語言環境的開發,因此我選擇Node.js數據庫來與Edison互動。
設置Ubidots:
1) 登錄你的Ubidots賬號,如果沒有注冊一個;
2) 選擇“Sources”,點擊“ADD Data Source”來創建一個新的數據源;
3) 當數據源被創建時,我們需要為它設置變量,在這個項目里,需要導入傳感器和溫度數據,因此我們將會添加兩個變量;
4) 點擊變量,復制變量ID,粘貼到你的代碼里;
5) 選擇“My Profile->API Keys.”從這里獲取你的API鑰匙;
6) 在儀表板上添加一個選擇小工具;
7) 在這里,聲音傳感器選擇的是“Gauge”,溫度傳感器選擇的是“Graph”,通過觀察Gauge可以輕易地得出聲音強度,以此來衡量你家小寶貝的活動,通過Graph你可以看出溫度的起伏。
在Edison上創建、上傳、運行APP,在調試控制臺上你將會看到傳感器的值,如果你做的每一步都對的話,你會發現,數據會被傳送到Ubidots云上,從導航儀表盤上,你會看到所有傳感器和小工具發送過來的數據,在這里我創建了幾個提醒,例如聲音水平上升得很快的話,說明寶寶在哭,這時提醒就會通過短信把情況發送到你的手機上。
基本的情況就是這樣了,本教程只是一個基礎,如果你有更加全面、完善的想法,也可以自己加上去哦。