Amazon FreeRTOS を学習するためのコンテンツについて(事前調査編)
まえがき
3/30(土)のとある勉強会の場で、AWSの某エバンジェリストの方(名前伏せてる意味ないw)から
「Amazon FreeRTOS のハンズオンコンテンツ作ってー」 「このあたり理解している人って、こにゃさんぐらいしかいないから」
というノリで言われてしまい、どうしようかな?と悩んでいました。(まんざらでもない奴
最近会社での出来事
実をいうと、会社の方でも組込み系の案件の話がいくつか私宛に来ていると社内の人から聞いていたのですが、別の案件対応のため断っている→私以外のメンバーを育成して組込み系エンジニアとして業務委託 or 派遣したいとの話がちょろっとでていました。
ただ、組込み系ゆーても私のところにくるような案件=C/C++でのファームウェア開発なのですが、ファームウェア開発ってWebアプリとかクラウド系とは違って
- 電気基礎(オームの法則)や論理回路(AND/OR/XORやフリップフロップ回路など)のハード寄りの知識
- それに伴う計測機器の使い方(テスター使えるのは当たり前、オシロやロジアナ使えないと実務では結構厳しかったり)
- コンピューター基礎(プロセッサの基礎知識、メモリの概念、などなど)
- OS、もしくはそれに近いシステムの知識(RTOS、スケジューラー、リソース管理など)
など、理系要素の知識を求められるため、促成栽培じみたエンジニアの育成って困難なんですよね。 本当に上っ面のUI部分とかはそのあたり意識しなくてもできたりしますが、より物理層に近いレイヤーを弄るとなると途端にハードルが上がるという。
そういう意味では、ArduinoとかRaspberry Piなどのデバイスは、そういった知識がそれ程なくてもできるという意味で、受け入れやすいというのはあったのかもしれません。
が、実際の製品レベルへ大量に導入するものになり、製品の原価管理とか意識したり動作品質をきちんと保証しようと考え始めると、まだまだ昔ながらのファームウェア開発はなくならないなーと思います。
でも、あまりクラウドとかのように技術的な進歩ってのが正直ないのかな?と。 統合開発環境もEclispeベースであればまだよい方で、ちょっと微妙なものだとコード書くのもつらいので、VSCodeにC/C++プラグインいれて実装してIDEへ戻すってこともよくやってます。 んでxUnitのようなツールもまだまだ。
過去のお仕事では、マイコンの挙動をシミュレートするお高いツール使ったりしてましたが、こんなん買えるのは余程お金かけれる場面でしかないよ・・・
こういったところ、VSCodeのプラグインとして各社開発環境整備してくれんかな。 本当にソフトウェア開発環境はWebやクラウドと比較して5~10年遅れてる。
さて、本編
そんなことを考えて愚痴りつつも、Amazon FreeRTOSのハンズオンコンテンツをもし作るならどうしようかと考えた。
シンプル&安価なハードウェアデバイスを使いたい
ハンズオンで扱うならなるべく安価なデバイスを使って、気軽に試してほしいと思っています。 あと余計なものがごちゃごちゃあると、あれもこれもとなってしまうので、なるべく余計なデバイスはいらない。
ファームウェア開発の場で必要なしくみを使えること(オンチップデバッグなど)
ファームウェア開発をしたことある人はご存じなのですが、実際にターゲットのMPUへプログラムを書き込んで、実際にデバイス上で実行してプログラムが正しく動いているか確認したりします。
せっかくハンズオンで触るなら、このあたりのデバッグ機能の使い方も理解しないと「やっぱ使えねーじゃん、マジ〇〇〇〇」ってなりかねないので、最低限オンチップデバッグはしたいなーと。
ちょっと調べてみた
ESP32-DevKitC
秋月電子で1,500円で購入できて安価で入手性Good!なんだけど、流石にデバッグは・・・これは面倒。
はい、次。
ESP-WROVER-KIT
- ディスプレイやボタンがついている
- JTAG を利用できる(FT2232HL経由)
技適はどうなのか?
ESP-WROVER-KIT に搭載のチップを調べたら、ESP32-WROVER-B でした。
んで、このモジュールの認証情報を探してみる。
日本の場合は総務省(MIC)による認定となるので、「ESP32-WROVER-B MIC Certification」を選択すると、認証情報が表示されます。
なら大丈夫か。
じゃあ購入しよっかな
って思うでしょ? 残念ながら日本国内で実は流通していないという罠。
AWS の認定デバイスページではマウザーから購入ってあったけども・・・どうしようか(マウザー使ったことない
ちょっとクレカの支払いの絡みもあるので、もしあれこれ手配するなら11日以降かな? つづく(かもしれない)