平素より菱電商事をご愛顧いただきありがとうございます。
菱電商事新事業推進室で、エンジニアをやらせて頂いております川上と申します。
弊社ホームページのリニューアルに伴い、弊社にて取り扱いのあるソリューションの解説を、ブログという形でお伝えしていきます。
今回は新事業推進室でも重要なプロジェクトとしてと活動しております、LoRaWANについてのご紹介をいたします。
LoRaWANが世に出始めてから数年経ち、特徴や基礎技術などについては情報が世に出ていると思いますので、
ここは趣向を変えて「LoRaWANをやるには実際こんなことするんですよ」をテーマに少し緩めに紹介してまいります。
「LoRaWANを使う」という目的は存在しませんので、「センサーデータをアプリケーションまで持ってくること」を目的とします。
すなわち、一般的に言うところの「IoTしよ」ってことですね。
その流れをLoRaWANを使用して行うには、ざっくりと図のような流れになります。
この流れに沿って、実際に弊社がどのような作業をしているかを解説してまいります。
センサーで取得したデータをLoRaWAN通信を通じて伝送するためのLoRaWANチップとセンサーを搭載する試作品を作成します。
LoRaWANの素晴らしいところは、通信処理をこのチップにほぼ全てお任せできるところです。
LoRaWANでは、なんだか頭のいい人たちが「こうすると楽になるで」と一生懸命考えてくれた「LoRaWAN® Specification」というものが存在し、これに則り通信をすれば、フロー制御から通信強度の確認、日本特有のLBTへの対応、リトライ処理、すべてLoRaWANが全てやってくれます。素晴らしいの一言です。
実際のデバイス開発段階でも、通信を意識したことはありません。UARTでLoRaWANチップに対してデータ送信コマンドを送ってあげるだけでLoRaWAN通信をしてくれます。
これにより開発コストを大きく下げることができるのが、LoRaWAN最大のメリットになるでしょう。
試作品の段階だと、弊社パートナーのルネサスエレクトロニクス株式会社様が展開する、
GR-KURUMIを使わせていただくことも多くあります。
お手軽に開発出来て、かつかわいい(重要)ので重宝しております。
LoRaWANのデータを受信し、インターネット上にあるLoRaWAN Serverまで伝達するためのゲートウェイ機を設置します。
電波の特性上高く視認性の高いところ(遮蔽物がないところ)に設置します。
ビルの屋上はもとより、送電鉄塔、駅舎の屋上、電柱の上などなど、色々なところに設置実績がございます。
おかげさまで、とてもとても高いところに登らせて頂くことが多くなりました。
弊社では主に、フランスのKerlink社製のLoRaWAN GateWayを利用しております。
Linuxベースで非常に使い勝手がよく高性能のゲートウェイです。
LoRaWAN Server上でやることは大きく分けて2つ、デバイスの登録と、データの加工・出力です。
LoRaデバイスには、ユニークなIDが存在するので(EthernetでいうところのMACアドレス相当)、それをLoRaWAN Serverに登録して、セキュリティやデータフローの選択に利用します。
LoRaWANで流れてくるデータは、Payloadと呼ばれ、BASE64エンコードされた文字列としてLoRaWAN Serverに渡されます。
弊社が主に利用しているTheThingsNetwork(TheThingsIndustries)では、このBase64エンコードデータをさらにJavascriptを用いて、加工して出力することが可能です。
出力はMQTTもしくはHTTPでのPOSTを使用します。どちらを使うかはケースバイケースですが、弊社がよく利用するデータベースのElasticsearchはHTTPでのPOSTを受け付けてくれるので、HTTPを使うケースがほとんどです。
出力を直接データベースに保存できるので、ミドルウェアを一つ減らせるので大変重要な機能です。
※ Payloadをフォーマットする機能を有していないLoRaWAN Serverもあります。
※ この場合は、アプリケーション側でPayloadフォーマットを行うことになります。
ここから先はもう、完全にソフトウェアの領域ですね。
データベースに保存し、それを加工、可視化するといった作業になります。
ここら辺はIoT共通事項かなと思いますが、弊社ではデータ保存には主にElasticsearchを利用しており、可視化についてはKibanaの利用を主としております。当然、場合によっては専用のアプリケーションの作成も行います。
ちなみに余談ですが、僕自身もソフトウェアエンジニアとして、アプリケーションの作成に携わることも多いです。
先日も、とある金曜日に上司からPoCデータの可視化アプリケーションの作成を頼まれ、「締め切り月曜日な」って言われたりして、そんなアットホームな職場で楽しく働いています☆―(ノ゚Д゚)八(゚Д゚ )ノイエ―イ
このような流れで、実際にLoRaWANを使用したIoTの実現をしております。
デバイスの開発、LoWaWANの制御、アプリケーションの作成と、LoRaWANだけでなく、IoTを実現するには様々な技術が必要とされます。
菱電商事では、デバイス事業とICT事業で培った技術を活かし、デバイスからアプリケーションまで、どのようなフェーズの対応はもちろん、全て一貫しての対応も可能です。
「LoRa(LoRaWAN)」「NB-IoT」「SIGFOX」と、世の中のLPWAというキーワードを挙げていくと、どれが優れているといった議論に偏りがちです。
我々は、全てのLPWA通信のメリット・デメリットを正しく見極め、用途に分けて使うべきであるとの考えを持っております。
それぞれのメーカーの技術者さんが心血注いだ製品です、どれもこれもいいものばかりなんです。
だからこそ、それを活用する最大限の努力をすることで、その誠意に答えたいと、僕は思っております。
皆様もお困りのIoT案件がございましたら、ぜひ弊社までお声がけください。
また、IoTに将来性を見出しているエンジニアの方々・学生さん、我々と一緒に最先端の技術でお客様の困りごとを解決してくれる仲間になってください。ぜひお待ちしております。