随着科技的不断发展,物联网(IoT)技术已经渗透到生活的方方面面,包括婴儿护理。本文将介绍如何使用英特尔Edison模块开发一个智能婴儿监测系统,该系统能够实时监测婴儿的活动状态、体温,并在异常情况下通知父母。
要开发这样一个系统,需要以下组件:
智能婴儿监测系统将具备以下功能:
模拟麦克风是一种简单的声强传感器,用于检测环境的声强。在本项目中,使用Grove传感器和Grove基础盾。将使用Node.js编程语言,通过英特尔XDK IoT Edition进行编码。
首先,将Edison模块连接到电源和PC,通过USB数据线连接。启动大约需要15-20秒,之后叠加Grove基础盾。
打开英特尔XDK IoT Edition,如果尚未在PC上安装,请从以下网址下载:https://software.intel.com/en-us/iot/downloads
如果已经使用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);
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);
在本项目中,使用Ubidots进行物联网云服务。Ubidots可以有效地可视化数据,支持广泛的设备,并且可以触发一些操作,如发送邮件和消息。它还提供了许多API,以加快使用所选语言的开发速度。因此,选择了它的Node.js库与Edison进行交互。
登录Ubidots账户,或者在这里创建一个:http://ubidots.com/
选择“Sources”标签,然后点击“Add Data Source”创建一个新的数据源。在这里,添加了Edison。
一旦数据源创建完成,需要向其中添加变量。在这个项目中,将发送传感器和温度数据,因此将创建两个变量。
点击变量并复制变量ID。将其粘贴到代码中。
选择“My Profile->API Keys”。从这里获取API密钥。
在仪表板上添加选择的小部件,这取决于想要如何可视化数据。
选择了声音传感器的Gauge和温度的Graph。通过查看Gauge,可以轻松确定声音的强度,从而了解婴儿的活动,而通过Graph,可以评估温度的突然变化。