Juice 发表于 2015-7-7 15:28:23

【intel程序猿笔记】将Edison技术的物联网带进你的浴室




1. intel独家授权转载【intel开发人员专区】文章。
2. 定期为创客小主po上最全最细最专业的intel项目教程或另类态度。
3. DF创客社区“创客召集令”带你玩转intel,更多惊喜,颠覆你想象。



首先,我们公布上周【intel程序猿笔记】英特尔® Edison开发板蓝牙*入门 帖参与有奖互动的情况。
上周有奖问答题目是:


正确答案是D.回答正确的小伙伴名单:



恭喜 @Cain @Ash@Luna@孙毅@nxcosa @吹口琴的钢铁侠 @凌风清羽 7位小伙伴,奖品将在系列活动结束后统一寄出,奖品实行累积制,各位,再接再厉!没有获奖的小伙伴,今天机会又来了喔!

下面,进入今天的干货帖——将Edison技术的物联网带进你的浴室

原文链接:使劲戳这里



【项目创意】这个DIY项目向您展示了如何将一个从商店里买来的牙刷支架变为一个物联网家具。首先将你的牙刷从支架中取出。这样激活了等待你开始刷牙的计时器。随后一个美国牙科协会*推荐的两分钟倒计时启动并且一个LED屏幕显示鼓励的文字。屏幕变换颜色直到你结束刷牙为止。不要担心如果你闭着眼睛刷牙,声音播放会从开始到结束提示你。当你放回牙刷(或你离开房间并关灯)后计时器停止。在此之后,支架将你的时间数据存储到云端。如果你已经达到目标,它还会发送一封祝贺电子邮件。最终你能够登录云端查看每支在支架里的牙刷的进度。你可以监控这些物联网数据来鼓励家里的每个人养成健康习惯。
【材料】· 牙刷支架· 英特尔Edison计算模块· 英特尔Edison扩展板· 杠杆开关(每支牙刷一个)· 塑料平台(每支牙刷一个)· 10K电阻(通孔,每支牙刷一个)· Grove – LCD RGB背光· 光敏电阻光线传感器· 压电陶瓷蜂鸣器· 带USB接口的充电电池· 硅黏合剂或密封剂· 项目代码· 连接线
【工具】· 英特尔® XDK IoT Edition和USB线缆的计算机· 电烙铁和焊锡· 根据您的支架的切割工具
【步骤】
1. 准备支架
我选择了一个竹制的牙刷支架,这样我能轻松地钻出所需的孔用来挂载配件及走线以隐藏线缆。你需要的工具取决于支架制作的材料。或者取而代之你可能想要制作一个底座。

挂载LED屏幕

底部加入杠杆开关


在前方添加光线探测器,在后方添加蜂鸣器


暴露的电子器件做防水


将组件连线至扩展板
按下照将组件连接至开发板上的针。大多数情况下它们能直接连接,但是我加入了10K下拉电阻来降低开关的噪音及防止错读。

将英特尔Edison计算模块添加到扩展板上,你的项目的硬件部分基本上完工了。我们很快会装上电池。现在你的项目看上去应该类似下面的样子。



2. 准备英特尔Edison开发板和云服务
设置无线创建一个物联网分析帐号将组件添加至云在英特尔Edison开发板上注册组件在英特尔Edison开发板上启动英特尔代理英特尔Edison开发板使用一个内置服务来与云通信。代码必须运行这个服务来连接或者发送数据。当完成上面链接中的指令后,你可以发出这个指令测试开发板是否能连接到云端并且发送数据到你指定的组件。
3. 英特尔Edison开发板编程
当硬件部分完成以及服务准备好后,现在是时间进行开发板T.E.E.T.H. 源代码编程了。通过英特尔® XDK IoT Edition连接开发板英特尔XDK IoT Edition是帮助你在开发板上创建node.js项目的开发环境。它包含很多示例项目和样例。它的文档能在这里找到:https://software.intel.com/en-us/html5/documentation/getting-started-with-intel-xdk-iot-edition载入程序下载或复制这个项目在GitHub上的源代码。文件采用一个小规模的node.js项目的结构,https://github.com/ncarver/TEETH。
[*]readme.md ——文档和许可信息
[*]package.json —— 定义附属库文件的项目描述符
[*]main.js —— 运行T.E.E.T.H.的全部代码
[*]node_modules —— 当你首次创建项目代码时创建的带有附属库文件的目录
配置SMTP服务
使用注册过的分析组件名称使用你在常量区域里的物联网分析表中注册的名称,METRICS.brushComponent。这是一个包含所有你的项目中使用的组件的数组。对于我来说,它有两个部分。添加更多的牙刷如果你搭建了一个容纳两支以上牙刷的支架,你需要改变代码的常量区域来反映这个事实。当出现特定牙刷值的时候,代码使用数组结构。按照这些常量为每支牙刷添加额外的数组元素:METRICS.brushComponent、MAIL. brushTo.PINS.brushSwitch、SCREEN_MSG.brushName、TIME.brushPreptime和TIME.brushGoaltime。
4. 理解代码
所需的库文件作为一个node.js项目,代码依赖于与硬件、分析守护进程和电子邮件通信的其它模块。常量这是唯一需要编辑的区域。按照需求修改这些常量值来改变颜色、屏幕消息、邮件文字,甚至时间间隔。计时器为了简单化,所有计时器都被保存在一个全局对象中。这样允许setTimeout和setInterval的方法调用总是能访问计时器。LoggerLogger类输出控制台消息,按照一种传统方式限定基于错误、警告和信息的输出。Sensors有了Sensors类,你会发现代码和通用输入输出针脚之间交互是多么简单。牙刷开关和光敏电阻值从这里被读取。BuzzerBuzzer类中的大多数代码被用来播放作为计时器开始和结束的轻快的鸟叫声。ScreenScreen类负责所有LCD屏幕的指令,它通常有两种功能:显示文字消息和改变背景颜色。MailerMailer类使用所需的node_module使用SMTP来发送电子邮件。它包括一些当发送尝试失败时的错误检查。MetricsMetrics类是帮助的最后部分。它使用一个开发板上的本地套接字发送分析数据到iotkit-agent守护进程。如果连接时发生错误,报错信息被发送至控制台以便调试。Teeth这是包含项目全部逻辑的主类。Teeth通过调用Sensors类监控开关和光线,Buzzer类发出声音警告,Screen类显示消息,Mailer类发送邮件,Metrics类更新物联网列表。如果想修改你的版本的特征,这是需要更新的代码。
5. 测试
确认传感器和显示使用英特尔XDK IoT Edition中的安装/创建按钮将代码发送到开发板并运行NPM来创建节点项目。按下运行按钮启动T.E.E.T.H。通过使用一根牙刷触发支架内的每一个杠杆开关来测试支架。你应该看到LCD屏幕点亮并且能够跟踪控制台输出。同时,蜂鸣器应该响起。如果你遮盖住光线传感器,计时器应该关闭。检查邮件让计时器运行到结束以执行发送电子邮件功能。根据你的服务而定,你应该在几分钟内从收件箱中收到一封电子邮件。查看分析最后需要确认的是分析部分。使用你的支架上所有的牙刷来测试每个开关。登录到表中确认你看到了每个定制的组件的数据。
6. 加入电源
你终于准备好将英特尔Edison开发板从你的计算机上卸载下来,并将牙刷支架作为一个独立的物联网设备放回到浴室洗脸盆。安装电池使用一个带有USB连线的可充电的电池为扩展板提供电力,如下图。我使用的是一个会议上的展台礼品。它原本是为手机充电的但在这个项目中同样工作得非常出色。我保留了USB接口以方便充电。


更进一步在这个项目里,我们只是刚刚开始利用英特尔Edison平台的无线互联网和云数据的可能性。这些源代码能够被简便地修改以使用其它技术。例如,你可能想用微信代替电子邮件。或者你可能使用其它诸如Xively* 的云服务来代替物联网分析。就连发送给扬声器的开始和结束声音都能替换成你喜欢的mp3文件。你可以通过将node.js模块替换为其它你想使用的模块来实现这些调整。还有,智能牙刷支架可以更加智能。类似Nest* 遇到T.E.E.T.H。 目前,数据流向仅向云端输出,但是通过将这些数据当作计时器的输入使用将使其变成一个学习工具。例如,如果你看上去从来没有完成整两分钟,那么计时器可以通过给你设定更低的目标来增加一点点每次的成功。与其使用一个固定的准备时间,一个对刷牙环境声音有反应的传感器可以适应你的习惯。即使不做任何调整,这仍是一个将物联网带进你家里一个重要房间的非常棒的项目。把它当成浴室2.0运动的一部分。
关于作者Nathan Carver经过曲折的道路步入物联网领域。以前曾在美国马戏家族林林兄弟扮演过小丑,现在他是一家名叫Crisp Media的移动广告公司工程副总裁,从事网络和大数据技术相关的工作。之前的工作还包括运营一个专业的服务部门,成立一家软件公司,在Singer and Saw 表演,在Hudson河航行。他住在纽约,他的其它项目放在https://github.com/ncarver。
https://mc.dfrobot.com.cn/data/attachment/forum/201506/30/113403a12r7fr01uusirhh.png.thumb.jpg
                                                                        更多Edison信息请点击右边链接直接登录 >>>> 英特尔开发人员专区
广告,请广而告知——

每周二【intel 程序猿笔记】帖子下会设计一个与帖子内容相关的问答投票,你只要在留言区参与投票,选出正确的答案,社区小管家会挑选每周前10名回答正确的幸运互动者随机赠送小礼品,礼品可以实行累积制喔。也奏是说——只要你脑洞够大、热情够给力,你就可以横扫所有奖品实现大满贯喔!当然,对于大满贯获得者,我们还有神秘大礼包让你喜上加喜、锦上添花。奏这么任性,没办法!
现在,抢福利时间来到——如果你想制定一周的健康刷牙计划,如果一周坚持成功,你将会像文中提到的那样收到一封邮件:你会主要用到哪些模块?(答案是单选咯)赶紧在下面选项中选出一个正确答案赢取礼品吧 手快有,手慢无

touchfree 发表于 2015-7-7 18:00:26

哇 很好的创意 !

大连林海 发表于 2015-7-7 22:33:02

不错不错

丄帝De咗臂 发表于 2015-7-13 15:01:01

我中奖啦

单品蓝山 发表于 2015-7-21 14:16:48

物联网的核心,点滴融入生活中

花生编程 发表于 2023-8-16 14:27:30

厉害厉害

花生编程 发表于 2023-8-16 14:28:50

不错不错

三春牛-创客 发表于 2023-8-17 11:52:07

厉害厉害

三春牛-创客 发表于 2023-8-17 11:53:17

赞赞赞赞赞
页: [1]
查看完整版本: 【intel程序猿笔记】将Edison技术的物联网带进你的浴室