LoginSignup
2
2

More than 3 years have passed since last update.

ESP-32 ATコマンド ピン設定方法 ESP-AT

Posted at

ESP-32を通信用として、ATコマンドで動かす際に、ピンを変更したい人向けの記事です。
特に、私のように、RXTXを間違えた人必見です。

ESP-32は初期ファームウェアとして、ATコマンドで動くファームウェアが入っています。
これはGPIO17がTX、GPIO16がRXとなるようになっています。

TX⇔RX
とつなぐために、相手方を入れ子にする必要があります。
私はここをよく間違えます。

今回は、間違えた、GR-Mango用LoraWifiBoardのファームウェアを作ってみましょう

今回、GPIO17をRXへ、GPIO16をTXにします。
ポートのセッティングは、GithubのこのCSVに入っています。
https://github.com/espressif/esp-at/blob/master/components/customized_partitions/raw_data/factory_param/factory_param_data.csv
image.png
それでは、ファームを作りましょう。
と言いたいところですが、これを作るには、Linux環境を用意する方が簡単です。
(Windowsでやろうとして3時間かかりましたが、できませんでした)

こんな人の為に、なんと仮想環境を用意してくれています
virtual machine (for windows 64bits user): http://download.espressif.com/esp_share/env/ubuntu1804.ova
image.png

これをダウンロードして、VMWareなどで動かします。

make menuconfig

起動します。
いろいろなサイトを見たところ、ホームディレクトリにespディレクトリを作りその中にesp-atのディレクトリを作るようです。

ターミナルを起動します。

mkdir esp32
cd esp32
git clone https://github.com/espressif/esp-at
cd esp-at

image.png

ここで、make menuconfigと入れます。
以下はターミナルを立ち上げなおしたのでesp32は不要です。

cd esp32/esp-at
make menuconfig

と入れると、画面のようなGUIのセッティング情報が出てきます。
image.png
ここで、必要な方は設定をいじってみてください。
image.png

factory_param_data.csvの設定

私は、今回のピン設定のみを行います。
ピン設定は、
esp-at/tree/master/components/customized_partitions/raw_data/factory_param
の中のfactory_param_data.csvです。
image.png
Ubuntuのエクスプローラーで、素直に開けます。
image.png
image.png
そして、ピン設定を変更します。
image.png
Saveして終了します。

コンパイル

最後に、ターミナルで

make

でコンパイルを開始します。
image.png
image.png

今回、必要なのはfactory_param.binになります。
保存場所はesp-at/build/customized_partitions/factory_param.binです。
image.png
純粋なLinux環境ですと、このまま書き込み可能ですが、仮想環境の場合、少し面倒なので、
ファイルをWindows環境へコピーしてください。

Flash Download Tools

ここからは、WindowsのFlash Download Toolsを使います。
まず、Flash Download ToolsとATファイルをダウンロードします。

Flash Download Tools (ESP8266 & ESP32)

https://www.espressif.com/en/support/download/other-tools
image.png

ESP32-WROOM-32 AT Bin V2.0

https://www.espressif.com/en/support/download/at
image.png
image.png
この際に、先ほど作成したfactory_param.binを読み込めるようにしておきます。

書き込み

Flash Download Toolsを起動し、ESP-32を選択します。
image.png

必要な項目を入れていきます。
四角をクリックし、ファイルを選択、
右の@以下に書き込む番地を指定し、
一番左のチェックを入れます。
image.png

私は以下の構成にしました。

--flash_mode dio --flash_freq 40m --flash_size detect
0x1000 bootloader/bootloader.bin
0x20000 at_customize.bin
0x30000 customized_partitions/factory_param.bin
0xf000 phy_init_data.bin
0x100000 esp-at.bin
0x8000 partitions_at.bin

COMポートは、接続先を指定、BauDは115200で問題ありません。
以上を入力し、Startを押します
image.png
この時、必ずDownLoadモードにしておきます。
(GPIO0を押しながら、リセットを押し、最後にGPIO0を離す)

以上で、プログレスバーが進み、最後にFinishとなれば成功です。
image.png
以上で、GPIOの設定が完了しました。
接続して、ATと打つとOKという返事が返って来れば設定が完了したことになります。

なお、作成したfactory_param.binはこちらで公開しています。
https://github.com/taisirou/esp32-AT-Pin-Cnfiguraion-for-change-GPIO16-17

2
2
0

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
2
2