Intel IoT开发工具包,是一个完整的硬件和软件解决方案,允许开发人员用Intel Galileo和Intel Edison模块创建新的令人兴奋的解决方案。欢迎访问Intel Developer Zone for IoT。
Intel Edison的小巧非常适合于可穿戴设备。它的语言和编程环境对于开发人员而言,非常的灵活方便,并且由于它还集成了Wi-Fi和蓝牙,使得它特别适合可穿戴设备。现在,市面上有很多的可穿戴设备,但是似乎没有专门为婴儿设计的设备。出门在外工作的父母总是会为自己孩子的健康状况、体温、环境等操心。婴儿需要24 * 7小时的监控,但这在一些夫妻双方都工作的家庭里是不可能做到的,而且有时这些忙碌的父母还得做大量的家务劳动,这些都会迫使他们不得不让宝宝离开他们的视线。在这些情况下,家长需要一个智能的宝宝监测系统,以便于跟踪宝宝的身体健康,并且在出现任何异常的时候,提醒他们。
智能宝宝监视器可以:
监测宝宝是在睡觉还是在玩。 当他哭的时候通知家长。 检测宝宝的体温。 发现体温异常,就立即发出警报。 可视化显示数据。 可以在任何地方查看监测数据。必需品:
模拟麦克风是一个简单的声音传感器,可用于检测环境中声音的强度。在这个项目中我使用的是带有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选择一个空白的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一旦数据源创建之后,我们必须添加变量。在这个项目中,大家要发送的是传感器和温度数据,因此我们创建两个变量。
点击变量并复制变量ID。然后将这个粘贴到代码中。
选择My Profile->API Keys。从这里获取你的API密钥。
在Edison上构建,上传并运行app。你会在调试控制台中看到传感器值,假如一切正常的话,你会发现数据正在被发送到Ubidots云。导航到Ubidots仪表盘,你会看到所有从传感器发送的数据。在这里,我也创造了一些警告,假如声音水平超过了一定水平(指婴儿哭)警报就会马上通过短信发送到我们的手机里。
对于小婴儿来说,光是这些或许还是不够的,所以我一直在改进中,希望能做到更准确的检测和更好的提醒,以后再分享给大家。