Microchip TechnologyのIoT開発ボードを使用してセルラーIoTプロジェクトを始動させる理由と方法
DigiKeyの北米担当編集者の提供
2022-09-08
低消費電力広域ネットワーク(LPWAN)技術であるセルラーIoT(モノのインターネット)は、スマートシティから農業やリモートインフラ監視に及ぶアプリケーションにおいて、安全で堅牢なIoTへの明確で実証された方法を提供します。しかし、セルラーIoTは複雑な技術であり、経験の浅い設計者がプロジェクトに着手するのは困難です。
それでも、使い慣れた汎用マイクロコントローラ(MCU)と統合設計環境(IDE)を利用したセルラー開発ボードをベースにプロジェクトを進めることで、セルラーIoTの設計課題を緩和できます。オープンソースソフトウェアのライブラリとシンプルなセンサ接続に支えられたこれらの開発ボードにより、ハードウェアのレイアウトからクラウドへのデータ送信まで、セルラーIoTプロジェクトを容易に開始できるようになります。
この記事では、セルラーIoTの利点を簡単に説明してから、この技術がもたらす設計の複雑さについて解説します。その後、セルラーIoT開発ボードを使用することで、このような複雑さの多くをどのように解消できるかを説明します。そして最後に、Microchip Technologyの開発ボードをセットアップして、簡単な色と温度のデータをクラウドに送信する方法を解説します。
セルラーIoTの概要
セルラーIoTでは、低電力のセルラー技術を使用して、IoTのエンドデバイス(センサやアクチュエータなど)をクラウドに接続します。これは、1キロメートル以上の範囲、高密度なエンドデバイスのサポート、低スループットを特徴とするLPWAN技術です。
LoRaWAN(『エンドツーエンドのスターターキットを使用したLoRaWAN IoTプロジェクトの加速化』を参照)やSigfoxなど、他のLPWAN技術もありますが、セルラーIoTは以下のような重要な利点をもたらします。
- 将来の保証:セルラーIoTの仕様は、標準規格として常に見直しや開発が行われています。
- スケーラビリティ:セルラーIoTは、確立されたセルラーアーキテクチャにより、IoTの迅速な展開をサポートします。
- QoS(Quality of Service):セルラーIoTは、大量の商用アプリケーションで実証されて成熟したインフラをベースにしているため、高い信頼性を提供します。
- IPの相互運用性:高価で複雑なゲートウェイを使用することなく、エンドデバイスをクラウドに直接接続できます。
セルラーIoTの場合は、データ転送に関連して継続的に費用が発生することを考慮する必要があります。これは、無認可の周波数帯を利用するLoRaWANのような競合技術とは異なります。しかし、セルラーIoTのデータコストは、競争圧力とエッジコンピューティングの利用増加により、ネットワークに送信される目立たないデータ量が減少しているため、低下する傾向にあります。
セルラーIoTは、第3世代パートナーシッププロジェクト(3GPP)が規制および更新する電気通信規格によって規定されています。3GPP規格のリリース13では、M2M(マシンツーマシン)モデムのカテゴリが拡張され、IoT接続に適した低コスト、低電力、低スループットのモデムが可能になりました。この規格の後続リリースにより、これらのIoTモデムはさらに強化されました。
セルラーIoTモデムを搭載したワイヤレスセンサは、セルラーが得意とするセキュリティやQoSを提供するだけでなく、高価で複雑なゲートウェイを必要とせずに数キロメートルにわたってクラウドにデータを送信できます。
LTE-MとNB-IoTの違い
セルラーIoTには、LTEカテゴリM1(LTE-M)とナローバンドIoT(NB-IoT)という2つの形態があります。両タイプとも、IoTや産業用IoT(IIoT)に代表される、リソースに制約があり電池駆動の場合が多いデバイスでの使用を想定して設計されています。IoTモデムは確立されたセルラーインフラに接続するため、それぞれに加入者識別モジュール(SIM)が必要となります。
LTE-Mは、余分な機能を取り除いたLTE(「4G」)技術をベースとしています。これにより、安全な通信、ユビキタスなカバレッジ、高いシステム容量に対応します。比較的広い帯域幅(1.4MHz)で全二重システムとして動作する機能により、NB-IoTと比較してレイテンシとスループットが向上します。生データのスループットは、下り300Kビット/秒、上り375Kビット/秒です。この技術は、安全なエンドツーエンドのIP接続に適しており、モビリティはLTEセルのハンドオーバー技術によってサポートされています。LTE-Mは、アセットトラッキングやヘルスケアなどのモバイルアプリケーションに適しています。
NB-IoTは、主にエネルギー効率と、建物やその他のRF非対応エリアへの浸透性を高めるために設計されています。LTE-Mとは異なり、LTEの物理層(PHY)がベースではありません。NB-IoTでは200kHzの帯域幅を使用するため、モデムの複雑さはLTE-Mデバイスよりも低減されます。生データのスループットは60/30Kビット/秒と控えめですが、範囲はLTE-Mよりも良好です。NB-IoTは、スマートメータのような壁で遮られる可能性のある静的アプリケーションに適しています。
商用セルラーIoTモデム
現在、さまざまな商用LTE-M/NB-IoTモデムが入手可能です。1例として、SequansのMonarch 2 GM02Sモジュールが挙げられます。このデバイスは、世界中にある20のLTEバンドに適した単一の最小在庫管理単位(SKU)RFフロントエンドをサポートします。また、16.3 × 17 × 1.85mmの小型LGAモジュールで提供されます。このモジュールは、3GPPリリース14/15の要件を満たしています。このモデムは2.2~5.5Vの単一電源で給電され、1mWを基準とする最大送信電力+23デシベル (dBm)に対応可能です。
GM02Sは、内蔵SIMだけでなく、外部SIMやeSIMにも対応します。また、50Ωのアンテナインターフェースを搭載しています。このデバイスには、LTE-M/NB-IoTソフトウェアスタックおよび、商用クラウドプラットフォームへの接続を容易にするSequanのCloud Connectorソフトウェアが付属しています(図1)。
図1:SequansのGM02S LTE-M/NB-IoTモデムは、小型パッケージで、成熟したソフトウェアスタックを搭載しています。(画像提供:Sequans)
セルラーIoTの設計課題
GM02Sモデムは、他の商用モデムと同様に、ソフトウェアスタックとクラウドコネクティビティを備えて高度に統合されたデバイスですが、IoTアプリケーションが数キロメートル単位でデータをクラウドにシームレスに送信するには、まだかなりの開発作業が必要となります。
モデムは、エンドデバイスと基地局との間の通信を管理するためだけに設計されています。モデムを制御しながらセンサアプリケーションソフトウェアを実行するには、監視・アプリケーション用プロセッサが別途必要になります。さらに、アンテナ回路と電源および、セルネットワークとのシームレスな接続を確保するためのSIMをエンドデバイスに装備することを考慮する必要もあります(『IoT設計においてスペース、複雑さ、コストを節約するマルチバンド組み込みアンテナの使用方法』を参照)。
ハードウェアの設計以外にも、セルラーモジュールをネットワークに接続してデータを送受信するためには、ある程度のコーディングスキルが必要になります。設計で外部のアプリケーションMCUを使用する場合は通常、UARTシリアルリンクを使用してセルラーモジュールと通信します(ただし、他のI/Oインターフェースも使用されます)。AT(「アテンション」)コマンドは、セルラーモデムを制御するための標準的な手段です。このコマンドは一連の短いテキスト文字列で構成されており、これらを組み合わせることで、ダイヤル、切断、接続パラメータの変更などの操作を行うことができます。
ATコマンドは2種類あります。基本コマンドは、「+」で始まらないコマンドです。たとえば、「D」(ダイヤル)、「A」(アンサー)、「H」(フック制御)、「O」(オンラインデータ状態への復帰)などがあります。拡張コマンドは、「+」で始まるコマンドです。たとえば、「+CMGS」(SMSメッセージの送信)、「+CMGL」(SMSメッセージの一覧表示)、「+CMGR」(SMSメッセージの読み取り)などがあります(『セルラーモジュールを使用してメーカープロジェクトをIoTに接続』を参照)。
ハードウェアやソフトウェアに関するこれらの考慮事項により、セルラーIoTが複雑になり、経験の浅い設計者では進展が遅くなる可能性があります。幸いなことに、アプリケーションMCUのメーカーとセルラーIoTモデムのメーカーが協力して、この重要なLPWAN技術をより簡単に活用できるようにするためのハードウェアおよびソフトウェア設計ツールを提供するようになりました。
IoT開発ボードによる複雑さの解消
専用設計の開発ボードをベースにして試作を作成することで、セルラーIoT設計の課題に対処することがかなり容易になります。開発ボードのハードウェアには通常、アンテナ、電源、ある程度の空きデータ量を持つSIM、アプリケーションプロセッサおよび、優れたRF性能を確保するためのチューニングネットワークが含まれます。これにより、設計者はプロジェクトのハードウェア面で堅調なスタートを切り、アプリケーション開発に集中することができます。開発ボードを適切に選択すれば、使い慣れたIDEでアプリケーション開発を行うことも可能です。
人気のあるセルラーIoT開発ボードの1例として、Microchip TechnologyのEV70N78A AVR-IoT Cellular Mini開発ボードが挙げられます。これは、人気の高いMicrochip TechnologyのAVR128DB48 MCUと、上述したSequansのMonarch 2 GM02Sセルラーモジュールをベースとしたハードウェアプラットフォームです。MCUは、8ビット、24MHzのデバイスです。これは、128Kバイトのフラッシュ、16KバイトのSRAM、512バイトのEEPROMを備えており、48ピンのパッケージで提供されます。
この開発ボードには、ATECC608Bセキュアエレメントも搭載されています。LTE-MまたはNB-IoTネットワークに接続すると、ATECC608Bがクラウドとのハードウェア認証に使用され、すべてのボードを一意に識別することが可能になります。
また、Microchip Technologyの開発ボードには、150Mバイトのデータ量を備えてアクティベーション可能なTruphone SIMカードが含まれており、設計者の負担をさらに軽くしてくれます。
この開発ボードは、5つのユーザーLED、2つの機械式ボタン、32.768kHzの水晶振動子、カラーセンサと温度センサ、Adafruit Feather互換エッジコネクタ、Qwiic I2Cコネクタ、オンボードデバッガ、USBポート、バッテリおよび外部入力電源オプション、充電状態LED付きMCP73830 Liイオン/Liポリマーバッテリチャージャを備えています(図2)。
図2:AVR-IoT Cellular Mini開発ボードはAVR128DB48 MCUをベースとしており、SIMカードと150Mバイトのデータを完備しています。(画像提供:Microchip Technology)
セルラーIoTプロジェクトの開始
セルラーIoTの目的は、センサやアクチュエータなどのIoTエンドデバイスをワイヤレスで接続し、それらのデータを数キロメートル単位でクラウドに送信できるようにすることです。Microchip Technologyの開発ボードでは、オンボードの温度センサやカラーセンサからクラウドベースの(AWSにホストされた)サンドボックスにデータを素早く接続・送信できるデモアプリケーションを形成するファームウェアイメージが、MCUにあらかじめロードされています。
ハードウェアを開発できる状態にするには、SIMカードをアクティブ化して挿入し、外部アンテナを基板に接続し、基板のUSB-CデバッグポートをPCに接続し、基板底面のQRコードをスキャンするかマスストレージデバイスを開き、CLICK-ME.HTMに従ってキットのウェブページに移動するだけです。
GitHubから入手可能なMicrochipのIoTプロビジョニングツールは、選択したクラウドプロバイダにAVR-IoT Cellular Miniを設定し、ネットワークプロバイダを設定し、セルラー周波数帯を選択するための使いやすいソリューションを提供します。(サンドボックスデモファームウェアを動作させるには、開発ボードがAWS Microchipサンドボックス用にプロビジョニングされている必要があります)。
開発者がデモアプリケーションである程度自信を得たら、開発ボードのArduinoIDEフルサポートを使用して、独自のアプリケーションを構築し始めることができます。このサポートは、GitHubでホストされているAVR IoTセルラーArduinoライブラリをベースにしています。このライブラリは、オープンソースのDxCoreの上に構築されています(図3)。
図3:AVR IoTセルラーIoTライブラリ(オレンジ色部分)には、開発ボードをプログラミングして制御するためのソフトウェアモジュールが含まれています(緑色部分では簡略化して表示)。(画像提供:Microchip Technology)
オンボードデバッガ(PKOB nano)は、Arduino IDEのプログラミングをフルサポートします。外部ツールは一切不要で、シリアルポートインターフェース(シリアル-USBブリッジ)と、2つのロジックアナライザチャンネル(デバッグGPIO)へのアクセスも可能です。AVR IoT Cellular Miniボードのオンボードデバッガは、ホストコンピュータのUSBサブシステム上でヒューマンインターフェースデバイス (HID) として表示されます。より大掛かりなプロジェクトでは、開発ボードのQwiicおよびFeather互換エッジコネクタを使用することで、SparkfunとAdafruitが提供するアドオンボードの幅広い選択肢から簡単に拡張することができます(図4)。
図4:このAVR IoT開発ボードのブロック図は、ホストPCとの接続がデバッガのUSBリンク経由で行われ、アプリケーションMCUのプログラミングがデバッガUARTリンク経由で行われることを示しています。アプリケーションMCUとセルラーモデムの接続もUART経由であることに注意してください。(画像提供:Microchip Technology)
アプリケーションプログラミングを始めるには、Arduino IDEとDxCoreをダウンロードおよびインストールする必要があります。次に、AVR IoTセルラーArduinoライブラリを実行できるように、Arduino IDEを設定する必要があります(リスト1)。
リスト1:AVR IoTセルラーArduinoライブラリを実行できるようにするためのArduino IDEの設定。(コード提供:Microchip Technology)
IDEの設定が完了すると、ライブラリのインストールが可能になります。この操作を行うと、開発ボード用のいくつかのライブラリ例にアクセスできるようになります。Arduinoプラグインをインストールすると、Visual Studio CodeのIDEに精通する設計者は、それをAVR IoT開発に利用することができます。どちらのIDEで開発したArduinoアプリケーションコードも、オンボードデバッガを介して開発ボードのMCUに移植されます。
電力測定の実施
セルラーIoTは、電池駆動のIoTエンドデバイスの寿命を延ばすために、低電力で動作するように設計されています。そのため、消費電力を最小限に抑えるようにアプリケーションコードを最適化することが重要です。
Microchip Technologyの開発ボードでは、すべてのボード部品への電源が5本のカットストラップを通じて接続されています。これらは、電流測定用でもあります。目的の回路の電力を測定するには、ストラップを切断し、穴の部分に電流計を接続します(図5)。
図5:AVR IoT開発ボードのカットストラップは、主要回路の消費電力を測定するために使用できます。(画像提供:Microchip Technology)
また、この開発ボードは、同社のMIC94163スイッチとMCUのADCピンに接続された分圧器を使用したシステム電圧測定回路も備えているため、オンデマンド測定を実現し、分圧器による電力リークを防止することが可能です。システム電圧を測定するには、次の手順に従います。
- ADCの電圧リファレンスを設定します。
- MCUのGPIOシステム電圧測定イネーブルピン(PB3)をハイにして、分圧器を有効にします。
- MCUのADCOシステム電圧測定ピン(PE0)をADCの入力として設定します。
- シングルエンドのA/D変換(ADC)を実行します。
- 次の式で電圧を計算します。V = ADC結果 x VREF x 4/ADC分解能。
最後に、以下の手順で電源電圧も簡単に測定できます。
- ADCの電圧リファレンスを設定します。
- ADCへの正入力として、VDDまたはVDDIO2を選択します。(VDDとVDDIO2は、MCUのADCへの内部入力チャンネルとして利用できます。)
- シングルエンドADC変換を実行します。
- 次の式で電圧を計算します。V = ADC結果 x VREF x 10/ADC分解能。
まとめ
セルラーIoTは、商用的な可能性が高まっている人気のLPWANです。しかし、セルラーIoTを搭載したエンドデバイスの設計には、ハードウェアとソフトウェアの両方の専門知識が必要です。Microchip TechnologyのEV70N78A AVR-IoT Cellular Mini開発ボードなどの新しいセルラーIoT開発ボードは、迅速な試作方法を提供して設計者を支援します。
この開発ボードには、ハイエンドのLTE-M/NB-IoTモデムと、人気のあるMicrochip TechnologyのMCUが採用されています。ArduinoまたはVisual Studio CodeのIDEを使用して、アプリケーションコード開発を簡素化できます。
免責条項:このウェブサイト上で、さまざまな著者および/またはフォーラム参加者によって表明された意見、信念や視点は、DigiKeyの意見、信念および視点またはDigiKeyの公式な方針を必ずしも反映するものではありません。


