Raspberry PiでDIYスマートホーム!第1回 ~全体像の解説と準備~

f:id:MDaiki:20200329194941p:plain

こんにちは、Daikiです。 Raspberry Piを使用して、外出先から自宅の家電を操作することに成功したので記事に書きたいと思います。この記事で紹介する方法は、Node-REDやAlexaなどのツールを一切使わない方法です。なので、多少のプログラミングスキルは必要です。 Goで簡単なサーバの構築やawsの使用経験があるなら簡単に実装できると思います。

コンセプト

あなたの家を制御します! スマートフォンで家に設置した万能リモコン(RM mini3)を制御し、遠隔で自宅の家電を操作します。 帰り道にスマートフォンを少し操作するだけで、暖房の効いた暖かい部屋があなたの帰りを出迎えてくれます。

全体像

f:id:MDaiki:20200530020028p:plain

iPhoneやApple watchからAWSを通して家電を操作しています。理由は、自宅wifiのグローバルipアドレスに不特定多数の通信を許可させないためです。これにより、http通信を許可するipアドレスを指定することができます。Raspberry Piから黒い物体に通信を送っています。この黒い物体は、RM mini3という名称で、万能リモコンみたいなもんです。また、RDSを使用して身内だけ操作可能にするために認証システムも追加しました。

必要なもの

必需品

  • Raspberry Pi 3B+
  • RM mini3
  • AWSアカウント
  • Android端末

オプション

  • xcode (iosアプリやapple watchを作るなら)

準備の方法

Raspberry Pi 3B+にubuntu serverの導入

Raspberry PiのOSは、Ubuntu Serverを採用しました。採用理由としては、ファイアーウォールの記事がUbuntuの方が豊富だったからです。
Raspberry Piにubuntu serverのインストール方法は、下記の記事がおすすめです。

micro SD card にubuntu-serverをインストールする方法

rm mini3の初期設定とラズパイの連携

RM mini3のセットアップやラズパイとの連携は、他の方が詳しく書かれているのでリンクだけ貼っておきます。

いまさら、BroadLink RM Mini3を使ってみた

Raspberry PiからコマンドラインでRM mini3(スマートリモコン)を制御する

※注意
BlackBeanControlのインストールをする前に、pythonでインストールしたbroadlinkのバージョンを0.6にする必要があります。1年前なので、いろいろと更新されたのでしょう。ここで、半日詰まりました...。

$ pip install broadlink==0.6

AWSを使った設定

AWSを使用して、EC2とRDSを借ります。また、EC2には、static ipを割り当てます。

おわりに

お疲れ様でした!すごく大変だったと思います。 次回は、自宅のwifiポートの解放とubuntu server のファイアウォールの設定について書きたいと思います。 もし、わからないことがあればTwitterでDMかリプしてくれたら答えますよ〜!