特集:IoTがもたらす製造業の革新〜進化する製品、サービス、工場のかたち〜
連載
» 2018年03月30日 10時00分 公開

IoT観測所(43):アマゾンよりも面白い?「Mongoose OS」がIoT開発のハードルを下げる (1/3)

「Mongoose OS」は、IoT機器開発のハードルを下げることを売りにしている開発環境だ。組み込み技術者にもその利点は分かりやすく、Armの「Mbed OS」やアマゾンの「Amazon FreeRTOS」と比べても面白い存在になるかもしれない。

[大原雄介,MONOist]

 IoT(モノのインターネット)機器開発のハードルを下げるための方法は山ほどある。とはいえ、新製品やら新ツールキットやらはいずれも「これを利用することで開発性を○○倍改善し〜」などとうたっており、正直なところ定量的な評価が極めて難しかったりする。

 今回紹介する「Mongoose OS」はアイルランドのダブリンに拠点を置くCesantaが提供する「FreeRTOS」(というか、開発環境)だが、これもそうした「開発のハードルを下げる」ことを売りにしている。ただし、その手法はコンサバティブなもので、組み込み技術者にも比較的利点が理解しやすい。

軽量でネットワーク対応、そして無償

 Mongoose OSは、特に低消費電力のMCUをターゲットとしたエッジデバイス向けとなるOS(とその開発環境)である。特徴は幾つかあるが、1つ目は軽量であることだ。例えば、TI(Texas Instruments)のMCU「CC3220」での動作で言えば、最小構成とコードサイズ(=内蔵フラッシュメモリの占有サイズ)、Free RAMのサイズは以下の通りと説明されている。

  • 最小構成:113KB/230KB(OSとTCP/UDP、ファイルシステム、SNMPなどを含む)
  • 最小構成+mJS:160KB/229KB(最小構成に「mJS Java Script Engine」を追加)
  • 最小構成+AWS:133KB/230KB(最小構成に「AWS IoT」へのコネクティビティーを追加)
  • 最小構成+GCP:159KB/230KB(最小構成に「Google IoT Core」へのコネクティビティーを追加)
  • js-demo:304KB/225KB(デフォルト構成、ほぼフル機能を実装)

 CC3220自身は1MB Flash/256KB SRAMの構成だから、いかにMongoose OSのフットプリントが小さいか分かる。

 2つ目はネットワーク対応だ。TCP/UDP IPの搭載は当然のこととして、AWS IoT、Google IoT Core、「Microsoft Azure」、「Samsung Artik」、「Adafruit IO」と汎用のGeneric MQTT/Restful APIへの対応をビルトインで提供する。また、SMTPクライアントの他、Webサーバもある。というか、どうも資料を見ている限りでは最初にこのMongoose Webサーバがあり、ここからMongoose OSが生まれた形に見える(このあたりはCesantaがはっきりした情報をリリースしていないので推測だが)。そして、ファームウェアのOTA(On The Air)アップデートにも対応している。

 3つ目は無償であることだ。Mongoose OSには無償版と商用ライセンス版の2つがある。無償版は文字通り無償である。ただしライセンスはGPL v2に準じており、従ってこれを利用する場合は当然GPL v2に順じてソースの公開が必要になる。

 一方、商用ライセンス版はGPL v2を取り除いた形で提供され、当然開発したコードの公開の必要もない他、Mongoose OSのソースへの完全なアクセス(無償版はGPL v2の部分のみ)、OTAアップデートや暗号化サポート、ジョブ(スクリプト)を自動実行するためのデーモンプロセスであるCronなどの完全サポート(無償版はいずれも限定サポート)、技術サポートなども提供される。このあたりの構図は、アマゾン(Amazon)による買収前の「FreeRTOS」(関連記事:組み込み業界に大インパクト「Amazon FreeRTOS」の衝撃)と同じ形態である。

       1|2|3 次のページへ

Copyright © ITmedia, Inc. All Rights Reserved.