Raspberry Piで汎用リモコン

Pogoplorer へ戻る

おことわり(重要)

ラズパイ(Raspberry Pi)に赤外線出力を接続して、iRemocon みたいなのを作成するのではありません

動機

風呂のコントローラー、お湯はりはタイマーがあるのに、追い焚き(沸かし)はタイマーがないため
ネット越しに指を貫通させて、任意のタイミングで沸かしを行いたい
その他、家中に押したいもの多数

条件など

完成品


※Google Home との連携は、IFTTT で Webhook を利用しています

作成

材料

上記のほか設定用のPCや工具(キリ)、ドライバ等が必要です

動作の流れ

ラズパイの Web(apache2)を通じて、サーボを動かします
raspbian + apache2 + php + samba
ファイル書き換えやWin環境から名前で探せる等便利なため samba

設定前の準備

ケースへ設置前に動作確認まで行うため、仮のケースを作成

B+ の microSDスロットは押すと抜けてしまうので、その位置にスリットを入れておくこと

無線LAN

可搬性のため無線LANを使用しました
USBポートへ接続する Buffalo WLI-UC-GNM を使用

	取り付けて起動すると、認識してるハズなので
	# ifconfig
	等で確認

	設定ファイルを生成して
	# wpa_passphrase [SSID] [PASSWORD] >> /etc/wpa_supplicant/wpa_supplicant.conf
	
	暗号化などをAPに合わせて設定する
	# vi /etc/wpa_supplicant/wpa_supplicant.conf

	network={
			ssid="SSID"
			#psk="PASSWORD" ←消してもよい
			psk=HOGEHOGE

			key_mgmt=WPA-PSK
			proto=WPA WPA2
			pairwise=CCMP TKIP
	}
	

サーボ

もっと素晴らしい事をされている先人を参考にさせていただきながら

1. WebIOPi をインストールして WebからIOの状態を確認
私がダウンロードした時のパス = http://sourceforge.net/projects/webiopi/files/WebIOPi-0.7.0.tar.gz/download
接続ポートはプログラム起動時に表示される

2. サーボの接続

3. RPIO をインストールして、python から動作を確認

Webからの呼び出し

サーボ動作の python プログラムを cgi へ書き換え、Webから呼び出してみるものの
RuntimeError: No access to /dev/mem. Try running as root! というエラー

IOポートは、root権限じゃないとNGということで、www-data へ root 権限を与えてみるが、結果は変わらず.
試しに、php から system関数 + sudo python hoge.py で動かすと動作しました(www-data の権限は必要最小限に戻しましょう)
(そこだけ php てどうなんだ → そのうち何とかする)

組み立て

我が家にはキリどころか、ニッパーもないことが判明
ハガキ入れ、キリ、指し棒、三脚(他に、針金とニッパー)を100円ショップで購入

ラズパイを止めるネジは、ホームセンターで M2.6 を購入
テキトーに組み立てて完成
※後に三脚をもう一つ追加しています(本体が軽すぎてボタンのテンションに負けるため)

質問など

質問、励まし、仕事の依頼は フォームからご連絡下さい