用IntelEdison模块做一个宝宝监视器
2015-10-24 19:40:15 | 来源:玩转帮会 | 投稿:佚名 | 编辑:小柯

原标题:用IntelEdison模块做一个宝宝监视器

本文由玩赚乐(www.banghui.org)– 小峰原创翻译,转载请看清文末的转载要求,欢迎加入技术翻译小组!

Intel® IoT开发工具包,是一个完整的硬件和软件解决方案,允许开发人员用Intel® Galileo和Intel® Edison模块创建新的令人兴奋的解决方案。欢迎访问Intel® Developer Zone for IoT。

Intel Edison的小巧非常适合于可穿戴设备。它的语言和编程环境对于开发人员而言,非常的灵活方便,并且由于它还集成了Wi-Fi和蓝牙,使得它特别适合可穿戴设备。现在,市面上有很多的可穿戴设备,但是似乎没有专门为婴儿设计的设备。出门在外工作的父母总是会为自己孩子的健康状况、体温、环境等操心。婴儿需要24 * 7小时的监控,但这在一些夫妻双方都工作的家庭里是不可能做到的,而且有时这些忙碌的父母还得做大量的家务劳动,这些都会迫使他们不得不让宝宝离开他们的视线。在这些情况下,家长需要一个智能的宝宝监测系统,以便于跟踪宝宝的身体健康,并且在出现任何异常的时候,提醒他们。

智能宝宝监视器可以:
  1. 监测宝宝是在睡觉还是在玩。
  2. 当他哭的时候通知家长。
  3. 检测宝宝的体温。
  4. 发现体温异常,就立即发出警报。
  5. 可视化显示数据。
  6. 可以在任何地方查看监测数据。
必需品:

用 Intel Edison 模块做一个宝宝监视器 - 技术文摘 | 玩赚乐 1

  • Intel Edison模块
  • Edison的Arduino扩展板
  • 模拟麦克风
  • 温度感应器
  • 16 * 2液晶显示器
  • 电源
  • USB数据线
  • 跨接线

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

建立连接
  1. 通过USB数据线将Edison连接到电源和电脑。
  2. 在花费15-20秒的开机时间之后,堆栈Grove Base Shield。
  3. 连接声音传感器(此处即Grove传感器)到模拟针脚A0。
  4. 连接温度传感器到A1。
  5. 连接LCD显示器连接到I2C端口中的一个。
编程
  1. 打开Intel XDK IoTEdition,如果你的电脑上面还没安装的话,可以点这里https://software.intel.com/en-us/iot/downloads
  2. 如果在安装了Flash Lite Tool之后,Edison闪烁,那么说明Node.js已经安装在主板上了。
  3. 连接IDE到Edison板。它会要求你输入用户名和密码,默认的用户名是root,没有密码。

用 Intel Edison 模块做一个宝宝监视器 - 技术文摘 | 玩赚乐 2

选择一个空白的Node.js模板并创建一个新项目。

用 Intel Edison 模块做一个宝宝监视器 - 技术文摘 | 玩赚乐 3

模拟麦克风的代码

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

  1. 登录到你的Ubidots帐户,也可以新创建一个http://ubidots.com/
  2. 选择“Sources”选项卡,然后单击“Add Data Source”来创建一个新的数据源。在这里,我添加的是My Edison。

用 Intel Edison 模块做一个宝宝监视器 - 技术文摘 | 玩赚乐 4

用 Intel Edison 模块做一个宝宝监视器 - 技术文摘 | 玩赚乐 5

一旦数据源创建之后,我们必须添加变量。在这个项目中,我们要发送的是传感器和温度数据,因此我们创建两个变量。

用 Intel Edison 模块做一个宝宝监视器 - 技术文摘 | 玩赚乐 6

点击变量并复制变量ID。然后将这个粘贴到代码中。

用 Intel Edison 模块做一个宝宝监视器 - 技术文摘 | 玩赚乐 7

选择My Profile->API Keys。从这里获取你的API密钥。

用 Intel Edison 模块做一个宝宝监视器 - 技术文摘 | 玩赚乐 8

  1. 在你的仪表板上,根据你想要如何显示数据的方式添加你所需的窗口小部件。
  2. 我为声音传感器选择的是Gauge(量表),为温度选择的是Graph(曲线图)。通过查看Gauge,你可以马上知道声音的强度,而通过查看Graph,你可以知道温度有没有发生突然变化。

在Edison上构建,上传并运行app。你会在调试控制台中看到传感器值,如果一切正常的话,你会发现数据正在被发送到Ubidots云。导航到Ubidots仪表盘,你会看到所有从传感器发送的数据。在这里,我也创造了一些警告,如果声音水平超过了一定水平(指婴儿哭)警报就会马上通过短信发送到我们的手机里。

用 Intel Edison 模块做一个宝宝监视器 - 技术文摘 | 玩赚乐 9

用 Intel Edison 模块做一个宝宝监视器 - 技术文摘 | 玩赚乐 10

用 Intel Edison 模块做一个宝宝监视器 - 技术文摘 | 玩赚乐 11

用 Intel Edison 模块做一个宝宝监视器 - 技术文摘 | 玩赚乐 12

用 Intel Edison 模块做一个宝宝监视器 - 技术文摘 | 玩赚乐 13

用 Intel Edison 模块做一个宝宝监视器 - 技术文摘 | 玩赚乐 14

对于小婴儿来说,光是这些或许还是不够的,所以我一直在改进中,希望能做到更准确的检测和更好的提醒,以后再分享给大家。

译文链接:
英文原文:Smart Baby Monitor with Intel® Edison and Ubidots
翻译作者:玩赚乐(www.banghui.org)– 小峰
[转载必须在正文中标注并保留原文链接、译文链接和译者等信息。]

tags:

上一篇  下一篇

相关:

AndroidViewPager的使用总结

在一个窗口里面添加tab便签,完成便签切换来实现页面的切换,这样的好处是可以在同一个窗口里面有多个页面,

居然还能这样——程序员加薪的新方法

我的朋友A君是个典型的.NET开发人员,技术不错,人品也不错,在一家小公司(姑且称为甲公司)做项目开发,是

青春痘留下的疤痕,怎么才能消除?

青春期是人生当中非常美好的一个阶段,可是与此相伴的常常有青春痘,青春痘还好,可若留下痘坑则是大事,不

外形“奇葩”的桥,都是什么样?

桥,大家再熟悉不过了,然而那些设计新颖、大胆而又非常有趣的桥,它们在哪里又叫什么名字?今天咱们来盘点

除了“食脑虫”,还有哪些可怕的病原体?

前不久,一则“美国一男孩感染‘食脑虫’不治身亡”的新闻,在短时间内迅速登上了各大网站的热点话题榜,新

帮你提升Python的27种编程语言

27 种语言过程型编程语言: C, Rust, Cython面向对象数据建模语言: Java, C#, EiffelC 的面向对象衍生语言:

Android动态加载技术三个关键问题详解

动态加载技术(也叫插件化技术)在技术驱动型的公司中扮演着相当重要的角色,当项目越来越庞大的时候,需要

国家民委办公厅关于召开2015年国家民委系统老干部工作经验交流会的通知

委机关有关部门、直属各单位:为贯彻落实全国离退休干部 双先 表彰大会和全国老干部局长会议精神,以及中组

关于征求《恶臭嗅觉实验室建设技术规范》(征求意见稿)等两项国家环境保护标准意见的函

文件名称:关于征求《恶臭嗅觉实验室建设技术规范》(征求意见稿)等两项国家环境保护标准意见的函文件编号:

如何才能成为一个好的技术领导者?

  近日,一名有超过15年软件开发经验的软件开发人员在Hacker News上提出了一个问题:如何才能成为一个好

站长推荐: