普段仕事で不在にすることが多く、宅配再配達に悩んでいました。IoT機器で解決できるのではないかと考えていましたが、インターネットを自宅に回線を引いていないため、どうしようもないと諦めていました。

ところが、どこでもインターネットに接続できるRaspberryPi の通信ボードCANDY PI Lite+があることがわかりました。これを使って、簡単にオートロック解錠のIoT化を実現しましたので紹介したいと思います。これは、オフィスでの来客対応にも応用できそうです。

人の操作や確認をどうやって実現するか?

まずは、人が行う操作をどうやって実現するかを考えました。
エントランスはオートロックのドアを開けるため、来客時に部屋にあるカメラ付きのインターホンの解錠ボタン操作する必要があります。その操作を行うため、スイッチをブルートゥースで操作できるSwitchBotボットを使用しました。(https://www.switchbot.jp/bot) 次に、来客者の確認です。こちらは、USBでRaspberryPiに接続できるWebカメラを使用して、室内インターホンの画面を撮影することにしました。(https://www.logicool.co.jp/ja-jp/product/hd-webcam-c270n

宅配の受け取り手順を整理する。

一連の手順は以下の流れに整理しました(システム図)

  1. 配達員さんからエントランスで携帯電話に連絡していただく。
  2. 配達員さんにインターホンで呼び出しをしていただく。
  3. 室内インターホンの画面を遠隔で携帯電話から撮影し、来訪者を確認する。
  4. 携帯電話から、解錠スイッチを遠隔操作
  5. RaspberryPiからブルートゥースでSwitchbotに通信し、動作させる。
  6. エントランスドアが開き、玄関に配達物を置いていただく。

(1)(2)(6)は、配達員さんへの協力していただくことになります。今回は、(3)〜(5)を行うため、CANDY REDとCANDY EGGのツールを使用し実現しました。
CANDY REDは、オープンソースコミュニティで開発されているNode-REDをベースに、センサー情報を加工するために便利な機能や、データを表示したり、画面上からモバイル端末で操作したりするために必要な機能が使えるツールです。 CANDY EGGは、CANDY REDと連携しクラウドアプリを作成して動かすことが可能なツールです。今回は、携帯電話からの確認や操作に使用しました。

RaspberryPiにプログラムは不要。CANDY REDでノードをつなぐだけ。

CANDY REDで実際に作ったフローがこちらになります。

使用したノードは6つだけでした。詳しく説明します。

①解錠ボダン操作

携帯電話から操作するため、CANDY EGGの専用Webページからの操作入力を受信する、「CANDY EGG websocket in」を設置。設定はこのようにしていています。

次に、受信した操作を、Switchbotが動くようにメッセージ「Press」を送ります。これは、changeノードを使用しています。

最後にSwitchbotの操作です。こちらは、execノードを使用しています。
コマンドに「sudo python /home/pi/python-host/switchbot.py EA:FA:C4:17:AC:84」を入力します。EA:FA:C4:17:AC:84 MACアドレスですから、確認して入力します。
コマンドを有効にするためには、設定が必要になります。Switchbotの公式サイトで紹介されております。この作業はRaspberry Piのコンソール画面で行います。こちらのサイトのから手順に従いPythonスクリプトをインストールします。https://github.com/OpenWonderLabs/python-host

(インストールで pip コマンド無いというエラーがでる場合は、sudo apt-get install python-pip を実行すると、エラーが解消されます。)

②Webカメラのシャッター操作

最初に、Webページからの操作入力を受信する、「CANDY EGG websocket in」を設置。

次に、Webカメラのノードを接続。これは、パレットの管理画面からノードを追加で「node-red-contrib-usbcamera」を選択し「ノードを追加」をクリックすれば、追加されます。

設定は、こちらになります。

最後に、撮影した画像を送る「CANDY EGG websocket out」を設置。

CANDY EGGでWeb画面(ダッシュボード)も簡単作成。

CANDY EGGで作成したフローがこちらになります。

複雑に見えますが、実際に作ったのは上にある、4つのノードだけです。

複雑に見えますが、実際に作ったのは上にある、4つのノードだけです。
①ダッシュボードからのWebカメラのシャッターを操作する

まず、buttonノードを使用し、シャッターボダンを操作できるようにします。

次に、ダッシュボードから操作した情報を送るため「CANDY RED websocket out」を設置。

②ダッシュボードから解錠操作する
こちらも、シャッターボタンと同様です。

buttonノードを使用し、Switchbotのボダンを操作できるようにします。

次に、ダッシュボードから解錠操作した情報を送るため「CANDY RED websocket out」を設置。

③撮影した画像をダッシュボードに表示する。
フローはこのようなります。難しいと思いますが、これは、実はコピーしただけになります。こちらに、フローが公開されております。https://github.com/CANDY-LINE/flow-recipe-collection/blob/master/iot-m2m-2018-spring/camera-enocean/README.md
Importから「candy-egg.json」を追加すると、ノードが現れます。そして、不要なノードを削除しました。

「CANDY RED websocket in」の設定を変更して完了です。

④ダッシュボード画面の確認

CANDY EGGのdashboardダグの右上矢印のショートカットから、専用Webページが開けます。アドレスは、以下が付与されていました。
https://scotcheggs.candy-line.io/ivi-candybar-1026a/api/ui/#!/0

クリックしたら既に、Webページが作成されており、表示されました。

これで、完成になります。
実際に携帯電話からも操作できました。

IoTはお手軽なツールが揃っている。いろいろ試した方がよい。

これで、外出していても配達物を受け取れるようになりました。 CANDY REDを使ったことでプログラムを書くことなく、ノードを接続するだけでIoT機器を制御ができたので思った以上に簡単でした。必要なノードについても、オープンソースコミュニティで開発されているNode-REDと同じように使えるのも便利です。また、Webの知識がなくても、専用のページができるCANDY EGGは助かりました。ノードを置くだけで、ボダンができるのはhtmlやプログラミングで苦労しなくてすみますから感動です。照度計や温度計などのセンサーも豊富にあるため、IoTを手軽に活用して、他にも試してみたいと思いました。

今回使用したもの

  • CANDY Pi Lite+ D
  • Raspberry Pi 3 Model B+
  • candy-pi-lite-os-image(v11.1.0)
  • Switchbotボット
  • USBウェブカメラLogicool C270N HD WEBCAM