2016年7月7日木曜日

Arduino IDEからESP8266にプログラムを書き込む方法


情報収集に時間がかかったので、メモを残します。

使ったもの


回路説明

このように配線します。
消費電力を抑えるためと、故障予防のために、3.3VやGNDに常時接続されるピンには抵抗を挟みました。

ピン名 繋ぎ方
3.3V 3.3V
EN 1KΩ抵抗を通して3.3V
IO-13 LED
IO-15 1KΩ抵抗を通してGND
IO-2 1KΩ抵抗を通して3.3V
IO-0 1KΩ抵抗を通して3.3V
スイッチを通してGND
GND GND
RST 1KΩ抵抗を通して3.3V
スイッチを通してGND
TXD シリアル変換基板のRX
RXD シリアル変換基板のTX



Arduino IDEの設定

ESP8266のボード情報を読み込み

ESP8266に書き込みが行えるパッケージをインストールします。
メニューからFile -> Preferencesを選択し、「Additional Boards Manager USLs」に下記のurlを登録します。

http://arduino.esp8266.com/stable/package_esp8266com_index.json



メニューから「Tools -> Boad -> BoardsManager」を選択し、Boards Managerを開きます。


先ほど追加したurlの読み込みが成功していれば、「esp8」で検索するとESP8266に関するパッケージが表示されます。


ボード情報をクリックしたら「Install」ボタンが出てくるので、それをクリックしてインストールします。


参考
ESP8266 Thing Hookup Guide
https://github.com/esp8266/Arduino

ESP-WROOM-02向けのボード情報を設定

先ほど説明した回路の場合、下記の設定でプログラムを書き込めました

設定項目設定値
Board Generic ESP8266 Module
Flash Mode DIOかQUOで書き込めました。
Flash Frequency 40MHzでも80MHzでも書き込めました。
CPU Frequency 80Hz
Flash Size 4M(1M SPIFFS)
Debug port Disabled
Debug Level None
Reset Method ckでもnodemcuでも書き込めました
Upload Speed 115200


参考
ESP8266にArduinoスケッチを書き込んでUDPデータ送受信
Arduino IDEでESP-WROOM-02のボード設定について

書き込み方法

USB->シリアル変換基板で電圧を制御できる場合は、3.3Vに設定します。


書き込みモードにするため、IO-0をGNDに接続したままESP8266を再起動(リセットボタンを押すか、USBを抜き差し)します。

Arduino IDEから先ほど説明した設定でプログラムをアップロードします。

File -> Examples -> 01.Basic -> Blinkで選択できるLED点滅プログラムを書き込むとLEDが点滅します。


以上です。
何かの役に立てば嬉しいです。

更新履歴

2016/12/19
RSTの接続説明が間違っていたので修正しました。
2017/01/05
ESP8266のボード情報を読み込むために、preferencesにjsonを登録する記述が抜けていたので追加しました。

0 件のコメント :