1.ESP32入荷
Aliexpressはとても便利なのですが、納期の遅さだけがいただけません。だいたい2~3週間で到着しますので、面白いデバイスを見つけて注文してもすぐには使えません。また、追加でもう一つ欲しいとなったときもまた3週間待ちです。待ってる間に他の事に興味が移ったりもしますので、なにか面白そうなものを見つけるととりあえず注文! というような運用になってます。
前ふりが長くなりましたが、とりあえず注文して積んであったのがESP32とESP8266。
良くわからずに注文したのですが、ポイント次の通り。
①Arduino IDEで開発出来るマイコンボード
②Arduinoに使われているATMega系のマイコンより処理が早い
③Wi-fiとBluetoothに接続可能なので、無線でロボットをコントロールできるらしい
届いてから2週間ほど放置でしたが、ようやく開発環境を整えるところまでの目処がついたのでまとめてみます。
ESP系のボードとArduinoのスペック比較をするとこんな感じ。
これだけ見ると圧倒的にESPが良いのですが、Arduinoは開発環境や先人の開発例が多くあるので初心者がとっつきやすいと言う大きなメリットがあります。
ESP8266
|
ESP32
|
Arduino
Pro 2560
|
Arduino
Pro Micro
| |
CPU
|
Tensilica LX106
|
Tensilica Xtensa
Dual-Core LX6 |
ATmega2560
|
ATmega32U4
|
動作周波数
|
80/160MHz
|
160/240MHz
|
16MHz
|
16MHz
|
RAM
|
36KB
|
520KB
|
8KB
|
2.5KB
|
Flash
|
最大16MB
|
最大64MB
|
256KB
|
32KB
|
WiFi
|
802.11n 最大65 Mbps
802.11g 最大54 Mbps |
802.11n 最大150 Mbps
802.11g 最大54 Mbps |
無し
|
無し
|
BlueTooth
|
無し
|
有り
|
無し
|
無し
|
GPIO
|
最大17
|
最大32
|
最大54
|
最大16
|
I2C
|
最大1
|
最大2
|
最大1
|
最大1
|
PWM
|
最大4
|
最大8
|
最大15
|
最大5
|
UART
|
最大2
|
最大3
|
最大3
|
最大1
|
2.ESP32、ESP8266とは
今回はろくにスペックも調べずに買ったのですが、ESP32、ESP8266はどちらもWi-Fiが使えるマイコンです。改めて調べてみるとESP32はESP8266の進化版で、Bluetoothも使えたり諸々の機能が少しずつ向上していると言う事で、とりあえず手元のESP8266はもう少しお休み頂いて、当面はESP32のみ触ってみます。
ちなみにESP32を調べてると、ESP-WROOM-32とかESP32 DEVKITとかいろんな名前が出てきますが、このシリーズに使われているSoCの名前がESP32でその中に、LX6っていうCPUが入ってるみたいですね。このESP32いい感じで動かすためのフラッシュメモリやらなんやらを基板に並べたパッケージの名前がESP32-WROOM-32で、DEVKITやなんやかんやつくのは開発ボードの名前ってことらしいです。
今回購入したボードはESP32 DEVKIT V1 30PINタイプでした。
こんなイメージ:DEVKIT V1⊃ESP32-WROOM-32⊃ESP32⊃LX6
開発ボードにもたくさんのバージョンがあってややこしいのですが、いつもお世話になっているこちらのサイトに詳しく記載されています。(DEKOのアヤシいお部屋)
3.ESP32の開発環境を整える前に
ESP32にはもともとファームが入ってるらしいです。ArduinoなりMicroPythonなりのファーム入れる前に試してみるのと、吸い出して保存しておく方が良さそうです。(私は知らずに消してしまいました)
自分では動作確認できてないですがこちらのサイトで紹介されてます。
4.Arduino IDEでの環境作成
Arduino出身の電子工作初心者としてはとてもありがたい事に、ESP32はArduino IDEで開発可能です。Arduino IDEをインストール済みであれば、新たなボードのライブラリを追加します。
- Arduino IDEを開き、[ファイル]→[環境設定]→「追加のボードマネージャのURL:」の入力ボックスの右のアイコンを押して、次のアドレスを追記します。https://dl.espressif.com/dl/package_esp32_index.json
- [OK]ボタンで環境設定を抜けて、[ツール]→[ボード:(現在選択しているボード名)]→[ボードマネージャ]→[esp32 by Espressif Systems]→[インストール]→[閉じる]
- [ツール]→[ボード:(現在選択しているボード名)]→[ボードマネージャ]→[ESP32 Dev Module]
だいたいこのサイトを参考にしました。これでArduino IDEからESP32が開発可能となりました。
でもね、ESP32ではArduinoのライブラリの多くが使えないらしいです(servo.hとか・・・)マイコンが違うので当然なのかもしれませんが。。。
5.MicroPythonでの環境作成
ESP32用のライブラリもいろいろ出ている様なのですが、ESP32開発するならMicroPythonが良いらしいとのうわさを聞いたので、MicroPythonの環境も整えてみました。手順は次の通り。
- まずはこのサイトのFlash Download Tools (ESP8266 & ESP32)をダウンロード
- 次にこちらのサイトからFirmware for ESP32 boardsをダウンロードします。複数のバージョンがアップされていますので、最新の一つ手前の安定板をダウンロードします。私はesp32-20190529-v1.11.binをダウンロードしました。
- 1でダウンロードしたflash_download_tools_v3.6.6を解凍し、flash_download_tools_v3.6.6.exeを実行します。
- [ESP32 DownloadTool]を選択し、5~7に従ってDownload(ESP32にファームをDownloadする)条件を入力します。
- [...]を選択して、2でダウンロードしたファームを選択
- [...]@の右に[0x1000]と入力
- CrystalFreq:40M、SPI SPEED:40MHz、SPI MODE:DIO、FLASH SIZE:32Mbit、COM:接続しているポート、BAUD:115200
- 今入っているファームを削除するため、[ERASE]を押す。※DEVKIT V1の場合、自動書き込み出来ないので、SYNCと表示されたらボードのBOOTボタンを長押しする。
- 新しいファームを入力するため、[START]を押す。※DEVKIT V1の場合、自動書き込み出来ないので、SYNCと表示されたらボードのBOOTボタンを長押しする。
6.うまくファームが入らない場合
・通信速度は115200bpsにしましょう・CrystalFreqは24Mの方がよいのかも。私はどちらでもいけます。
・DEVKIT V1は、ファームを書きこもうとし始めたらボード上のBOOTボタンを長押し。
書き込みが始まったら離してOK
7.まとめ
とりあえず開発始めるまでのまとめです。いまからPythonの勉強を始めます。
0 件のコメント:
コメントを投稿