65.9K
CodeProject 正在变化。 阅读更多。
Home

带 Intel® Edison 和 Ubidots 的智能婴儿监视器

starIconstarIconstarIconstarIconstarIcon

5.00/5 (3投票s)

2015 年 10 月 8 日

CPOL

4分钟阅读

viewsIcon

11549

带 Intel® Edison 和 Ubidots 的智能婴儿监视器

获取新的 Intel® IoT 开发者套件,这是一个完整的硬件和软件解决方案,允许开发人员使用 Intel® Galileo 和 Intel® Edison 开发令人兴奋的新解决方案。访问 Intel® IoT 开发者专区

Intel Edison 小巧轻便,非常适合可穿戴设备。 它通过其提供的语言和编程环境为开发人员提供了很大的灵活性,并且集成了 Wi-Fi 和蓝牙,使其成为可穿戴设备的理想选择。 如今,市场上有很多用于不同目的的可穿戴设备,那么我们为什么不为婴儿制作一个呢? 随着核心家庭的增加,没有人可以指导新手父母如何照顾他们的新生儿。 他们总是担心他们的宝宝的健康、体温、环境等。 婴儿需要 24*7 的监测,这并非总是可行的,因为在一些家庭中,父母双方都在工作,有时他们不得不做很多家务,另一个问题是睡眠,因此在这些情况下,父母需要一个智能婴儿监护系统,可以帮助他们跟踪婴儿的健康状况,并在发生任何异常活动时提醒他们。

我们的智能婴儿监护器将

  1. 监测婴儿是否正在睡觉或玩耍。
  2. 如果他哭了,会通知父母。
  3. 监测婴儿的体温。
  4. 如果它注意到异常体温,会立即发出警报。
  5. 以可视化的方式呈现数据。
  6. 可以从任何地方监控数据。

要求

英特尔爱迪生模块

Edison 的 Arduino 扩展板

模拟麦克风

温度传感器

16*2 LCD 显示屏

电源

USB 连接线

跳线

模拟麦克风是一种简单的声音传感器,可以检测环境的声音强度。 在这个项目中,我正在使用带有 Grove 底板的 Grove 传感器。 我们将使用 Intel XDK IoT Edition 用 Node.js 进行编码。

建立连接

  1. 将您的 Edison 连接到电源和 PC,通过 USB 连接线。
  2. 启动大约需要 15-20 秒,之后堆叠 Grove 底板。
  3. 将声音传感器连接到模拟引脚 A0
  4. 将温度传感器连接到 A1。
  5. 将 LCD 显示屏连接到其中一个 I2C 端口。

编程

  1. 打开 Intel XDK IoT 版本,如果尚未安装在您的电脑中,请从 https://software.intel.com/en-us/iot/downloads 获取
  2. 如果您使用 Flash Lite Tool 刷新了 Edison,Node.Js 将已安装在您的板上。
  3. 将 IDE 连接到您的 Edison 板。 它会要求您输入用户名和密码,默认用户名为 root,没有密码。

  1. 选择一个空白的 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

  1. 登录到您的 Ubidots 帐户,或者您可以在这里创建一个帐户 http://ubidots.com/
  2. 选择“来源”选项卡,然后单击“添加数据源”以创建新的数据源。 在这里,我添加了我的 Edison。

  1. 创建数据源后,我们必须向其中添加变量。 在这个项目中,我们将发送传感器和温度数据,因此我们将创建两个变量。

  1. 单击变量并复制变量 ID。 将其粘贴到您的代码中。

  1. 选择 我的个人资料->API 密钥。 从这里获取您的 API 密钥。

  1. 在您的仪表板上添加您选择的小部件,具体取决于您希望如何可视化数据。
  2. 我选择了用于声音传感器的仪表和用于温度的图表。 通过查看仪表,您可以轻松确定声音的强度,从而确定宝宝的活动,并通过图表,您可以评估温度的突然变化。

在 Edison 上构建、上传和运行您的应用程序。 您将在调试控制台中看到传感器值,如果一切正常,您会注意到数据被发送到 Ubidots 云。 导航到 Ubidots 仪表板,您将看到来自我们小部件中传感器的所有数据。 在这里,我还创建了一些警报,如果声音级别超过某个级别(意味着宝宝正在哭),将通过短信向我们的手机发送警报。

当涉及到婴儿时,这还不够,我将致力于一些更精确的传感和更好的警报的高级内容,我将在下一部分分享。

© . All rights reserved.