3
1

ESP32の味見

Last updated at Posted at 2024-07-22

ESP32の味見

想定難易度はちょっと電子工作に興味のある情報科の学生レベルです

プロの人からマサカリが飛んでくるかもしれませんがお手柔らかにお願いします

また詳細は割愛することが多いのでくわしくは参考サイトをみてください

まずはじめに: ESP32とは

非常に安価にもかかわらずWi-Fi/Bluetoothが利用できるマイコンボード(クロック周波数も最大240MHzと高速)として有名

ESP32-WROOM-32Eの場合:フラッシュメモリーは4MB, SRAMは520KB, コアはXtensa LX6 x2 32bit

姉妹ChipにESP-02(ESP8832EX)がある

またWROOM/WROVER+(後ろに英数字がついているモデル)といった細かいバリエーションがあり搭載メモリー量や価格に若干の差異はあるが基本は同じである (なかにはRISC-Vのものもあるようだ)

まとめているページがあった

ESP32シリーズまとめ

ESP32シリーズ(無印, S2, S3, C3, …)比較 2022年1月

機材

おすすめのボードは以下

ESP32単体を購入してもよいがUSBの5Vから3.3VへのレギュレーターとBoot向けのスイッチが搭載されているためすぐに開発が可能になる (単体はやや難易度が高く一敗)

ESP32-WROOM-32Eマイコンボード

シリアル変換は以下がおすすめ

もっと安価なものでも構わないが高速かつ小型でピンも余計なものがついていないため今回の開発にぴったり

接続はmicro-B

FT234X 超小型USBシリアル変換モジュール

4Pがまとまったメス-メスのケーブルも買っておく

コネクター付コード 4P 赤黒黄緑

こちらでもいい

ブレッドボード・ジャンパー延長ワイヤ(メス-メス) 15cm青

接続は以下の通り

5VとGNDはケーブルをねじって接続する必要がある

ESP32-dev USB-Serial
GND GND
5V 5V
RX TxD
TX RxD

買って帰ったら早めに半田付けすること (情熱が枯れる前に)

Platform IOについて

Platform IO拡張機能をインストールしたら左のアイコンからHomeへ飛び, New projectでEspressif ESP32 Dev Moduleをボードに指定してArdiunoを選択する (今回のケースはこの設定で行うがボードややりたいことによっては変えるべし)

Buildと書き込み, シリアルモニターは下部のステータスバーにある

なおこのプロジェクトはVSCodeが開いているフォルダーではなく別の場所に保存されているようである

コードは参考サイトの簡単なシリアル通信のものを使った

参考

Get started with Arduino and ESP32-DevKitC: debugging and unit testing

ESP32でのPlatformIO IDEの使い方と環境構築

書き込み

Bootを押しながらENをプッシュしてリセットすると書き込みモードに移行する

Bootを押さずにENをプッシュすると普通に起動する

シーケンス図

Boot EN
1 1
0 1
0 0
0 1
1 1

通信速度をあげることもできる

platformio.ini

monitor_speed = 115200
upload_speed = 512000

自分の環境ではボーレート38400でも安定して通信できた (115200は配線が悪いのかノイズが多いのかわからないがだめだった)

追記

再度試したところ512000でも動作しました

参考

ESP32の書き込みで嵌った話

ESP32のプログラム書込みを安定させる

Advanced: Nostr client

Segmentさんの記事を参考にしてみる

Arduino(ESP32)から次世代SNSプロトコル Nostrにアクセスしてみる

ライブラリーはPlatform IOのPIO Home > Librariesから追加できる

途中で追加するプロジェクトを聞かれるので現在製作中のプロジェクトを選択する

Reference > Libraries > Nostr

ArduinoJson

5GHzのWi-Fiではうまくいかない(非対応)ので2.4GHzのものを利用する

コードはほぼ同じものをつかったので割愛

Future: debug(まだ未検証)

FT232HLをつかえばOpenOCDをつかったdebugが出来るらしい

FT232HL ハイスピードUSBシリアル変換モジュール

FT232Hの方が最強かもしれない(2) – シリアルデバッグ編

ESP32 を FT232H でつないで OpenOCD+GDBでデバッグ

ただの/dev/ttyUSB0としてではなくBit-bangをつかうにはmodprobeでftdi_sioを消して専用のdriverをインストールする必要があるかもしれない (あるいは/etc/modprobe.d/でblacklistに登録する必要があるかもしれない)

Installation Guides

D2XX Drivers

3
1
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
1