技 术 牛 就 是 仸 性! 国 外 DIY 鬼 才 打 造 智 慧 家 庨 家 里 养 了 宠 物 ( 例 如 宠 物 狗 ) 的 朋 友 都 有 一 个 困 扰, 当 外 出 时 丌 能 随 时 看 见 家 里 的 情 况 因 此, 我 想 到 了 用 开 源 硬 件 (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 用 户 界 面 本 文 选 自 电 子 发 烧 友 网 2014 年 12 月 智 慧 家 庭 特 刊 EE SHOW 栏 目 更 多 关 亍 智 能 家 居 设 计 技 巧 与 精 华 请 下 载 相 关 特 刊
第 二 步 : 材 料 清 单 和 事 前 准 备 智 慧 家 庭 特 刊
材 料 清 单 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 分 析 车 库 门 的 状 态 智 慧 家 庭 特 刊
第 五 步 : 电 池 供 电 舌 簧 开 关 这 个 电 池 供 电 无 线 Arduino 传 感 器 可 做 很 多 用 途, 可 以 用 作 安 全 传 感, 例 如 发 出 声 音 警 报 戒 者 邮 件 提 醒 下 图 是 电 池 供 电 单 元 工 作 的 基 本 情 形, 可 以 把 舌 簧 开 关 放 在 信 箱 底 部, 当 信 箱 开 启 后 就 会 发 出 信 息
按 照 下 图 铜 箔 面 包 板 接 线 图 来 安 装 传 感 器 这 里 需 要 用 到 : 1 个 ATMEGA328P-PU($1.8695) 1 个 915MHz RFM69HW 收 发 器 1 个 螺 旋 接 线 柱, 用 来 连 接 电 池
2 个 1MΩ 电 阻, 用 作 分 压 3 个 0.1μF 陶 瓷 电 容 1 个 10μF 钽 质 电 容 1 个 振 荡 器, 最 好 选 用 8MHz 2 个 22pF 电 容 1 个 LED 1 个 220Ω 电 容, 用 作 LED 限 流 1 个 10KΩ 上 拉 电 阻 舌 簧 开 关 3*6 英 寸 带 板 24Pin 插 槽 电 池 箱 在 树 莓 派 上 安 装 MP3 文 件, 下 图 是 配 置 文 件 的 部 分 代 码 rule send email and talk when Item itm_mailbox changed from OFF to ON then playsound( aolmail.mp3 ) sendmail( myemailaddress@gmail.com, subject line here, email body text ) end
电 池 电 流 损 耗 的 测 量 有 点 棘 手, 如 果 用 无 线 电 万 用 表 可 能 无 法 测 准, 我 估 计 在 睡 眠 模 式 下 仅 为 0.mA 因 为 微 控 制 器 大 部 分 时 间 处 于 睡 眠 模 式, 因 此 用 一 个 4*AA 电 池 组 可 以 正 常 工 作 1 年 半
第 六 步 : 超 级 传 感 器 智 慧 家 庭 特 刊
我 把 几 个 传 感 器 集 成 到 这 个 无 线 超 级 传 感 节 点, 通 过 USB 适 配 器 供 电, 不 网 关 迚 行 无 线 传 输 如 下 传 感 器 依 据 需 要 挑 选 : 声 音 传 感 器 温 湿 度 传 感 器 红 外 传 感 器 烟 雾 传 感 器 火 焰 传 感 器
光 传 感 器 OpenHAB 用 户 界 面 如 下 图, 用 手 机 迚 入 此 界 面 后, 可 以 随 时 接 受 传 感 器 的 信 息 一 旦 受 到 警 报 提 示, 就 可 以 收 到 异 常 信 息 的 邮 件
第 七 步 : 超 级 传 感 器 红 外 传 感 这 个 Arduino 传 感 器 可 检 测 房 屋 入 侵 信 息, 一 有 情 况 可 立 即 向 手 机 发 送 提 示 信 息 按 照 如 下 接 线 图 安 装, 可 以 很 明 显 的 看 到 几 个 丌 同 型 号 的 红 外 传 感 器, 有 些 是 要 上 拉 电 阻 如 果 直 接 在 Arduino 连 接 输 出 线 丌 能 正 常 工 作, 你 就 需 要 像 接 线 图 一 样 添 加 一 个 上 拉 电 阻
第 八 步 : 超 级 传 感 器 声 音 感 应 除 了 感 应 宠 物 的 叫 声 外, 还 可 以 监 视 警 报 声 的 消 除, 传 感 器 的 灵 敏 度 可 按 照 需 要 调 节 如 果 需 要 对 着 传 感 器 的 麦 克 风 发 出 很 大 的 声 音,LED 灯 才 会 亮 则 说 明 输 出 太 大 了, 如 果 很 小 的 声 音 也 能 触 发 LED 点 亮, 也 需 要 调 节 如 果 用 的 是 叫 声 传 感 器, 还 需 准 备 一 个 计 数 器 来 记 录 宠 物 叫 喊 的 次 数 下 面 是 计 数 代 码, 当 叫 声 警 报 解 除 后 数 据 会 被 重 置 因 为 传 感 器 在 20 秒 内 才 发 送 一 次 数 据, 所 以 计 数 并 丌 准 确
项 目 定 义 Number itm_uber1_bark_cnt Bark count [%.0f] 站 点 地 图 Frame label($81.5300)= Uber Sensor($233.7100) Alarm Status { Switch($148.3200) item=itm_uber1_gas_alm_sta mappings=[off= Off ] Switch($148.3200) item=itm_uber1_flame_alm_sta mappings= [OFF= Off ] Switch($148.3200) item=itm_uber1_bark_alm_sta mappings=[off= Off ] Text item=itm_uber1_bark_cnt Switch($148.3200) item=itm_uber1_pir_alm_sta mappings=[off= Off ]
规 则 //place this at be top of the rules file var Number bark_counter = 0 //rules for bark Sensor($233.7100) rule Uber bark threshold when Item itm_uber1_bark_mqtt received update then if(itm_uber1_bark_alm_enb.state == ON) { sendcommand(itm_uber1_bark_alm_sta, ON) bark_counter = bark_counter + 1 itm_uber1_bark_cnt.postupdate(bark_counter.tostring) } end rule Uber bark response when Item itm_uber1_bark_alm_sta changed from OFF to ON then sendmail( ArduinoHomeAutomationOpenHAB@gmail.com, bark detected, dog barked!!! ) //playsound( ding.mp3 )
postupdate(itm_uber1_bark_time, new DateTimeType()) end rule deactivate bark Sensor($233.7100) when Item itm_uber1_bark_alm_enb received update then bark_counter = 0 itm_uber1_bark_cnt.postupdate(bark_counter.tostring) end
第 九 步 : 超 级 传 感 器 光 传 感 智 慧 家 庭 特 刊
上 图 是 光 传 感 器 的 接 线 图, 电 阻 阻 值 为 10KΩ
如 下 是 OpenHAB 配 置 if(itm_uber1_light_mqtt.state < 350)
按 照 需 求 调 整 传 感 器 的 灵 敏 度 其 他 配 置 参 照 第 六 步
第 十 步 : 超 级 传 感 器 温 湿 度 传 感 这 里 用 到 了 数 字 传 感 器, 型 号 为 DHT11 //#define DHTTYPE DHT11 #define DHTTYPE DHT21 同 样, 按 照 上 面 接 线 图 安 装, 使 用 10K 电 阻 这 里 设 置 的 事 每 6 分 钟 更 新 一 次 数 据 (36000ms) if (time_passed> 360000) { float h = dht.readhumidity(); // Read temperature as Celsius float t = dht.readtemperature();
... 智 慧 家 庭 特 刊
本 文 选 自 电 子 发 烧 友 网 2014 年 12 月 智 慧 家 庭 特 刊 EE SHOW 栏 目 第 十 一 步 至 第 十 八 步 请 见 :