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云上,从导航仪表盘上,你会看到所有传感器和小工具发送过来的数据,在这里我创建了几个提醒,例如声音水平上升得很快的话,说明宝宝在哭,这时提醒就会通过短信把情况发送到你的手机上。
基本的情况就是这样了,本教程只是一个基础,如果你有更加全面、完善的想法,也可以自己加上去哦。