家里养了宠物(例如宠物狗)的朋友都有一个困扰,当外出时不能随时看见家里的情况。因此,我想到了用开源硬件(Arduino)和开源软件(OpenHAB)制作一个实用的家庭自动化系统。但是这个系统并不像用智能手机控制灯光的开关那样,我主要把心思花在大量的网络传感器和及时警报等事情上。 以下是基本构思,利用Arduino可轻松连接负载和廉价传感器。通过设置,传感器上的负载可直接连上网络,所以在温度太高(太低)或者灯光太亮等情况时可以及时给你发邮件提醒。你的宠物在叫时同样可以发邮件提醒,另外你还可以在智能手机上检查传感器的状态。由于传感器节点都是无线的,所以你不需要进行以太网端口布线等事宜。 下图是连接的方法。
在这篇文章里还会介绍如何建立大量的远程无线节点,如何将这些传感器集成到一个开源家庭自动化服务器。除了在手机App上看到家里的情形外,你还可以快速收到邮件提醒和语音提示。 如下是这次设计的关键要素: · 低成本,每个传感器节点的成本少于20美元 · 灵活性,基于Arduino的节点可允许任意一个向系统发出特定的感应需求 · 高可靠性,工作时间和无线传感范围 · 同时利用电池供电和wall-power传感器节点
以下是该设计用到的传感器: 声音传感器 可感知宠物的叫声,并且发送邮件。我用这个传感器来获得叫声的信息,并可远程打开网络摄像头监视狗吠的原因,这里还有一个计算叫声次数的计数器。 洗涤/烘干传感器 在清洗或烘干程序完成后会发出一个语音提醒,只需要通过手机App就可检查程序是否完成。 光传感器 通过手机App显示灯光的状态,可检查灯泡是出故障。 异物监视器 红外传感器可以监视房间的一切情形,并可发出声音警报和邮件提醒。 宠物跟踪器 当宠物离开时可接受提示,并在谷歌地图上显示其位置,还可以监视宠物排便的位置。 烟雾传感器 可以用此传感器来感应并发送冒烟、失火或者是液化气泄露等信息。 温湿度传感器 温度和湿度数据均在手机App中显示,你也可以启用邮件提醒功能。用OpenHAB可统计历史温度,你可以在手机上看到温度变化图表。 漏水传感器 当出现漏水情况时会发出邮件提醒和语音警报。 门、窗、抽屉和信箱安全传感器 用一个电池供电舌簧开关传感器可触发声音警报并发送邮件提醒。除了监视门、窗、信箱和抽屉之外,还可记录事发时间。 车库门监视器 用手机可在线监视车库门的开关情形,同样可设置语音提示。 通过这些传感器,房间内所有的物体都成为了物联网的一部分。 第一步:用法解释
有视频教程教你如何使用此系统,而后续的步骤是教你如何搭建系统。 1、 视频教程解释 2、无线洗衣房传感器 3、无线车库门监视器 4、无线超级传感器 5、无线门、信箱安全传感器 这次设计的优点主要如下: · 成本低,每个传感器节点耗资少于20美元,包括无线收发器。 · 高灵活性,用wall-powered传感器和节能电池供电传感器可维持1年工作。 · 精致的用户界面,OpenHAB用户界面可在手机App显示,也可以通过其他浏览器进入。显示设备和树莓派之间的通信都需加密验证。 · 可控制其他产品,如果你家有Sonos扬声器、Insteon灯/插座或者z-wave,就可用OpenHAB来控制这些产品。 · 可集成任何传感器 下面的热图是RFM69HW无限收发器的监视范围,我是通过一个GPS模块和连有RFM69HW的Arduino一起传送坐标。一个GPS Arduino在户外,另一个Arduino在室内接收信号。用Zigbee、bluetooth、Z-wave和 wifi就不会这么便宜了。RFM69发出的915MHz频率信号穿透能力比2.4GHz无限模块强。这也是我不用nRF24L01($1.4400)+收发器的原因之一。
下图是OpenHAB用户界面
第二步:材料清单和事前准备
材料清单 · 3个3.3V Arduino Clone · 一个Arduino W5100($4.0000)以太网屏蔽器 · 树莓派或者你的个人电脑 · 连个10KΩ电阻 · 原型扩展板 · 2个RFM69HW无线收发器 · DH11温度传感器 · 超声波距离传感器 · 舌簧开关 · 红外传感器 · 火焰传感器 · 声音传感器 · MQ2烟感器 · 光敏电阻 · GPS模块 · 电流变换器 · 磁力计 · 伺服马达 · 杜邦电缆 · 22 gauge安装线 准备好这些材料后就可以开始了。唯一的焊接步骤是RFM69HW收发器,按照如下布线图焊接。
第三步:设计Arduino网关和OpenHAB
当你把线缆焊接到RFM69芯片上后,需要制作无线网关并且利用OpenHAB设置树莓派。用I2C连接两个Arduinos。
无线数据以数组形式从传感器节点传送到RFM网关,随后数据通过I2C由RFM网关传送到以太网网关。
设计Arduino网关 元件: 1、 两个3.3V/5V 开关Arduino Uno Clone,并设置为3.3V 2、 一个Wiznet 5100以太网扩展板 3、 一个焊接好电线的RFM69HW 一个Arduino用作RFM网关,另一个用作以太网网关。RFM网关的Arduino连接到RFM69HW,如第一步的接线图。 RFM69HW与Arduino连接 · NSS to Pin 10 · MOSI to Pin 11 · MISO to Pin 12 · SCK to Pin 13 · GND to Ground · 3.3V to the 3.3V header · DI00 to Pin 2 (interrupt) · NSS连接Pin10 · MOSI连接Pin11 · MISO连接Pin12 · SCK连接Pin13 · 接地相连 · 3.3V连接3.3V · DI00连接Pin2 将以太网扩展板放到以太网网关上,用杜邦线勾住两个Arduino。 · 接地脚相连 · Pin 4连接Pin 4 · Pin 5连接Pin 5 准备主机 接下来,将OpenHAB安装到主机上(树莓派或者电脑)。 然后,在主机上下载MQTT broker(Mosquitto)。如下是用树莓派的情形。 sudo apt-get install mosquitto mosquitto-clients python-mosquitto 上述步骤做完后,就可以开始设计传感器了。 第四步:车库门监视器
用超声传感器装置可以提醒车库门是否关闭,或者监视汽车是否出故障。传感器可在一定范围内监测到物体,而数据也可无线传输到网关,随后通过OpenHAB分析车库门的状态。
欲了解更多,请点击“阅读原文”查看 |
|