8661| 8
|
[intel程序猿笔记] 【intel程序猿笔记】将Edison技术的物联网带进你的浴室 |
首先,我们公布上周【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开发板使用一个内置服务来与云通信。代码必须运行这个服务来连接或者发送数据。当完成上面链接中的指令后,你可以发出这个指令测试开发板是否能连接到云端并且发送数据到你指定的组件。 当硬件部分完成以及服务准备好后,现在是时间进行开发板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。
配置SMTP服务 使用注册过的分析组件名称 使用你在常量区域里的物联网分析表中注册的名称,METRICS.brushComponent。这是一个包含所有你的项目中使用的组件的数组。对于我来说,它有两个部分。 添加更多的牙刷 如果你搭建了一个容纳两支以上牙刷的支架,你需要改变代码的常量区域来反映这个事实。当出现特定牙刷值的时候,代码使用数组结构。按照这些常量为每支牙刷添加额外的数组元素:METRICS.brushComponent、MAIL. brushTo.PINS.brushSwitch、SCREEN_MSG.brushName、TIME.brushPreptime和TIME.brushGoaltime。 所需的库文件 作为一个node.js项目,代码依赖于与硬件、分析守护进程和电子邮件通信的其它模块。 常量 这是唯一需要编辑的区域。按照需求修改这些常量值来改变颜色、屏幕消息、邮件文字,甚至时间间隔。 计时器 为了简单化,所有计时器都被保存在一个全局对象中。这样允许setTimeout和setInterval的方法调用总是能访问计时器。 Logger Logger类输出控制台消息,按照一种传统方式限定基于错误、警告和信息的输出。 Sensors 有了Sensors类,你会发现代码和通用输入输出针脚之间交互是多么简单。牙刷开关和光敏电阻值从这里被读取。 Buzzer Buzzer类中的大多数代码被用来播放作为计时器开始和结束的轻快的鸟叫声。 Screen Screen类负责所有LCD屏幕的指令,它通常有两种功能:显示文字消息和改变背景颜色。 Mailer Mailer类使用所需的node_module使用SMTP来发送电子邮件。它包括一些当发送尝试失败时的错误检查。 Metrics Metrics类是帮助的最后部分。它使用一个开发板上的本地套接字发送分析数据到iotkit-agent守护进程。如果连接时发生错误,报错信息被发送至控制台以便调试。 Teeth 这是包含项目全部逻辑的主类。Teeth通过调用Sensors类监控开关和光线,Buzzer类发出声音警告,Screen类显示消息,Mailer类发送邮件,Metrics类更新物联网列表。如果想修改你的版本的特征,这是需要更新的代码。 确认传感器和显示 使用英特尔XDK IoT Edition中的安装/创建按钮将代码发送到开发板并运行NPM来创建节点项目。按下运行按钮启动T.E.E.T.H。 通过使用一根牙刷触发支架内的每一个杠杆开关来测试支架。你应该看到LCD屏幕点亮并且能够跟踪控制台输出。同时,蜂鸣器应该响起。如果你遮盖住光线传感器,计时器应该关闭。 检查邮件 让计时器运行到结束以执行发送电子邮件功能。根据你的服务而定,你应该在几分钟内从收件箱中收到一封电子邮件。 查看分析 最后需要确认的是分析部分。使用你的支架上所有的牙刷来测试每个开关。登录到表中确认你看到了每个定制的组件的数据。 你终于准备好将英特尔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。 更多Edison信息请点击右边链接直接登录 >>>> 英特尔开发人员专区 广告,请广而告知—— 每周二【intel 程序猿笔记】帖子下会设计一个与帖子内容相关的问答投票,你只要在留言区参与投票,选出正确的答案,社区小管家会挑选每周前10名回答正确的幸运互动者随机赠送小礼品,礼品可以实行累积制喔。也奏是说——只要你脑洞够大、热情够给力,你就可以横扫所有奖品实现大满贯喔!当然,对于大满贯获得者,我们还有神秘大礼包让你喜上加喜、锦上添花。奏这么任性,没办法! 现在,抢福利时间来到—— 如果你想制定一周的健康刷牙计划,如果一周坚持成功,你将会像文中提到的那样收到一封邮件:你会主要用到哪些模块?(答案是单选咯) 赶紧在下面选项中选出一个正确答案赢取礼品吧 手快有,手慢无 |
© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed