Amazon FreeRTOSベースの組込みアプリ

Amazon FreeRTOS上で、スマートLEDライトの組込みアプリを開発しました。用いた基板はMicrochip社製のCuriosity PIC32MZ EF Amazon FreeRTOS Bundleです。

Amazon Free RTOS上でタスクを設計・実装

Amazon FreeRTOS(略称:AFR)は、IoTに用いる少資源デバイス向けのリアルタイムOSです。オープンソースであるFreeRTOSカーネルをベースに、AWS社がIoT向けの機能を拡張して提供しています。

 

AFRは2017年12月にAWS社よりリリースされたばかりで実装事例がまだ少ないですが、当社では本OSを用いてIoTデバイスの組込みアプリを、商用レベルの品質で開発しました。

 

本組込みアプリでできる主なことは次のとおりです。

シャドウの送受信。LEDライトのON/OFF、色・輝度変更。

・デバイス登録。Just In Time登録方式

・OTA


OTAを実装

Amazon FreeRTOSが提供する便利な機能の一つにOTAがあります。OTAとは”Over-the-Air Updates”の略で、無線でファームウェアを更新する機能です。

 

OTAは、クラウドにおけるAWS IoTのOTAジョブ管理機能と、AFR側のエージェントがセットで機能します。AWS IoTに新しいファームウェアを登録し、それを対象デバイスに配信します。デバイス側ではダウンロードした後に署名を検証し、問題ないなら新しいファームウェアに置き換えます。

 

上記の運用が可能になるように、OTAの機構を組込みアプリに実装しました。


アジャイル開発手法の活用

IoTシステムの特性にはアジャイル開発がマッチします。運用して得たデータを基に機能を変更しリリースという柔軟なPDCAを回すワークフローがむいているためです。また、AFRもクラウドも進化が早いため、環境変化に柔軟に対応できるアジャイルが最適であると考えます。

 

一方、組込みアプリ開発におけるアジャイル開発事例は多くありません。専門書籍数もかなり限られます。ハードウェアはウォーターフォール型で開発されますから、それに合わせて組込み開発もウォーターフォール型が多いためです。そんな中、弊社ではスクラムテスト駆動開発を組み合わせ、組込みアプリ開発をアジャイルで行い、ノウハウがあります。


商用レベルの品質

アジャイル開発のなかで、高品質を実現します。コーディング規約の制定と相互チェックでソースの保守性を担保します。単体試験重視で、C1カバレッジ100%を達成します。静的解析ツールを適用し、愚直に検出事項を解決し、潜在バグを摘み取ります。シフトレフトでスプリントを回します。


【商標について】

※AWS、Amazon FreeRTOSは、米国その他の諸国におけるAmazon.com, Inc.またはその関連会社の商標です。

※Curiosity PIC32MZ EF Amazon FreeRTOS Bundleは米国およびその他の国における Microchip Technology Incorporated の登録商標です。