弊社ではこれまで宮崎県高鍋町でIoTの実証実験を重ねてきました。IoT実証実験を行うにあたってエンドデバイスは不可欠であり、多くの場合は自ら作成する必要があります。(エンドデバイスを含めたネットワークの構成に関してはこちらの記事を参照)
そこで、今回はエンドデバイスの中身に関して、少しお話しをさせて頂きます。
Raspberry Piという選択肢
弊社で実証実験を始めるにあたって、エンドデバイスの中心となるプロセッサー(や周辺回路含め)として選択したのはRaspberry Piでした。
Raspberry Piを選択したのは以下のような理由からです。
- マイコン以外の周辺回路もすでに実装されているため、実証実験用に作成する回路が最低限で済む
- USBやWiFiなどのインターフェースが既に実装されている
- Linuxが動作するため、アプリケーションの開発に注力できる
- 情報が豊富
Raspberry Piの恩恵を受けエンドデバイスの開発がスピーディーに進み、弊社のIoT実証実験の成果を2019年春に高鍋町IoTカンファレンスで発表することができました。
Raspberry Piを製品化する際の問題
しかしながら、実証実験の終わりが見え、エンドデバイスを実際のお客様に使用して頂くことを想定した場合、問題点がいくつか見えてきました。
電源の問題
Raspberry PiのOSにはLinuxを採用することがほとんどだと思います(ベアメタル状態でも動作は可能)が、Linuxは正常なシャットダウン手順を踏まないとOSが破損してしまう可能性があります。しかし、エンドデバイスが実際に置かれる現場においてシャットダウン処理を実施するのは容易ではありません。
SDカードの問題
一般的にSDカードには書き込み回数の制限があります。IoTのエンドデバイスは一度現場に設置されるとその後何年間も設置したままの状態になることが予想され、長期間安定して動作することが求められます。
消費電力の問題
Raspberry Piの消費電力は大きく、小容量の電池やソーラーパネルで駆動させるには向いていないようです。弊社ではIoTの通信にLoRaWANという低消費電力(LPWA)が特徴の通信も使用していますが、通信部分がせっかく低消費電力であっても、それを動かす土台部分が電力を消費してしまっては意味がありません。
弊社の選択
Raspberry Piの問題点をクリアするため、弊社ではエンドデバイスを汎用マイコンで作成することにしました。
汎用マイコンは各種メーカーから色々な種類が出ていますが、弊社で以下の点に注目して選定をしました。
- フリーのRTOS(Real Time OS)が利用可能であること
- 開発ツールが無料であること
- ライブラリが豊富であること
- ネット販売等で入手しやすいこと
- 情報が豊富であること
エンドデバイスを汎用マイコン化することで、Raspberry Piであった問題点がどうなったかを見てみると
電源の問題
突然の電源断でOSが破損する可能性がほぼなくなりました
SDカードの問題
マイコン内のメモリを活用するのでSDカードは不使用
消費電力の問題
マイコン自体が低消費電力であることとスリープモードを使用することで、消費電力を各段に下げることができる
このようにエンドデバイスに汎用マイコンを採用することで、Raspberry Piであった問題点をクリアすることができました。特に消費電⼒の問題に関しては飛躍的に改善することが可能となりました。
また、汎用マイコンでは不正に侵入して悪意のあるプログラムを動かすといったことはできないため、セキュリティの面においてもRaspberry Pi(Linux)に比べてメリットがあると思います。
最後に
これまで、Raspberry Piを製品化する際の問題点を上げ、Raspberry Piから汎用マイコンへ移行したことに触れました。しかし、Raspberry Piが必ずしも悪いわけでもなく、汎用マイコンが必ずしも良い訳ではありません。
弊社でも実証実験で作成したRaspberry Pi用のアプリケーションに関しては、アルゴリズムをそのまま汎用マイコンで再利用することで、実証実験で得た資産を最大限有効活用しております。 このように、Raspberry Piを使用して実証実験をスピーディーに進め、汎用マイコンで信頼性のある製品に仕上げるといった、適材適所で使用するのが最善の選択だと思われます。