アマゾンよりも面白い?「Mongoose OS」がIoT開発のハードルを下げる:IoT観測所(43)(1/3 ページ)
「Mongoose OS」は、IoT機器開発のハードルを下げることを売りにしている開発環境だ。組み込み技術者にもその利点は分かりやすく、Armの「Mbed OS」やアマゾンの「Amazon FreeRTOS」と比べても面白い存在になるかもしれない。
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」の衝撃)と同じ形態である。
Copyright © ITmedia, Inc. All Rights Reserved.