IoT機器とネットワーク
IoT機器がクラウドを通信する場合の、概略化したネットワークの階層モデルを示します。
- アプリケーション
- MQTT(クラウドと通信するためのプロトコル)
- TLS/SSL
- TCP/IP
- PPP
- UART通信
- 通信モジュール
昨今は、これらのソフトウェアを新たに作ることはなく、マイコンメーカーやクラウドサービス側でデモプロジェクトを公開していたり、信頼性のあるフリーのソフトを使用してIoT機器を開発します。代表的なフリーソフトは、
- RTOS:FreeRTOS
- MQTT:lwIPやAWSデモソフト
- TLS/SSL:Embed TLS
- TCP/IP + PPP:lwIP
になります。注目すべきキーワードは「FreeRTOS」、「Embed TLS」と「lwIP」です。Embed TLSは組込みシステム向けの軽量な暗号処理ライブラリーで、一時期はARM®社が開発に関係していたようです。lwIPはSwedish Institute of Computer ScienceのAdam Dunkelsさんが開発したもので、lwIP(lightweight IP)の名前の通り、組込み用に少ないメモリで動作可能なプロトコルスタックです。
IoT機器向けのデモ
上記のようにIoT機器がクラウドを通信をするためのソフトは無償で入手可能です。しかし、これらをダウンロードし、それぞれのソフトを組み合わせて動作させることもそれなりに(といいますか、かなり)大変です。