こちらの記事について、内容・翻訳・視点・長さなど、皆様のご意見をお送りください。今後の記事製作の参考にしたいと思います。
Thank you! Your feedback has been received.
There was a problem submitting your feedback, please try again later.
こちらの記事の感想をお聞かせください。
モジュール形式のエレクトロニクスプラットフォームであるXinaBoxを用いて長距離無線センサシステムを迅速にプロトタイピングしよう
XinaBoxはそれぞれがモジュール形式のエレクトロニクスシステムであり、組み込みプロセッサ、ホストインターフェース、センサ、電源、通信機能、出力などを搭載している。標準的なフォームファクタとコンパクトな「xBUS」バスコネクタを採用しているため、有線接続、はんだ付け、ブレッドボードなどが不要で相互接続が可能だ。
今回のシリーズ記事では、非常に遠距離な場合など、困難な環境でも作動する無線センサシステムのプロトタイプのため、XinaBoxの活用方法について紹介しよう。
使用例
今回想定する使用例は安全対策用の無線モニタリングであり、BluetoothやWiFiなどの近距離システムでは対応できない環境だ。使用が想定されるのは、数百メートル以上にわたって不規則に広がり、常に障害物もある環境だ。例えば製造現場、あるいはコンテナが積まれた運送現場を想定すればよいだろう。繰り返しになるが、長距離であることが原因となり、信号は構内の障害物によって大幅に弱められる可能性がある。
長距離
LoRaは、独自に開発されたデジタル無線通信向けの変調方式であり、低価格な既製のデバイスで最大15km間の無線通信が可能になる。消費電力は非常に小さく、免許不要の周波数帯域を利用する(日本では920MHz帯である)。もちろん、長距離を実現するにはトレードオフが必要となり、LoRaは非常に狭い帯域を利用するため、小容量のデータしか送信できない。無線センサには適しているものの、ファイル転送やInternet、ビデオストリーミングには不向きであるが、今回の使用例では問題ないだろう。
数キロメートルにわたる通信をわずか数ミリワットの消費電力で実現することを不思議に思う人もいるだろう。これを可能にするのは「チャープスペクトラム拡散変調」の採用と「符号化利得」だ。符号化利得はレシーバ感度を向上させ、ノイズフロアに埋もれた信号の検出を可能にする。簡単に言えば、FSKやASK/OOKといった従来の変調方式に比べて、LoRaでは、より長い時間をかけて無線通信を行い、一定サイズのペイロードを転送する。しかしながら、センサノードにおいては小さいペイロードに関してはあまり問題にならないだろう。
LoRa変調方式に関する詳細な解説と他の方式との比較については、Bill Marshallのシリーズ記事「RF Communication and the Internet of Things (RF通信とモノのインターネット)」のパート3を参照してほしい。
”WAN”は使わない
混同されがちであるのがLoRaとLoRaWANの関係だ。その違いはきわめて明確である。LoRaが単純に無線チャネルやそのルートを提供するのに対し、その上に構築されるLoRaWANは、アドレス付けが可能で、デバイス監視、各種クラス(A~C)のサービス、相互運用性などに関する包括的な基準を備えているため、きわめて拡張性の高いネットワークを実現する。
この図のLoRaWAN MAC層の代わりに、今回はもっとシンプルなシステムが使用されるはずだ。
繰り返しになるが、こうした便利な技術には何かしらのトレードオフがある。LoRaWANは国内の、あるいは国際的なネットワークを展開するうえで非常に優れている一方で、ある程度の複雑さを伴う。例えば、サーバが必要であることや、その他にもさまざまな制約がある。今回の安全対策システムに関しての要件はきわめてシンプルであり、できるだけ複雑性を排除して外部サービスへの依存を減らしたいと考えている。つまり非常にシンプルな1:1通信を行う(P2P)ピアツーピアシステムを行うため、LoRaWANは使用しないことになる。
LoRaWANの詳細に関しては、「A Closer Look at LoRaWAN and The Things Network (LoRaWANとThe Things Networkの精査)」を参照してほしい。
豊富なオプション
XinaBoxのハードウェアオプションは豊富にそろっており、上の写真は使用可能なxChipsのごく一部だ。それぞれを紹介すると、ATmega328Pマイクロコントローラコア (174-3696) 、Raspberry Piインターフェース (174-3694) 、GPS (174-3740) 、VOC/eCO2ガスセンサ (174-3732) 及び可視光線/紫外線センサ (174-3738) 、そして電源となるCR2032コインセルバッテリー (174-3721) となっている。
Arduino対応について
CR02 (174-3699) はATmega328PマイクロコントローラをベースにしたxChipモジュールであり、868MHzに設定されたRFM95W LoRa無線とセットで使用される。同様のモジュールにCR01 (174-3698) とCR03 (174-3700) があり、それぞれ433MHz、915MHzに設定されている。
言うまでもなく正しいモジュールと、各地域の周波数帯域を使用することが重要だ。例えばヨーロッパでは433又は868MHz、USでは915MHz、日本では920MHzとなる。
これらのボードはArduino ProとArduino Pro Miniに対応しており、したがってArduino IDEにも対応している。追加のボードサポートパッケージのインストールも不要だ。しかしながら、CPU/コアボードはUSBインターフェースを搭載していないため、これだけプログラミングが必要であり、ちょっとしたコストが追加される。今回使用予定のIP01 (174-3703) プログラミングインターフェースは、FT232R上に構築され、Linuxでは/dev/ttyUSB_n_(_n_はご自身の環境で確認してほしい)として見えるはずだ。
次回
次の記事では、これから使用するシンプルなLoRaシステムの詳細を確認し、その後、それを使ったデータの送受信に進んでいこう。