United Statesからアクセスのようです。言語設定をEnglishに切り替えますか?
Switch to English site
Skip to main content

「Rasp-PIoT」IoT機能がない家電をRaspberry PiでIoT化

概要

Rasp-PIoTは IoT の機能がない家電を IoT 化するための作品です。現在は赤外線リモコンで操作する家電をAndroidアプリケーションで操作することができます。今回のシステムでは、Raspberry Piと Androidアプリケーションで部屋の温度習得、エアコンの操作を行います。

開発背景

最近、IoT機能を搭載した家電が増えています。しかし、いま利用している家電をすぐに買い替えることはできません。そのために、IRリモコンで操作する家電であれば IR信号を送信する機器でIoT化することができると思いました。そこで Rasp-PIoTはその IR信号を送信する IoT機器を Raspberry Piで開発しました。

システム実装

Pasp-PIoTは次の3つの部分で構成されています。1つ目は家電を操作するための Androidアプリケーション、2つ目は IR信号を生成するRaspberry Pi、最後はそのネットワーク通信を行う phpです。

Androidアプリケーション

下の図はAndroidアプリケーションのスクリーンショットです。

Android Application Screenshot

左上に部屋の温度、右上にエアコンの設定温度、その下にエアコンの ON/OFFボタン、その下にエアコンの温度設定スライダーがあります。ユーザーがアプリケーションを操作すると、ネットワークで Raspberry Piに HTTP通信を行います。

Raspberry Pi

下の図はこのシステムを実装するために組み立てた回路です。

Raspberry Pi Circult

IR受信モジュールは GPIO22番に、IR LEDを操作するトランジスタは GPIO23番に、i2c_ds1631(温度センサー)は GPIO 0,1番に接続します。

Raspberry Piで動くプログラムは次のようなものがあります。

  • エアコンの設定に従って IRパルスファイルを生成するプログラム
  • i2cセンサーから現在の気温を習得するプログラム
  • Linux Infrared Remote Control(LIRC) API

php

Androidアプリケーションが行う操作に従いそれぞれの phpに接続します。phpとその動作は次のようなものがあります。

  • 現在の気温を習得するプログラムを呼び出し、その値を返す。
  • 現在のエアコン設定ファイルを読み取り、その値を返す。
  • アプリケーションから引数でエアコンの設定を受け取り、IRパルスファイルを生成するプログラムを呼び出す。そのあとに、IR信号を送信する LIRCを呼び出し、パルスファイルで IR信号を生成する。

システムの動作

Androidアプリケーションで操作を行うと、Raspberry Piが IR信号生成し、エアコンがそれに従い設定を変更します。アプリケーションのスクリーンショットで確認できるように追加的なプログラムを書くことで、設定した気温でエアコンが自動的に始めるような機能を追加することもできます。

今後の課題

  1. 送信するとき、LIRC APIを使わずに直接IR信号を生成する
  2. 操作できる機能を増やす
  3. 利用できるリモコンを増やす
  4. 他のセンサーの対応/モジュール化

 

Threemunsell さんはまだ自己紹介を入力されていません...

コメント