センサデータの集計・分析・表示などのサービスをIoT Platformと呼んでいます。Cayenne(https://developers.mydevices.com/cayenne/features/)は、IoT Platformをサポートし、LoRaWANデバイスを最大10台まで無料で使用できます。
Cayenneは、メールアドレスだけでアカウントが作成でき、The Things Networkからの転送も受け付けています。
下図のような画面(ダッシュボード)でセンサデータを確認できます。
Cayenneの便利な機能などの説明は今回は省いて、まずはLW01-NWPのセンサデータをCayenneのダッシュボードに表示させたいと思います。
用意するもの
LPS8は、Dragino社のLoRaWANゲートウェイになります。The Things Networkに接続できるゲートウェイなら何でもOKです。
手順は、ノート「LW01-NWPをThe Things Networkで試す」を参照して下さい。LW01-NWPのセンサデータがThe Things Networkのデータログに表示されることを確認します。
Cayenne(https://developers.mydevices.com/cayenne/features/)を開き、右上の"SIGN UP FREE"を押して、アカウントを登録してください。登録後は、"SIGN IN"からログインできるようになります。
サインイン後、最初に下図が表示されます。
The Things Networkから転送されたセンサデータを扱うので"LoRa"を選択してください。ここで何を選択しても次の画面で選択し直せます。
左のメニューで"LoRa"が選択されているときに、検索フィルターに"LPP"と入力すると、右のビューに"Cayenne LPP"が表示されます。それを選択します。
ちなみに、Cayenne LPPとは、センサデータを極力少ないバイト数で表現したフォーマットになります。例を挙げると、接点入力データは3バイトで構成されています。また、Cayenneには、MQTTプロトコルでJSONフォーマットでセンサデータを送ることもできます。JSONフォーマットでセンサデータを送る方法については、別のノートに書きたいと思います。
"Name"は自由に入力してOKです。"DevEUI"は、LW01-NWPに割り振られている固有IDになります。The Things Networkの画面でも確認できます。
"Add Device"を押すと、ダッシュボードが表示されます。
以上で、Cayenneの初期設定は完了です。
The Things Networkに届いたセンサデータをCayenneに転送する設定を行います。
最初に、アプリケーションの画面で"Payload Formats"を選択します。
"Payload Format"を"Cayenne LPP"に設定して、"Save"ボタンを押します。完了したら、今度は"インテグレーション"を選択します。
"インディグレーションの追加"を押して、一覧の中から"myDevices"を選択します。
"プロセスID"には、CayenneのダッシュボードのURLからコピーしたものを貼り付けます。
"Access Key"の項目には、"default key (devices) (messages)"を選択し、”インティグレーションの追加”ボタンを押します。
以上でThe Things Networkの設定は完了です。
LW01-NWPに下記のコマンドを入力します。(<CR>はキャリッジリターン)
xxxxxxxxxx
#FM01<CR>
#DP099<CR>
最初のコマンド(#FM01<CR>)は、送信するフォーマットをCayenne LPPフォーマットに変更するコマンドになります。次のコマンド(#DP099<CR>)は、送受信のポート番号になります。The Things NetworkにCayenneの設定を行うと、Cayenneからの送信データがポート番号99で届くためにこの設定を行います。
以上で、LW01-NWPの設定は完了です。
LW01-NWPから送信が始まると、The Things Networkを経由してCayenneに届きます。センサデータはダッシュボードに自動で追加されます。
センサデータとダッシュボードのアイコンには、チャネル番号が割り振られています。センサデータが上がってくると、同じチャネル番号のアイコンの表示が更新される仕組みです。
アイコンが自動で登録されると、その後はデータの値だけが更新されるので、センサデータのタイプを変更した場合には、アイコンを一度削除するか、設定を合わせる必要があります。
LW01-NWPからCayenneに送信されるチャネル番号とセンサデータの種類の一覧
チャネル番号 | センサデータ | Cayenne LPP データタイプ |
---|---|---|
0 | 出力端子1 | digital_output |
1 | 入力端子1/4-20mA入力端子1[mA] | digital_input / analog_input |
2 | 入力端子2/4-20mA入力端子2[mA] | digital_input / analog_input |
3 | 入力端子3/4-20mA入力端子3[mA] | digital_input / analog_input |
4 | 入力端子4/4-20mA入力端子4[mA] | digital_input / analog_input |
5 | 入力端子5 | digital_input |
6 | 入力端子6 | digital_input |
7 | 入力端子7/0-10V入力端子1[V] | digital_input / analog_input |
8 | 入力端子8/0-10V入力端子2[V] | digital_input / analog_input |
9 | 入力端子9/0-10V入力端子3[V] | digital_input / analog_input |
10 | 入力端子10/0-10V入力端子4[V] | digital_input / analog_input |
11 | 平均風速[m/s] | analog_input |
12 | 最大瞬間風速[m/s] | analog_input |
13 | 10分間雨量強度[mm/h] | analog_input |
14 | 1時間積算雨量[mm] | analog_input |
15 | GPS ロケーション | gps_location |
プロジェクトを作成して、この中から管理したいものだけをダッシュボードに追加できます。名前やアイコンを変えたり、グラフ表示に変更したりすると下図のようになります。
風速が一定値を超えた時に接点出力をONにし、一定値を下回ったらOFFにするなどといったトリガ設定も可能です。IoT Platformは、センサデータをトリガにして、何かのアクションを起こすことが柔軟に設定できます。(メールを送信したりなど)
IoT Platformは他にもいろいろありますので、いずれ別のIoT Platformへの設定方法についても書きたいと思います。
また、CayenneはJSONフォーマットで送信した方がCayenne LPPフォーマットで送信するより表現が細かく設定できるようなので、直接CayenneにJSONフォーマットのセンサーデータを送信する方法についても別の機会に書きたいと思います。