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

WARANホームオートメーションキット:Raspberry Pi、Arduino、センサー、コンポーネント

必要な部品と材料

部品数量
Raspberry Pi 2 Model B1
Arduino UNO1
DHT11温湿度センサー(4ピン)2
土壌湿度計1
Arduino Pro Mini 5V2
9V電池(汎用)3
水ポンプ1(オプション)
nRF24L01+3
nRF24L01+ ソケット1(オプション)
NPNトランジスタ1(オプション)
3.3V電圧レギュレーター2
10kΩ抵抗2
10µFコンデンサ4
47µFコンデンサ2
ユニバーサル基板3

必要なツールと機械

使用するアプリとオンラインサービス

プロジェクト概要

安価なホームオートメーションシステムを構築しようと計画しました。センサーやデバイスを大きな変更なしで追加できるモジュラーシステムにしたいと考えました。WARAN(**W**indows IoT、**A**zure、**R**aspberry Pi、**A**rduino、**N**RF24L01+)は、単一のハブと複数のモジュールで構成されるモジュラーホームオートメーションシステムです。モジュールはマイクロコントローラーとセンサーの組み合わせで、家のさまざまな場所からデータを収集し、RF経由でハブに送信します。ハブとモジュール間のすべての通信はRFで行われます。ハブ用のコンパニオンWindows Phoneアプリもあります。シンプルなフロー図でセットアップを説明します。

なぜWindows IoT?

私はソフトウェア開発者で、現在IoTに挑戦中です。XAML/C#とVisual Studio(最高のIDEだと考えています)の経験があり、これらを非常に迅速に実装できました。

なぜNRF24L01+?

ワイヤレスオプションを探していたとき、NRF24L01+が安価で低消費電力のソリューションとして浮上しました。強力なライブラリが利用可能で、私にとって最適なソリューションでした。

なぜWindows Azure?

Windows Azureは学習と適応が非常に簡単です。サービスを立ち上げるために必要な設定が少なく、開発に集中できます。Azureの経験が素早い統合に役立ちました。

WARANホームオートメーションキット:Raspberry Pi、Arduino、センサー、コンポーネント

ハブ

ハブはWARANの中心制御装置です。RPI2、Arduino Uno、nRF24L01+で構成されます。RPI2はWindows IoT Coreを実行し、ユニバーサルアプリがコントロールセンターとして機能します。ハブは大型ディスプレイ(通常はTVやモニター)に接続され、モジュールからのデータ表示と制御が可能です。RPI2に接続したキーボードとマウスで、コントロールセンターからモジュールの追加・削除ができます。回路図はプロジェクトのWARAN.Hub.fzzファイルを参照してください。

WARANホームオートメーションキット:Raspberry Pi、Arduino、センサー、コンポーネント

動作原理

すべてのモジュールは一意のアドレスを持ち、ハブはこれを使用して通信します。このアドレスを使ってモジュールをコントロールセンターに追加し、名前を付けます。追加後、コントロールセンター(ユニバーサルアプリ)がArduino UnoにI2C経由でデータを送信。Arduino UnoがnRF24L01+経由でモジュールにデータを送信し、モジュールはセンサーからデータを読み取るか、受信データに基づいてデバイスを起動/停止し、データをArduino Unoに返送します。Arduino UnoはI2C経由でデータをコントロールセンターに送信し、TV/モニターに表示されるとともにクラウドにも送信されます。Arduino UnoはRPI2が他のモジュールからセンサーデータを取得するためのインターフェースとして機能します。このプロセスは以下の3つのシナリオで発生します:

  1. モジュールに応じた特定の間隔で
  2. ユーザーがコントロールセンターと対話したとき(マウス/キーボード経由)
  3. クラウドからトリガーが送信されたとき(PubNub経由)

典型的なフローは以下の通り:

WARANホームオートメーションキット:Raspberry Pi、Arduino、センサー、コンポーネント

ハブとモジュールのコンポーネント間の相互作用は以下の通り:

WARANホームオートメーションキット:Raspberry Pi、Arduino、センサー、コンポーネント

コントロールセンター

コントロールセンターはRPI2で実行されるユニバーサルアプリです。ユーザーが対話するインターフェースであり、モジュールおよびクラウドと通信します。WARANコントロールセンターはAzure Mobile ServicesとPubNubをクラウドバックエンドとして利用します。追加したすべてのモジュール情報はローカルのSQLite DBに保存され、Azure Mobile Serviceにも送信されます。これによりPubNubメッセージやプッシュ通知がモバイルアプリに送られます。コーディング部分の詳細は省略します。プロジェクトのソースコード、ドキュメント、デプロイメント詳細は https://bitbucket.org/arjunganesan/waran にあります(ドキュメントを完全に更新中で、近日中に完了予定)。

モバイルアプリ

モバイルアプリはWindows Phoneアプリ(将来的に他プラットフォームも開発予定)で、ハブのコンパニオンアプリとして機能します。世界中のどこからでもすべてのセンサーデータを確認できます。モジュールから重要な情報(ガス漏れアラートなど)を受信した場合、プッシュ通知も届きます。また、モバイルからモジュールのアクションをトリガーすることも可能(植物水やりモジュールでポンプを開始など)。すべてクラウド経由で行われるため、モバイルデバイスがハブの近くになくてもこれらのアクションが可能です。

モジュール

モジュールは、コンポーネントの組み合わせで、RF経由でハブとデータの送受信を行います。Arduino Pro Miniとセンサーの組み合わせや、RPI2とセンサーの組み合わせなどが可能です。ハブからRF経由でデータ/コマンドを受信し、適切に応答することさえできれば何でも構いません。これにより無限のモジュールの可能性が開けます。まずは2つのモジュールから始めます:

  1. 植物水やりモジュール
  2. 温度監視モジュール

植物水やりモジュール

植物の水位と周囲の温度を監視します。水が不足している場合、モバイルアプリにアラートを送信。どこからでもモバイルアプリでポンプを開始できます。水位が閾値を下回ったら自動的にポンプを開始する設定も可能です。Arduino Pro Mini、DHT11、土壌湿度計、nRF24L01+で構成されます。回路図はプロジェクトのPlantWaterer.fzzを参照。

WARANホームオートメーションキット:Raspberry Pi、Arduino、センサー、コンポーネント

9V電池の電力はArduino Pro MiniのRAWピンに供給されます。内蔵レギュレーターがVccで5Vを出力し、DHT11に電力供給。また、9V電力を3.3Vレギュレーターに入力してnRF24L01+に電力供給します。湿度計の水位はアナログピンA3で読み取り、DHT11の温度はデジタルピン6で読み取ります。デジタルピン5でトランジスタやリレーに信号を送り、ポンプを起動/停止します。デモ用にDCポンプとトランジスタをスイッチとして使用。動作フローは以下の通り:

WARANホームオートメーションキット:Raspberry Pi、Arduino、センサー、コンポーネント

ブレッドボードのままにしたくなかったので、ユニバーサル基板に移しました。コンパクトにしたかったのでこの形にしました。回路図を参照して独自のレイアウトを作成できます。

WARANホームオートメーションキット:Raspberry Pi、Arduino、センサー、コンポーネント
WARANホームオートメーションキット:Raspberry Pi、Arduino、センサー、コンポーネント
WARANホームオートメーションキット:Raspberry Pi、Arduino、センサー、コンポーネント
WARANホームオートメーションキット:Raspberry Pi、Arduino、センサー、コンポーネント
WARANホームオートメーションキット:Raspberry Pi、Arduino、センサー、コンポーネント
WARANホームオートメーションキット:Raspberry Pi、Arduino、センサー、コンポーネント
WARANホームオートメーションキット:Raspberry Pi、Arduino、センサー、コンポーネント
WARANホームオートメーションキット:Raspberry Pi、Arduino、センサー、コンポーネント
WARANホームオートメーションキット:Raspberry Pi、Arduino、センサー、コンポーネント
WARANホームオートメーションキット:Raspberry Pi、Arduino、センサー、コンポーネント
WARANホームオートメーションキット:Raspberry Pi、Arduino、センサー、コンポーネント
WARANホームオートメーションキット:Raspberry Pi、Arduino、センサー、コンポーネント

動作の様子は動画を参照してください。

温度監視モジュール

部屋(寝室など)の温度を監視し、温度と湿度レベルを通知します。また、ハブやモバイルからデバイス(サーモスタット、エアコンなど)のオン/オフや調整が可能です。デモ用にArduinoに接続したLEDのオン/オフでデバイス制御を示します。Arduino Pro Mini、DHT11、nRF24L01+で構成。回路図はプロジェクトのTemperatureMonitor.fzzを参照。

WARANホームオートメーションキット:Raspberry Pi、Arduino、センサー、コンポーネント

9V電池の電力はArduino Pro MiniのRAWピンに供給。内蔵レギュレーターで5Vを出力しDHT11に供給。9Vを3.3Vレギュレーターに入力してnRF24L01+に供給。DHT11の温湿度はデジタルピン5で読み取り。ピン6でトランジスタ/リレーに信号を送り、デバイス(サーモスタット、エアコン等)を起動/停止。デモ用にLEDでデバイス制御を表示。動作フローは以下の通り:

WARANホームオートメーションキット:Raspberry Pi、Arduino、センサー、コンポーネント

パーフボードへの実装例:

WARANホームオートメーションキット:Raspberry Pi、Arduino、センサー、コンポーネント
WARANホームオートメーションキット:Raspberry Pi、Arduino、センサー、コンポーネント
WARANホームオートメーションキット:Raspberry Pi、Arduino、センサー、コンポーネント
WARANホームオートメーションキット:Raspberry Pi、Arduino、センサー、コンポーネント
WARANホームオートメーションキット:Raspberry Pi、Arduino、センサー、コンポーネント

既知の問題

今後の計画

自分専用のホームオートメーションシステムを実装するためのオープンプラットフォームにしたいと考えています。ハブとモバイルアプリを安定化させ、さらに多くのモジュールを追加予定。音声コマンドと応答もロードマップにあります。現在取り組んでいるモジュール:

これらすべてのモジュールがハブを通じて単一ユニットとして連携すれば、私が常に欲しかったホームオートメーションシステムが実現します。新しいモジュールをHacksterで個別プロジェクトとして追加し続けます。誰でも新しいモジュールを追加・拡張歓迎です。新しいモジュールの追加方法についてはWikiページを更新予定。

コード

Bitbucket

https://bitbucket.org/arjunganesan/waran

回路図

WARAN.Hub.fzz PlantWaterer.fzz TemperatureMonitor.fzz

製造プロセス

  1. Raspberry Piで構築するホームオートメーションシステム:リモート制御対応
  2. Arduinoデジタルダイス: LCD表示の乱数ジェネレーター自作
  3. DIY Arduino USBゲームコントローラー - 高性能ゲームパッドを自作
  4. ホームオートメーション制御のための堅牢な物理インターフェース
  5. Pixel Chaser: Arduino Nanoで作るワンタップLEDゲーム
  6. Arduino Nanoで構築するスマートホーム植物自動水やりシステム
  7. Arduinoで作る斥力式磁気浮上装置: シンプル回路とDIYガイド
  8. Alexa対応Arduinoホームコントローラー:音声でスマートホーム自動化
  9. Arduino Nanoで作るNeoPixelマトリックス版Pongゲーム
  10. DIY LEDルーレットゲーム – Arduino Nanoで作る1人用アーケードゲーム
  11. スマートホームテクノロジーが日常生活をどう変えるか