ESP32[1] ESP32とは

ESP32シリーズは Wi-FiとBluetoothを内蔵する低コスト、低消費電力なSoCのマイクロコントローラです。Wi-FiとBluetoothが何も追加しないで使えるというのは便利です。ESP32 はピンヘッダや書き込みモジュールが搭載された開発キットが売っていて、約1000円程度で買えます。ラズパイだと1万円近くを見ないといけません。ESP32はOSが載っていないので、ラズパイとの選択はOSが必要かと消費電力で決めればいいと思います。個人的には、ラズパイはDIOが付いたパソコン、ESP32は Wi-FiとBluetoothが付いたマイコンと思っています。消費電力から言うと、ラズパイ4で約500mA、ESP32が約20mAなので、電源が豊富であるところにはラズパイでもOKです。ラズパイはLinux搭載なので、色々なアプリケーションを動かせるのがいいのですが、DIOとともにそういうのを使うのかというのははなはだ疑問です。 OSが載るという大きなメリットはWEBサーバーやメールサーバーなどTCP/IPを必要とする場合は非常に楽なので、例えば、遠隔でWEBサーバー経由で何か制御したいというときは、ラズパイが向いていると思います。 大きさが気になるなら、ラズパイzeroという選択肢もありますし。ラズパイでもpicoはもうマイコンの部類になります。ラズパイzeroはOSも乗るし小さいので変わり種かもしれません。USBとディスプレイが付いているのもラブパイの大きな利点です。マイコンでこれらを自分で作ろうとなると大変です。結論から言うと、TCP/IP, USB,ディスプレイが必須であり、電源も供給できるのであればラズパイを私は選択するかな。

マイコンという分野で比べると、やはり Wi-FiとBluetooth が搭載されているというのはESP32の大きな利点だと思います。もし、これらがいらないのならもう少し色々なマイコンを選べるようになると思います。ラズパイでもpicoはもうマイコンの部類だし。

色々なものを作ってきた私から見ると、目的に合うハードウエアをちゃんと見極めるということは非常に重要だと思います。使いもしない Wi-FiとBluetooth が載っているマイコンを使うなら、載っていないマイコンを使うべきだし、載っているのなら何かそれらを使った機能を追加するのもありだと思います。

マイコンで良いとなると沢山あるので選択に悩むことも多いと思います。その時に選択材料となるのが開発環境だと思います。ここ最近、私はずーっと Arduino IDEで落ち着いているので、ESP32もpi picoも Arduino IDEで 開発してます。なので、たぶん、それ以外のマイコンを使うのなら、 Arduino なのかな。

昔はこのような開発環境が無かったので、H8とSHにソフトを載せるのはGNU GCCでコンパイルしてました。GCCが非常に多くのデバイスをサポートしているので大体何でも作れましたね。ただ、GCCとなるとパソコン側の問題が出てきます。Windows上ではCygwinやMinGWを使っていました。ただ、UNIXで作った方が楽でした。UNIXは今となればラズパイでもいいですしね。昔は、レンタルサーバー上で開発していた時期もあります。

脱線しましたが、開発環境は変わるとまた覚えるまで大変なのである程度固定したほうがいいと思っています。まあ、開発環境もそれなりのバグや癖があるので、最後はデバイス優先にならざるを得ないときもあります。