ラズベリーパイでIoTのゲートウェイ その1 セットアップ

  •  1台のラズパイに温度センサをつないでクラウドにMQTTで温度データを送ることは可能
  •  1台のArduino YUNに温度センサをつないでクラウドにMQTTで温度データを送ることは可能
  •  1台のESP8266に温度センサをつないでクラウドにMQTTで温度データを送ることは可能

 いずれも実験レベルでは可能ですが、メインテナンスを考えると得策ではありません。機材は故障しますし、電源は交換時期が来ます。

ゲートウェイが便利

 デバイスの通信能力がインターネットをアクセスできない場合、逆に小さなマイコンを使うのであれば、途中にゲートウェイがデータを中継すれば、

  • 全体のコストが抑えられ
  • デバイスの故障時の変更などが単純に交換だけで済む

かもしれません。

 さらに、デバイス間の通信プロトコルの変換ができれば、いろいろなメーカのデバイスに対応ができます。

Mozillaによるプロジェクト

 Mozillaは、Web of ThingsというIoTのソリューションを2017年6月に発表しました。具体的なツール類は、2018年2月6日に、バージョン0.3として公開されました。プラットホームはラズパイです。ラズパイをゲートウェイとして使い、IoTデバイスへのアクセスは、

  • Zigbeeメッシュ
  • Z-Wave
  • ラズパイのGPIO直接

の3種類の方法を通じて行います。Z-Waveは920MHz帯の規格ですが、検索した限り、日本では単独の製品が購入できないようです。Zigbeeメッシュに使えるのを探すと、DIGI-XU-Z11Jが見つかりました。

 DIGI-XU-Z11Jを使うと、ZigBee Light Linkプロトコルが利用できるので、PhilipsのHUE電球やIKEAのTRÅDFRI電球(2018年2月現在、カタログに掲載されているが販売はされていない思われる)が制御できます。PhilipsのHUE電球は専用のZigbee-Wi-Fiゲートウェイが入手できます。IKEAのゲーウェイは日本では販売されていません。

●できること その1 ホーム・オートメーション

 ZigBee Light Linkプロトコルに対応した電球などを制御できます。ただし、PhilipsやIKEAのゲートウェイの情報を初期化した後でしか使えないので、共存ができるかは不明です。単独で明るさを変えたり、Aという電球をつけるとBの電球も明るくするというルールを定義できます。
 調べてもはっきりしないのですが、日本では暖房器具のON/OFFはやってはならないようですし、ガスや煙検知は消防法の範疇なので、利用は簡単ではないようです。電球の操作以外では用途が見つからないので、日本では普及していない規格だといえます。

●できること その2 GPIO

 デフォルトではGPIO18端子をON/OFFできます。複数の端子の制御もJSONで記述を追加すれば可能です。開発は多くの言語に対応しています。将来I2CやSPIに対応するかもしれません。すでにこのあたりの機能はNode-REDが実現しています。

 バージョン0.3で利用可能なのはこの2種類と思われます。Mozillaでは、IoTデバイスをThingsと呼びます。ゲートウェイだけでなく、将来クラウド側のソリューションも出てくる予定です。

利用する手順

 ラズパイはRaspberry Pi 2 model Bを利用しました。Raspbianをインストールするのと同じ手順で、ゲートウェイがセットアップできます。こちらからimgファイルをダウンロードします。

 Windowsでは、Win32 Disk Imager1.0を使って解凍したimgファイルをマイクロSDメモリに書き込み、ラズパイのSDスロットに挿し込みます。HDMIコネクタにディスプレイを、DIGI-XU-Z11J、キーボード、マウスをUSBコネクタに挿し、LANをつないだ後電源を入れます。画面には立ち上がりの状況が表示されます。30秒ほどでログイン・プロンプトが出ます。ユーザ名pi、パスワードraspberryで入れますが、そのままにしておきます。

 PCのブラウザから、URLの欄にhttp://gateway.local/でアクセスします。ラズパイで名前解決のavahiが動いているのでアクセスできるはずですが、先ほどの画面にDHCPからふられたIPアドレスが表示されているので、そのアドレスを直接入れてもかまいません。

 サブドメイン名とメール・アドレスを入力します。

 Createボタンをクリックします。

 少し時間がかかっています。

 これから使っていくユーザのアカウントを登録します。

 入力が終われば、Nextボタンをクリックします。

 右下の+をクリックするようにメッセージが出ています。

 必要と思われるものの+Addをクリックします。

 ZigbeeとPhilips-HUEの二つを利用することにしました。

 思い直してGPIOも追加しました。

 +を押すと、ledを見つけてきました。

 操作画面です。アイコンを押すとON/OFFができます。ラズパイ上の何も変化しません。

 一度終了します。次のようにLEDと電流制限用抵抗を配線します。LEDの色は何でもかまいません。抵抗の値は300Ω~1kΩを使います。

 電源を入れなおして、ブラウザで操作画面を出します。画面のON/OFFに合わせてLEDが点灯します。

 こちらのページに解説されているのと少し異なります。

 画面左上にある3本線の設定メニューを押すと次のようなメニューが出て、Settingsをクリックすると、設定の変更・追加ができます。