ESPr Developerとは
ESPr Developer(ESP-WROOM-02開発ボード)
ESP-WROOM-02(いわゆるESP8266)が乗ったボード。USBシリアル変換基板も乗っているので、PCとUSB接続してそのまま開発ができます。開発環境としてはArduinoのIDEが利用可能です。
まずはピンヘッダをハンダ付け
ESPr Developerにはピンやソケットが実装されてないので、今回はピンヘッダをハンダ付けして、ブレッドボードにさせるようにしました。
開発環境を整える
公式サイトに詳しく書かれているので、読んでみてください。
- ArduinoのIDEをダウンロード・インストール(1.6.10を使用)
- Arduino IDEの設定から「追加のボードマネージャのURL」に http://arduino.esp8266.com/stable/package_esp8266com_index.json を追加。うまくいかない場合は、リダイレクト先の http://dl-id.igrr.me/versions/2.3.0/package_esp8266com_index.json を貼り付けるとうまくいきます。
- ツール>ボード>ボードマネージャに
esp8266 by ESP8266 Community
があるので、インストール(2.3.0を使用)
これでArduino IDEで、コードのコンパイルとESPr Developerへの流し込みができるようになります。・・・ですが。
落とし穴:Mac OSX (Yosemite)だと上手くコンパイルしたデータをESPr Developerに書き込めない
ATコマンドは打てるので、MacからESPr Developerを認識できていると思うのですが、いざコードを流し込もうとすると、
warning: espcomm_send_command: cant receive slip payload data
みたいなエラーが発生して、書き込めません。そんな時はESPTOOLを使うと上手く書き込めるそうです。
pipコマンドでも$ pip install esptool
のようにインストールできますし、GITのソースをクローンしてきてsetup.pyを実行してもインストールできます。ぶっちゃけインストールする必要は無いんですが、重要なのはesptool.pyで、コンパイルしたデータを書き込む部分をesptool.pyにさせることで問題を回避できるそうです。
/Users/$USER/Library/Arduino15/packages/esp8266/hardware/esp8266/2.3.0/
にあるplatform.txtの一部分を書き換えます。
tools.esptool.upload.pattern="{path}/{cmd}" {upload.verbose} -cd {upload.resetmethod} -cb {upload.speed} -cp "{serial.port}" -ca 0x00000 -cf "{build.path}/{build.project_name}_00000.bin" -ca 0x10000 -cf "{build.path}/{build.project_name}_10000.bin"
こんな部分を、
#tools.esptool.upload.pattern="{path}/{cmd}" {upload.verbose} -cd {upload.resetmethod} -cb {upload.speed} -cp "{serial.port}" -ca 0x00000 -cf "{build.path}/{build.project_name}_00000.bin" -ca 0x10000 -cf "{build.path}/{build.project_name}_10000.bin" tools.esptool.upload.pattern="/Users/$USER/tmp/esp8266/esptool/esptool.py" --port "{serial.port}" write_flash 0x00000 "{build.path}/{build.project_name}_00000.bin" 0x10000 "{build.path}/{build.project_name}_10000.bin"
こんな感じに書き換えます。/Users/$USER/tmp/esp8266/esptool/esptool.py
は適当な場所にコピーしてきて、そのパスを書いてあげればOKです。
さらなる落とし穴:なぜかesptool.pyが実行できない
いやいや、これで上手く言ったと思ったんですが。
No module named serial
え?SerialがImportできないと仰せ。pipでpyserialをインストールしても無理・・・これは諦めるしか無いのか・・・。
Windowsからは問題なく書き込めました
ちゃんとUSBシリアル変換のドライバーさえインストールしておけば問題無いです。ESPr DeveloperはFT231XSを使用しているので、下記のサイトからドライバーをダウンロードできます。
泣く泣くWindowsからプログラム流し込み・・・。 テキトーにLチカ。