United Statesからアクセスのようです。言語設定をEnglishに切り替えますか?
Switch to English site
Skip to main content

多彩な機能、安全性、スケーラビリティを備えたIoT向けクラウドソースデータネットワーク

私がはじめて、まだプロトタイプの段階だった「The Things Network」プロジェクトの記事を書いてから、もう一年近く経過したことが信じられません。たった数週間のうちに、アムステルダム全域をLoRaWANでカバーするという信じられないことを成し遂げただけでなく、非常に熱狂的で急速に成長するコミュニティの想像力に今度は火をつけ、これを世界に広げようとしました。

それから、ネットワークコアあるいは"バックエンド"は何度かの繰り返しを経て、最低限の機能でありながらしっかりと動作するものだったために、その価値をとても実践的な方法で示したことにより、いまや機能豊富なプラットフォームへと進化して、プロプライエタリなソリューションベンダーやネットワークオペレータが注目する存在へと疑いようなく成長しました。

この記事では、The Things Networkプロダクションバックエンドとそれが提供する機能について、アプリケーションにどのように役立つかを検討しながらみていきます。

急速な進化

v0ネットワークアーキテクチャ

去年の12月にv2として本番環境が立ち上げられ、これはv1のステージング環境を置き換えるものです。現在、並列してその両方が存在しますが、丁寧に計画されていたために非常にうまく調和して動作しています。しかし、v1の古い環境からアプリケーションを移動させることが推奨されており、また、この移行は比較的簡単なものです。

1年前には、ネットワークは、RESTfulなウェブAPIとパブリックMQTTブローカによる、実際の認証を行わない非常にシンプルな、小さなv0アーキテクチャによって動作していました。ただ、これら3回のリビジョンについてすべての変更を示すというよりも、最新の環境で何が存在するのかについて注目してみていきます。

ネットワーク容量

ADR アルゴリズム, 出典: thethingsnetwork.org

v0ネットワークでは、シンプルなActivation by Personalisation (ABP)のみをサポートしていましたが、はるかにスケーラブルなOver-The-Air-Activation (OTAA) を現在ではサポートするようになったことに設定に入る前に注目すべきです。同じように、v0ではアップリンクのみの対応でしたが、ダウンリンクについてもサポートされ、API経由に加え、コンソールからメッセージがキューに追加されます。

コンファームド・アップリンクは、送信されたデータが受信されたことをデバイスが確実に確認する必要のあるアプリケーションで使用できるようになりました。Adaptive Data Rate (ADR)のサポートのように、ネットワークがデータ・レートを増やすか、または消費電力を下げるかを計算することで、送信時間の使用と全体的なネットワーク・パフォーマンスの最適化に役立ちます。

また注目すべきは、ネットワークにフレームカウンタのチェックが実装されており、リプレイ攻撃を防止することです。 一般的には推奨されませんが、この機能はテストやデバッグなどでは無効にすることができます。

ハロー コンソール


コンソールでは、この後の設定の大部分(ただしすべてではありません)が実行されます。 これにログインすると、アプリケーションとゲートウェイの2つのオプションが表示されます。まずは、後者の方を見ていきますが、これがLoRaWANデバイスからの最初のホップです。

このページからは、管理するゲートウェイを選ぶことができ、ゲートウェイの新規登録もできます。

 以前は唯一の選択肢が、Semtechのリファレンス実装であるパケット転送プロトコルを使用することでしたが、現在はゲートウェイコネクタの使用も選択できるようになりました。ここでの大きな違いは、後者が認証を追加することです。つまり、ルーティングの問題や場合によってはDoS攻撃を引き起こす不正なゲートウェイや設定ミスを心配する必要がありません。現時点では、The Things Gatewayハードウェアだけがこのプロトコルをサポートしているようにみえますが、当然、サポートは他のゲートウェイに追加されると想定するのが妥当でしょう。

他によくできたゲートウェイ管理機能には、ゲートウェイ自体のテキストファイル設定をすることなく、GPSなしのゲートウェイの場所をリモートで設定する機能があります。 共同編集者への設定アクセスを委任することもできます。

アプリケーション

 コンソールのアプリケーション部分では、これまでのところ、ほとんどの設定を行うことができています。ここでは、アプリケーションの構成前に、アプリケーションの作成と管理を行うことができます。

また、デバイスのステータスやいくつのアップリンクおよびダウンリンクフレームが送信されたか確認することができます。

 

また、デバイスペイロードデータと、ゲートウェイからの膨大な有用なメタデータを利用できます。

 

もう一度、共同編集者を設定することで、アカウントアクセスを共有する必要がなくなります。

 

ペイロードファンクションは、ネットワークにスマート機器を埋め込むことを可能にする、デバイスペイロードの処理と以下についても行う強力な新機能です。

  • デコーディング
  • コンバージョン
  • 検証
  • エンコーディング

これは、アプリケーションへの送信前にペイロードを検証し、マークを付けない場合はペイロードをドロップできるようにし、統合をさらに容易にします。MQTTをサポートするThe Things Networkと既存のサードパーティアプリケーションとの間における仲介アプリケーションの必要としないように簡単にできる優れた機能です。

インテグレーション

 

インテグレーションにより、The Things Networkまたはサードパーティのインフラストラクチャでホストされている追加の機能を使用して、さらに拡張することができます。

HTTPインテグレーションにより、アップリンクデータをエンドポイントに送信し、HTTP経由でダウンリンクデータを受信することができます。 したがって、これは例えば既存のウェブAPI、また、MQTTではなくHTTPとの統合をサポートするサードパーティーのアプリケーションで構成されたカスタムエンドポイントなどになります。

ストレージインテグレーションは、7日間の履歴データを提供し、RESTful API経由でアクセスできます。 データの格納や簡単な回復が必要とされる、多くのフロントエンドWeb開発者やその他の人々に人気になること間違いなしの機能です。

人気のあるIFTTサービスとの統合もあり、今週、Cayenneというドラッグ&ドロップ型IoTプロジェクトビルダーがMobile World Congressで発表されました

プラットフォーム統合, 出典: thethingsnetwork.org

新しいインテグレーションの開発に興味がある方向けにたくさんのドキュメンテーションが用意されています。

CLI

コマンドラインインターフェースアーキテクチャ, 出典: thethingsnetwork.org

なめらかで直観的に動くウェブコンソールよりも、カーソルが点滅する方が快適に感じている人も多いです。コマンドライン経由で自由にオープンなデータネットワークを構築するよりもいいことがあるでしょうか? 無駄にたくさんのクリックをする羽目になる作業を、スクリプト言語の助けを借りて、最高の効率で処理したい場合には最適です。

まとめ

 

The Things Networkが最初期に達成したことは大変注目すべきことであり、そしてそれ以上に去年成し遂げられたことはそれ以上に素晴らしいものでした。そして、非常に魅力的なプロトタイプから、強力で機能豊富なプラットフォームへと進化しました。多くの人の協力により、さらに急速に発展を遂げようとしています。

初期の認証が欠けているという懸念を巧みに解決し、一方でたくさんの新機能が盛り込まれ、それらは有益でおまけというレベルのものではありません。

プラットフォームを通してのコラボレーションや拡張と統合の豊富な機会があり、クラウドソース型データネットワークの基盤になるのではないかと感じられます。

Andrew Back

Open source (hardware and software!) advocate, Treasurer and Director of the Free and Open Source Silicon Foundation, organiser of Wuthering Bytes technology festival and founder of the Open Source Hardware User Group.