工業製造
産業用モノのインターネット | 工業材料 | 機器のメンテナンスと修理 | 産業プログラミング |
home  MfgRobots >> 工業製造 >  >> Manufacturing Technology >> 製造プロセス

ホームオートメーション制御のための堅牢な物理インターフェース

必要な部品と材料

部品数量
TowerPro SG90 サーボ3
小型ヒンジ2
タクトスイッチ (モーメンタリ)2
Arduino Yun (または Uno + Ethernetシールド)1
100A 電流トランス (YHDC SCT-013-000)1
抵抗・コンデンサ各種7

プロジェクト概要

ホームオートメーション制御のための堅牢な物理インターフェース
ホームオートメーション制御のための堅牢な物理インターフェース
ホームオートメーション制御のための堅牢な物理インターフェース
ホームオートメーション制御のための堅牢な物理インターフェース

多くのホームオートメーションはスマホアプリなどの「バーチャルインターフェース」に依存しています。外出先では便利ですが、家の中ではわざわざアプリを開いて状態を確認するのは手間で、直感的ではありません。

そこで**「物理インターフェース」**を作りました。実物の家を模した小さな模型ハウスをコーヒーテーブルやデスクに置き、ガレージドアが開いていれば模型のドアも開き、電力消費が多ければメーターの針が振れ、照明がつけっぱなしならLEDが光る。一目で家の状態が把握できます。

ホームオートメーション制御のための堅牢な物理インターフェース

システム構成

  1. 模型ハウス - サーボ駆動ドア×2、電力メーター用サーボ×1、照明表示LED×1、操作ボタン×2 をArduinoで制御
  2. MQTTブローカー (Mosquitto) + OpenHAB - Raspberry Pi上で稼働。センサーデータ収集、スマホアプリ用UI、ルールエンジンを提供
  3. センサーノード - 実家の各所に設置し、ドア/窓開閉、電力消費、照明状態をMQTTへ公開
  4. アクチュエーター - 模型のボタン操作で実家の照明ON/OFF、ガレージドア開閉を実行

模型ハウスのArduinoはMQTTトピックを購読し、サーボ/LEDを駆動。ボタン押下時は対応トピックへコマンド送信。OpenHABは必須ではないが、スマホ連携と高度なルールのために併用。

Part 1: 模型ハウス製作

Step 1: 構造製作

段ボール箱をベースに、屋根・ドア・窓を工作。ヒンジと両面テープでドアを取り付け、サーボアームで開閉。ガレージドアはサーボで押し上げ、重力で閉鎖。玄関ドアは糸で引く方式。電力メーターはサーボアームに矢印、背景に目盛りシール。赤色LEDで照明状態表示。ボタン2個 (照明/ガレージ) を側面に取り付け。

ホームオートメーション制御のための堅牢な物理インターフェース
ホームオートメーション制御のための堅牢な物理インターフェース
ホームオートメーション制御のための堅牢な物理インターフェース
ホームオートメーション制御のための堅牢な物理インターフェース

Step 2: 配線とコード

ピン割り当て:

コントローラー選択: Arduino Uno + Ethernetシールド (約$20) または Arduino Yun (約$65, Wi-Fi内蔵)。YunはBridgeライブラリでLinux側と通信し、Wi-Fi接続が容易。両方のスケッチを提供 (ボタン機能はYun版のみ)。

スケッチ: smarthome_ethernet.ino, smarthome_yun.ino

Part 2: 入力 (センサー)

Step 3: センサー - 電力監視

OpenEnergyMonitorライブラリ (EmonLib) を使用。100A電流トランス (SCT-013-000) を分電盤の一相にクランプ。負荷抵抗33Ω (手元になかったため68Ω×2並列)、分圧抵抗10kΩ、整流用コンデンサ10μF (22μF×2直列で代用)。Arduino Yunで実効電流(Irms)を計算し、10秒ごとにMQTTへ公開 (トピック 2852: ワット, 2853: アンペア)。

ホームオートメーション制御のための堅牢な物理インターフェース

実測値は市販クランプメーター比で常に+1Aのオフセットあり。コードで補正。

OpenHAB連携

// Items
Number itm_smarthome_energy_amps "Energy (amps) [%.1f]" {mqtt="<[mymosquitto:2853:state:default]"}
Number itm_smarthome_energy_watts "Energy (Watts) [%.1f]" {mqtt="<[mymosquitto:2852:state:default]"}

// Sitemap
Text label="Energy" icon="firstfloor" {
  Frame label="Energy Usage" {
    Text item=itm_smarthome_energy_amps
    Text item=itm_smarthome_energy_watts
    Chart item=itm_smarthome_energy_watts period=h refresh=5000
  }
}

// Persistence (rrd4j.persist)
Strategies { everyMinute : "0 * * * * ?" }
Items {
  itm_smarthome_energy_watts : strategy = everyUpdate
  // 他アイテム...
}

Step 4: センサー - DIY無線センサーノード

過去プロジェクトの $5無線トランシーバー (nRF24L01+等) + MQTTゲートウェイを流用。ガレージドア状態と照度センサー (照明つけっぱなし検知) に使用。見た目が悪いのでガレージ内設置に留め、室内ドア/窓用には市販の見栄え良いセンサー (次ステップ) を採用。

Step 5: センサー - Wink Hub & Tripper接触センサー

Wink Hubをルート化し、PHPエクスプロイト経由でローカルAPI (aprontest) にアクセス。これによりクラウド経由せずローカルLAN内でセンサー状態取得・照明制御が可能に。Raspberry Pi上でPHPスクリプトを定期実行し、Wink Tripper (リードスイッチ) 2個の状態をOpenHAB REST API経由で更新 → OpenHABがMQTTトピック公開 → 模型ハウスが購読してドア開閉反映。

必要なOpenHAB設定ファイル (items, sitemap, rules) とPHPスクリプト (polling.php) を提供。

Part 3: 出力 (アクチュエーター)

Step 6: 出力 - 照明制御

Wink Hub対応球 (Cree Connected, GE Wink等) を制御。模型のボタン1押下 → MQTTトピック送信 → OpenHABルール → Wink Hub経由で球ON/OFF。照度センサーで実球の状態も模型LEDに反映。

Step 7: 出力 - ガレージドアオープナー

別途Arduino + Ethernetシールド + リードリレー + 予備リモコンで自作。ArduinoがMQTTトピック購読し、開閉コマンド受信でリードリレーを瞬間励磁 → 予備リモコンのボタンをショート → ガレージドア作動。超音波センサーでドア位置検知し、状態をMQTTへフィードバック (模型と同期)。音声アナウンス機能もルールで追加可能。

Step 8: その他の考察・拡張性

提供コード

スケッチ内のMQTTブローカーIP、トピック名は環境に合わせて書き換え必要。

回路図

ホームオートメーション制御のための堅牢な物理インターフェース ホームオートメーション制御のための堅牢な物理インターフェース ホームオートメーション制御のための堅牢な物理インターフェース

製造プロセス

  1. 妊娠検査薬:仕組み、設計、そして未来
  2. Raspberry Piで構築するホームオートメーションシステム:リモート制御対応
  3. 1Sheeldで作るスマートホーム自動化&セキュリティシステム
  4. プレス自動化完全ガイド:技術・安全性・効率向上のポイント
  5. Labman Automation:産業横断的なオーダーメイドロボットソリューションのパイオニア
  6. 産業オートメーション4.0:生産効率に革命をもたらす
  7. スマートホームテクノロジーが日常生活をどう変えるか
  8. IoTとホームオートメーション:明日のスマートライフを形作る
  9. C#インターフェイスをマスターする:定義、実装、実践的なユースケース
  10. C#のインターフェース:堅牢なオブジェクト指向設計のための契約定義
  11. Javaインターフェース完全ガイド:概念、実装、ベストプラクティス