带 Intel® Edison 和 Ubidots 的智能婴儿监视器
带 Intel® Edison 和 Ubidots 的智能婴儿监视器
获取新的 Intel® IoT 开发者套件,这是一个完整的硬件和软件解决方案,允许开发人员使用 Intel® Galileo 和 Intel® Edison 开发令人兴奋的新解决方案。访问 Intel® IoT 开发者专区。
Intel Edison 小巧轻便,非常适合可穿戴设备。 它通过其提供的语言和编程环境为开发人员提供了很大的灵活性,并且集成了 Wi-Fi 和蓝牙,使其成为可穿戴设备的理想选择。 如今,市场上有很多用于不同目的的可穿戴设备,那么我们为什么不为婴儿制作一个呢? 随着核心家庭的增加,没有人可以指导新手父母如何照顾他们的新生儿。 他们总是担心他们的宝宝的健康、体温、环境等。 婴儿需要 24*7 的监测,这并非总是可行的,因为在一些家庭中,父母双方都在工作,有时他们不得不做很多家务,另一个问题是睡眠,因此在这些情况下,父母需要一个智能婴儿监护系统,可以帮助他们跟踪婴儿的健康状况,并在发生任何异常活动时提醒他们。
我们的智能婴儿监护器将
- 监测婴儿是否正在睡觉或玩耍。
- 如果他哭了,会通知父母。
- 监测婴儿的体温。
- 如果它注意到异常体温,会立即发出警报。
- 以可视化的方式呈现数据。
- 可以从任何地方监控数据。
要求
英特尔爱迪生模块
Edison 的 Arduino 扩展板
模拟麦克风
温度传感器
16*2 LCD 显示屏
电源
USB 连接线
跳线
模拟麦克风是一种简单的声音传感器,可以检测环境的声音强度。 在这个项目中,我正在使用带有 Grove 底板的 Grove 传感器。 我们将使用 Intel XDK IoT Edition 用 Node.js 进行编码。
建立连接
- 将您的 Edison 连接到电源和 PC,通过 USB 连接线。
- 启动大约需要 15-20 秒,之后堆叠 Grove 底板。
- 将声音传感器连接到模拟引脚 A0
- 将温度传感器连接到 A1。
- 将 LCD 显示屏连接到其中一个 I2C 端口。
编程
- 打开 Intel XDK IoT 版本,如果尚未安装在您的电脑中,请从 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);
<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 作为物联网云,使用 Ubidots,我们可以有效地可视化数据。 它支持广泛的设备,还可以触发一些操作,例如发送邮件和消息。 它还提供了许多 API,以加速我们使用我们选择的语言进行开发。 因此,我选择了它的 Node.Js 库来与我的 Edison 交互。
设置 Ubidots
- 登录到您的 Ubidots 帐户,或者您可以在这里创建一个帐户 http://ubidots.com/
- 选择“来源”选项卡,然后单击“添加数据源”以创建新的数据源。 在这里,我添加了我的 Edison。
- 创建数据源后,我们必须向其中添加变量。 在这个项目中,我们将发送传感器和温度数据,因此我们将创建两个变量。
- 单击变量并复制变量 ID。 将其粘贴到您的代码中。
- 选择 我的个人资料->API 密钥。 从这里获取您的 API 密钥。
- 在您的仪表板上添加您选择的小部件,具体取决于您希望如何可视化数据。
- 我选择了用于声音传感器的仪表和用于温度的图表。 通过查看仪表,您可以轻松确定声音的强度,从而确定宝宝的活动,并通过图表,您可以评估温度的突然变化。
在 Edison 上构建、上传和运行您的应用程序。 您将在调试控制台中看到传感器值,如果一切正常,您会注意到数据被发送到 Ubidots 云。 导航到 Ubidots 仪表板,您将看到来自我们小部件中传感器的所有数据。 在这里,我还创建了一些警报,如果声音级别超过某个级别(意味着宝宝正在哭),将通过短信向我们的手机发送警报。
当涉及到婴儿时,这还不够,我将致力于一些更精确的传感和更好的警报的高级内容,我将在下一部分分享。