Raspberry PiをEnOceanゲートウェイにする

last updated 2016.1.13
created 2015.5.20

Raspberry PiによるEnOcean Gatewayの実用化・商用化が始まっていますので把握しているものをご紹介しておきます。

株式会社ファンブライトの商用化実例
「PythonでEnOceanの電文を読み取る」個人のブログ


Arduinoと並んでハードウェアプラットフォームとして普及しておりよく使われるのがRaspberry Pi(ラズベリーパイ)です。

ここでは主にRaspberry PiをEnOceanゲートウェイとして使う場合のセットアップの仕方、注意事項などをまとめておきます。

=====目次

1) Raspberry PiをEnOceanゲートウェイにするための大まかな流れ

2) Raspberry Piをゲートウェイとして使う際の注意事項

3) FAQ

補足)OSの初期設定の詳細

=====以下、本文

1) Raspberry PiをEnOceanゲートウェイにするための大まかな流れ

ゴールは見えているが、どうやって、どの程度の工程でたどり着けるのかわからない作業は非常に苦痛です。そんな苦痛を和らげるために、ここでは大まかな流れをまとめておくことにします。これなら詳細な解説に進んでも大丈夫、と思えたら実行に移しましょう。

a) まず調達すべきもの
・このサイトの情報だけでやろうとしている猛者もいるかもしれませんが、常識的には何らかの解説本があると心強いでしょう。例えば私がリファレンスにしている書籍を紹介しておきます。

・Raspberry Pi本体。最近Model B+がリリースされました。ここではその前身のBを使って説明していますが、基本は同じはずです。事前に違いがわかっているところは都度説明をしています。
その他
・OSをネットから入手してRaspberry PiにインストールするためにWindows PCが必要です。他人にSDカードを焼いてもらうとかや会社のPCが使えるならそれでも構いません。
・ACアダプタ(5V, 700mA, micro-USBコネクタ)
・USBキーボード
・ディスプレイ(HDMI or DVI)
・ビデオケーブル(HDMI to HDMI/HDMI to DVI)
・USBマウス
・LANケーブル
・SDカード(8GB以上、class10がbetter)(B+はmicroSD)

b) OSを入手してSDカードに焼く(2016.1.13 updated)
=====
本稿を最初に書いてから後、NOOBSという非常に簡単なインストーラが使えるようになりました。このムービーを見てやれば誰でもできます。

NOOBS Setup

OSのインストールの説明はこれだけで十分でしょう。以下の文章は参照のために一応残しておきます。
=====
まずSDカードに焼くツールを手に入れます。このサイトから。
最新版のOSをネットからダウンロードし、SDカードに焼きます。そのSDカードをRaspberry Piに挿して電源を入れればRaspberry Pi上で初期設定に進みます。
※Raspberry Pi用に最適化されたRaspbianというOSを使うのが一般的です。

a)とb)はこちらにもまとめられています

c) OSの初期設定
ここで行うのは
・SDの容量を無駄なく使うための設定
・パスワード設定
・日本語環境、時間設定
・OSのアップデート
・有線LAN、Bluetooth等の設定
です。
※詳細はこのページの最後に記します。

以上でRaspberry Piの下準備が終了。これ以降、EnOceanゲートウェイにするための作業が始まります。

d) USB400J用ドライバのインストール
初めて使うUSBデバイスをPCに挿してドライバが自動的にインストールされるのはWindowsと同じです。Raspbianでインターネットに接続されていれば、USB400JをUSBポートに挿してログインした際ドライバは自動的にインストールされます。
※念の為にLinux用のdriverのダウンロードサイトはここです。(追記2015.6.12)

Raspberry Pi本体の給電能力が低いので、USB400Jを挿してリスタートするようでしたら給電可能な外部USBハブに挿してください。
e) ソフトウェアを準備する
2014.8.16現在提供できる情報として、オプションは3つあります。

e-1) EnOcean Linkを使う
開発元がEnOcean社製のため完成度・信頼性の面で一番無難です。トライアルバージョンが用意されています。詳しくはお問合せください

e-2) FHEMを使う
フリーで使えるようなので、個人の責任の範囲で試したり、本格的なソフトウェアができるまでの間販促に使ったりするにはいいですが、運用開始後のサポートのことを考えると商用に使うには難があります。

e-3) 独自開発する
一番ハードルが高いですが開発過程と成果物を重視する場合は選択肢に入ります(ノウハウが残り成果物を自分たちで好きなようにできる)。この場合当社がコンサルティングおよびサポート致します。

f) 他情報等

(2015.9.5 start) 初心者に取っつきやすい言語としてPythonがあります(Pythonの名前を聞いたことがない方はこちらを参照されると良いでしょう)。Raspberry PiにはUSB400Jが刺さっているものとしてEnOceanとPythonとのI/Fを簡単に解説します。

まずPySerialというモジュール(http://pyserial.sourceforge.net)をインストールします。

sudo apt-get install python-serial

Pythonの開発環境IDLE3を立ち上げ次のコードを入力してsaveします。

>>>import serial

>>>ser = serial.Serial(‘/dev/ttyUSB0’,57600,timeout=1)

>>>while True:

c = ser.read()

print(c)

これをRunさせると、consoleにUSB400Jで受信できた電文がダラダラ出力されるのがわかります。

あとはこれをESPで解読して何らかのアクションを起こすようにプログラミングすればいいわけです。(2015.9.5 end)

※今後拡充して行きます。

2) Raspberry Piをゲートウェイとして使う際の注意事項

まず、Raspberry Piは、主に教育目的に作られており、商用を意識していない、ということを知っておくべきです。Raspberry Piシリーズで今後商用を意識した製品が出てくる予定があるようですが、商用ベースに乗せるには、安定供給されるか、安定して動作するか、等に注意が必要です。

3) FAQ
(2015.6.12)Linux向けUSB400J用デバイスドライバーのダウンロードサイトはここ

 

=============

補足)OSの初期設定の詳細

 

1) OSの初期設定(再起動まで)
SDカードをRaspberry Pi本体に挿入して電源を入れると、ディスプレイにテキストがだらだら流れ始め、Setup Optionsという画面で一旦休止します。ここで各種設定をします。

まず最初に覚えておくべきは、決定はエンターキー、設定はスペースバー、項目をスキップするにはタブキーです。これが書いてない資料が多々あって苦労します。

Expand Filesystem>enter, 画面が変わってOKをenter
Change User Password>enter, passwordを2回入力、enter
Internationalisation Options>enter, Change Locale>enter
ja_JP.EUC-JP EUC-JP
ja_JP.UTF-8 UTF-8
をスペースバーで選択後、タブキーでOKを選択してenter
Internationalisation Options>enter, Change Timezoneで
Asia>enter, Tokyo>ok, enter
Internationalisation Options>Change Keyboard Layout>enter,
Generic 105-key(Intl)PCを選択してenter

最後、Setup Options画面でFinishを選択、enter
この後再起動がかかります。

2) OSの初期設定(再起動後)
pi@raspberrypi~$sudo apt^-get update
pi@raspberrypi~$sudo apt^-get -y upgrade
ここまでで通常の使い方はできるようになりました。無線LAN, Bluetoothを使いたい場合などはこの後の設定が必要です。
3) 参考にしたサイトなど

http://www.orsx.net/blog/archives/4314

http://www.rs-online.com/designspark/electronics/nodes/view/type:knowledge-item/slug:jpn-quick-start-guide-supplementary