<br>英特尔 Edison 尺寸足够小,非常适合可穿戴设备。 它提供了多种语言和编程环境,并集成了 Wi-Fi 和蓝牙,能够为开发人员提供出色的灵活性,非常适合可穿戴设备。 现在,市场上有多种不同用途的可穿戴设备,为什么不为婴儿设计一款呢。 随着核心家庭不断增加,新父母在抚养新生婴儿方面缺少必要的指导。 他们总是担心自己孩子的健康、温度、环境等。婴儿需要 24*7 全天候照料,这在一些双亲都工作的家庭中是不可能的。有时,他们还需要做大量家务,而且还需要解决睡眠问题,因此在这些情况下,父母需要一个智能婴儿监控系统,帮助他们追踪婴儿的健康,并在出现不规则活动时提醒他们。</br>
<strong>我们的智能婴儿监控系统可以:</strong>
1、在婴儿睡眠或玩耍时进行监控。
2、在婴儿啼哭时通知父母。
3、监控婴儿的温度。
4、如果检测到温度异常,立即发出警告。
5、以可视化的方式呈现数据。
6、随时随地监控数据。
<strong>要求:</strong>
<center><img src="http://intel.eetrend.com/files/2016-03/wen_zhang_/100001181-619-1.jpg&q…; alt=""></center>
英特尔 Edison 模块
面向 Edison 的 Arduino 扩展主板
模拟麦克风
温度传感器
16*2 液晶显示屏
电源
USB 连接线
跳线
模拟麦克风是一款简单的声音传感器,可检测环境的声音强度。 在这个项目中,我将 Grove 传感器和 Grove Base Shield 结合使用。 我们将使用英特尔 XDK IoT Edition 在 Node.js 中编码。
<strong>建立连接 </strong>
1) 通过 USB 连接线将 Edison 连接到电源和您的 PC。
2) 启动需要 15-20 秒,然后将 Grove Base Shield 堆叠起来。
3) 将声音传感器连接至模拟 pin A0
4) 将温度传感器连接至 A1。
5) 将液晶显示屏连接到一个 I2C 端口。
<strong>编程 </strong>
1.打开英特尔 XDK IoT edition,如果其尚未安装至您的 PC,您可以通过以下链接获取: https://software.intel.com/zh-cn/iot/downloads
2.如果您已经使用 Flash Lite Tool 刷新了 Edison,Node.Js 将会安装到开发板上。
3.将 IDE 连接至 Edison 开发板。 它将会要求您提供用户名和密码,默认用户名是不带密码的根。
<center><img src="http://intel.eetrend.com/files/2016-03/wen_zhang_/100001181-633-2.png&q…; alt=""></center>
选择一个空白 Node.Js 模板并创建一个新项目。
<center><img src="http://intel.eetrend.com/files/2016-03/wen_zhang_/100001181-634-3.png&q…; alt=""></center>
<strong>模拟麦克风的代码 </strong>
01 function readSoundSensorValue() {
02
03 var buffer = new upmMicrophone.uint16Array(128);
04
05 var len = myMic.getSampledWindow(2, 128, buffer);
06
07 if (len)
08
09 {
10
11 var thresh = myMic.findThreshold(threshContext, 30, buffer, len);
12
13 myMic.printGraph(threshContext);
14
15 if (thresh)
16
17 console.log("Threshold is " + thresh);
18
19 v.saveValue(thresh);
20
21 if(thresh>50 && thresh<150)
22
23 showNormalLCD();
24
25 if(thresh>=150)
26
27 showLCD();
28
29 if(thresh<50)
30
31 showSleepLCD();
32 }
33 }
34 setInterval(readSoundSensorValue, 1000);
35
36
37 <a href="https://software.intel.com/sites/default/files/managed/74/61/code.png">… height="900" width="718" src="https://software.intel.com/sites/default/files/managed/74/61/code.png&q…; alt=""></a>
<strong>温度传感器的代码 </strong>
01 var temp = new groveSensor.GroveTemp(1);
02
03 console.log(temp.name());
04
05 var i = 0;
06
07 var waiting = setInterval(function() {
08
09 var celsius = temp.value();
10
11 var fahrenheit = celsius * 9.0/5.0 + 32.0;
12
13 console.log(celsius + " degrees Celsius, or " +
14
15 Math.round(fahrenheit) + " degrees Fahrenheit");
16
17 i++;
18
19 if (i == 10) clearInterval(waiting);
20
21 }, 1000);
<strong>向云发送数据 </strong>
01 var ubidots = require('ubidots');
02
03
04 var client = ubidots.createClient('YOUR-API-KEY');
05
06
07 client.auth(function () {
08
09 this.getDatasources(function (err, data) {
10
11 console.log(data.results);
12
13 });
14
15 var ds = this.getDatasource('xxxxxxxx');
16
17
18 ds.getVariables(function (err, data) {
19
20 console.log(data.results);
21
22 });
23
24 ds.getDetails(function (err, details) {
25
26 console.log(details);
27
28 });
29
30
31 var v = this.getVariable('xxxxxxx');
32
33
34 v.getDetails(function (err, details) {
35
36 console.log(details);
37
38 });
39
40 v.getValues(function (err, data) {
41
42 console.log(data.results);
43
44 });
此处,我针对物联网云使用了 Ubidots,借助 Ubidots,我们可以通过有效的方式将数据视觉化。 它支持多种设备,并且能够触发诸如发邮件和信息的操作。 它还可提供多种 API 来加快我们选择的语言的开发速度。 因此,我选择了 Node.Js 库与 Edison 交互。
<strong>设置 Ubidots </strong>
1、登录 Ubidots 账户,或者您也可以点击此处链接创建一个 http://ubidots.com/
2、选择 “Sources” 选项卡,然后点击 “Add Data Source” 创建一个新的数据源。 此处,我添加了 My Edison。
<center><img src="http://intel.eetrend.com/files/2016-03/wen_zhang_/100001181-635-4.png&q…; alt=""></center>
<center><img src="http://intel.eetrend.com/files/2016-03/wen_zhang_/100001181-636-5.png&q…; alt=""></center>
1、数据源创建后,我们则需要向其添加变量。 在本项目中,我们将发送传感器和温度数据,因此我们需要创建两个变量。
<center><img src="http://intel.eetrend.com/files/2016-03/wen_zhang_/100001181-637-6.png&q…; alt=""></center>
1、点击变量并复制变量 ID。 将其粘贴到您的代码中。
<center><img src="http://intel.eetrend.com/files/2016-03/wen_zhang_/100001181-638-7.png&q…; alt=""></center>
1、在指示板上,添加您选择的 widget,具体取决于您视觉化数据的方式。
2、我选择了 Gauge 用于声音传感器,选择了 Graph 用于温度。 通过查看 Gauge,您可以轻松确定声音的强度,从而了解婴儿的活动;借助 Graph,您可以评估温度的突变。
在 Edison 上构建、上传和运行应用。 您可在调试控制台上看到传感器的值,如果一切正常,您将会注意到数据发送到 Ubidots 云。 导航至 Ubidots 指示板,您将会在 widget 中看到从传感器发送的所有数据。 此处,我还创建了一些警报,如果声音级别达到一定程度(意味着婴儿正在啼哭),将会有一个警报通过 SMS 发送至我们的手机。
<center><img src="http://intel.eetrend.com/files/2016-03/wen_zhang_/100001181-639-8.png&q…; alt=""></center>
<center><img src="http://intel.eetrend.com/files/2016-03/wen_zhang_/100001181-640-9.png&q…; alt=""></center>
<center><img src="http://intel.eetrend.com/files/2016-03/wen_zhang_/100001181-641-10.jpg&…; alt=""></center>
<center><img src="http://intel.eetrend.com/files/2016-03/wen_zhang_/100001181-642-11.jpg&…; alt=""></center>
<center><img src="http://intel.eetrend.com/files/2016-03/wen_zhang_/100001181-643-12.jpg&…; alt=""></center>
<center><img src="http://intel.eetrend.com/files/2016-03/wen_zhang_/100001181-644-13.png&…; alt=""></center>
<center><img src="http://intel.eetrend.com/files/2016-03/wen_zhang_/100001181-645-14.png&…; alt=""></center>
对于婴儿而言,这些还不够,我将在现有的成果中添加更加准确的感应和更出色的警报,对此,我将在下一部分中进行介绍。
文章来源:<a href="https://software.intel.com/zh-cn/blogs/2015/09/27/smart-baby-monitor-wi…; 英特尔开发人员专区