Introduction: Raspberry Piでホームオートメーション:導入編

About: 組み込み系システム、ガーデニング、ドローンに興味あり

フリーのConductor-liteを使ったホームオートメーションの導入編です。

Conductor-liteはRaspberry piで動作するタイマーやセンサー入力でI/Oを制御したり、インターネット経由でインターネットブラウザから状態を監視できるソフトウェアです。ここでは、プッシュボタンでLEDの点灯をON/OFFしている状態をブラウザから監視するプログラム(フロー)を作ります。

Conductor-liteのインストール方法は、ここでは省略しますのでこちらをご覧ください。OSがインストールされているRaspberry piがすでにあれば、インストールのためのシェルスクリプトの実行と、リモートコントロールのためのサイトへの登録だけで利用できます。

Step 1: 回路の作成

Raspberry pi 3 BにLEDとプッシュボタンをつなげます。

32番ピン(GPIO12)に1kΩ程度の抵抗を介してLEDを、40番ピン(GPIO21)に1kΩ程度でプルダウンして3.3V電源にプッシュボタンを接続します。

接続が完了したらRaspberry piに電源を接続して起動します。Conductor-liteが正しくインストールされていれば、LEDが10秒毎に点灯します。

Step 2: フローの作成

Conductor-liteのサイトにログインしてフローを作成します。

すでにセットアップが完了していると、view画面が開きます。

① 右上の"edit"をクリックしてフロー編集画面に移ります。デフォルトで図のようなフローが設定されていますのでこれに追加します。

② appendボタンを押してポートを追加します。

③ 名前を付与し(ここの例では"input")、ポートの種別はinputを選択、inputポートの番号には物理ピン番号の40を設定します。(STEP1でボタンを接続したボートです)

④ ORロジックを追加します。

⑤ ③で追加したinputポートを選択します。

⑥ セーブします。

セーブすると設定したフローがスタートし、STEP1で作成した回路のLEDの点滅が再開します。

ボタンを押すと、周期的なLEDの点滅とは独立に、LEDが点灯します。

このフローでは、次の条件でピン番号32がONになります。

・10秒周期(トリガーcyclicのタイムアウト)または、ボタンの押下でON

・ONになってから3秒後(トリガーstopのタイムアウト)にOFF

Step 3: モニタ画面の作成

右上のviewをクリックして画面を切り替え、editボタンを押すと、表示をカスタマイズすることできます。

STEP2で追加したinputポートを画面に配置し、saveボタンを押してください。

Step 4: 動作確認

LEDとインターネットブラウザのoutput、ボタンとinputが同期していることを確認してください。