※『Literature Watch Returns (L.W.R.)』の投稿順 index はこちら
最近、マイコン用開発ツールをいろいろ勉強させてもらっている投稿が多いのですが、
最近のマイコン開発環境、便利すぎ、お手軽すぎ
と感心しきりだったのです。しかし、何でそんなに便利に、お手軽になったのかには、大きな事情というか流れというかがあったのでした。遅ればせながら CQ出版のInterface誌の2019年5月号(先月の内に読めばオンタイムだったのだが、読んだのは昨日、既に5月になっていた)を読んでようやく目から鱗というか、理解に至りました。
ベアメタルでスタートアップルーチンをアセンブラで書く
そういうスタイルが「まずい」理由が、令和になる前、とっくの昔に存在していたのですね。。。
さて、インタフェースのご商売の邪魔にならない程度に5月号でとりあげられている「モダンOS」を列挙すると以下のようなものです。
-
- Amazon FreeRTOS
- Arm Mbed OS
- MicroPython
MicroPythonはOSではないですが、OS的(実際にこれを使わないと開発できないマイコン処理系もあり)な役割まで果たしているように見えるということで含まれているようです。上記の3つ以外にもGoogle Cloud連携のMicrochip AVR-IoTとか、NuttXなども取り上げられています。それぞれの開発事例など、役に立つコンテンツがテンコ盛りと申し上げておきましょう。こちらでも Arm Mbed OSについてはシリーズで取り上げさせていただいており、その後もセンサ接続などで今も使用中です。大変参考になる特集と申し上げておきましょう。
しかし読んで、「感心した」のは、その一つ一つの開発事例とかサンプルコードなどではないのです。その背景というか、考え方に「ずばり」切り込んでくる以下のような指摘でした。要約すれば
IoT分野のプロジェクトがベンチャー投資家から投資を受けるためには、プロトタイプは短期開発(ソフトウエアはせいぜい2週間)
ということでしょうか。アメリカのハッカソンなどの激烈さは噂には聞きます。皆が雪崩を打っていろいろなアイディア出してきている昨今のIoT業界はスピード勝負、マイコンやセンサのデータシートをじっくり読み、開発ツールの部厚いマニュアルも読み、コツコツとブートからプログラムを書いていく、などというプロセスは「許されない」ということでしょう。だから、データシートもマニュアルもほとんど読まず、即本題のプログラム開発に入れて、素早くプロトタイプができあがるような「OS」と「開発環境」がモダンなのだ、と。
そして、Webベース(クラウド上)で開発するスタイルにも大きな意味がありました。まずは、
遠隔地にもある非常に多数に存在するデバイスにOTAでファームを更新
IoTデバイスは手の届かないところにあるかもしれず、ましてやその数たるやとんでもない数量である可能性もあるので、クラウドからOTA(Over-the Air)更新できるのが必須だということです。試作品に問題あったら、試作品に開発装置を接続し、一台一台書き換えたりなどしない。もちろんデバイスからのデータを盗まれたり、デバイスに成りすますなどの事態も大問題。
IoTデバイスはクラウドとセキュアに連携するのが当然
セキュリティ必須です。そしてビジネスの付加価値を生むのはクラウドで何か価値ある情報に加工されてのもの。だからクラウド上で
ファーム開発、収集データ分析、そして全デバイス管理
までを統合する必要があるという考えでした。
Webベースで開発できるなんて便利だけどおもちゃっぽいね~
などと思っていたのは浅墓だったと言わざるを得ません。だから、モダンOSというのは、開発環境からデータの解析、デバイスの管理に至るまで統合していくための鍵となるソフトウエアなのでした。Webベースのコンパイラにそんな目論見が隠れていたとは気づきませんでした。そして、確かに言われて見ればクラウドでのクラウド管理環境なども準備されていて(時間があったらそのうち勉強するつもりで後回しにしていたのですが)、まさにそこが
お金を吸い上げるためのパス
になるようです。節穴には見抜けない慮りであります。
この特集の一部を執筆されている「ながはら」さんという方が「マイクロチップとGoogleのIoT入門マイコン」という記事の末尾に「私の感想」として書かれている一部を引用させていただきます。
セキュリティICや通信モジュールやクラウドが処理の大半を実現して、マイコンで行うことはごくわずかしかありません。IoTでマイコン技術者の活躍の場が増えるように思っていましたが、そんなに甘くはない気もしています。
そうだったですか!いやはや。