FreeRTOSとは

今回はFreeRTOSについて解説していきます。

FreeRTOSとは

FreeRTOSとは、マイクロコンピュータ(以下マイコン)で用いられるRTOS((Real Time Operating System)と呼ばれる、※リアルタイムOSの一種で、「Free」の名が付く通り、オープンソース化されたRTOSのことを指します。以前はReal Time Engineersがサポートを行っていましたが、現在はAmazonが買収したことによって2017年からAmazonが権利を持っており、「Amazon FreeRTOS」と言えるものとなっています。※MITライセンスを使って無償公開されているのでそのまま利用することが可能です。なお、「Amazon FreeRTOS」となってからは、「低電力小型エッジデバイスのプログラミング、デプロイ、保護、接続、管理を簡単にするマイコン向けのオープンソースかつリアルタイムのオペレーティングシステム」と銘打たれたモノとなっており、AWSの「AWS IoT Core」、「AWS IoT Greengrass」と接続することで、計算能力とメモリ容量が制限されていた従来の組み込みシステムをIoTに対応したものとします。
また、安全なクラウド接続を可能とするために、セキュア、証明書認証、キー管理、およびコード署名機能を含む、セキュリティのためのライブラリが標準で備わっており、TLS v1.2(Transport Layer Security)を使用したクラウドへの安全な接続を管理してくれます。

※リアルタイムOSは厳密な時間管理ができ、複雑なことはできないが、処理が途切れることなく実行できるOSのこと。
※マサチューセッツ工科大学を期限とするソフトウェアライセンスのこと。公開されているソフトウェアは誰でも無償でかつ無期限で扱って良いが、使用したソフトウェアの著作権表示と許諾表示を記載しなければいけない。また作者と著作権者は、ソフトウェアに対して一切の責任を負わない。

FreeRTOSのローカル接続とクラウド接続

FreeRTOSは、Wi-Fi 管理などのローカル接続ライブラリを使用して、Wi-Fi およびイーサネット経由でローカルネットワーク。そしてBluetooth Low Energy接続を使用することで、モバイルデバイスを経由してAWS IoT Coreにローカル接続することができます。FreeRTOSが組み込まれたデバイスがローカルネットワークに接続されることで、AWS IoT Greengrass Discovery APIを通して、同じローカルネットワーク上のマイコンに接続できるようになります。具体的には、IDカードを通すとドアロックが解除されるオフィスビルのセキュリティシステムと相互に通信接続することを可能にします。また、AWS IoT Greengrassを実行するマイコンとのローカル接続は、FreeRTOSデバイスがクラウド接続なしに通信、データの収集、アクションの実行を可能にしているので、ログを確認することもできます。

対してクラウド接続では、MQTTベースのメッセージング機能、HTTPを使用したFreeRTOSデバイスをAWS IoT Coreと接続することで、マイコンベースのデバイスで簡単にデータを収集して、アクションを実行することができるようになっています。これはIoTアプリケーションやその他のAWSクラウドサービスで使用することができます。具体的には、MQTTはメモリ使用量の少ない軽量プロトコルとなっているので、制限のあるマイコンベースのデバイスと効率的な通信が可能なよう作られています。ベンダーに依存しない標準的なライブラリインターフェイスを使用すればデバイスのオンボードを容易にし、スマート電力メーターのようなデバイスが、消費に関する情報を送り返すことで、そのデータをAWS IoT Analyticsのような他のAWSのサービスで分析することが可能になります。

FreeRTOSの利用するには

FreeRTOSを利用するには、AWS Partner Device Catalog、AWS IoT Device Tester、FreeRTOS Windows Simulator、またはGitHub、FreeRTOS.orgから入手したマイクロコントローラデバイスソフトウェアのいずれかを使用することで利用が可能です。後者はマイコンの開発者向けの利用方法になるので、扱いやすいものを選ぶといいでしょう。

FreeRTOSのコンポーネントについて

FreeRTOSのコンポーネントは以下の通りとなります。それぞれ使用するマイコンを想定して利用すると開発が進めやすくなります。

  • FreeRTOS カーネル
  • MQTT: MQTT クライアントライブラリー
  • HTTPライブラリ
  • Wi-Fi マネジメント
  • Bluetooth 低エネルギーマネジメントライブラリ
  • Device Defender ライブラリ
  • OTA エージェント
  • Greengrass ディスカバリ
  • TLS(Transport Layer Security)
  • PKCS#11

    おわりに

    FreeRTOSはAmazonが権利を有するようになってからは、商用、コンシューマー向けの組み込みシステムの開発がより行いやすくなったとされます。というのも製品化を行うと公開義務が発生していたのでそれがボトルネックとなっていたといわれているからです。現在では、AWSとの連携によって、ネットワークとの連接ができ、IoTを活用することのできるので、組み込みシステムを開発する際には活用することを一考するべきでしょう。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です