プログラミングソフトRobipでESP-WROOM-02（ピッチ変換済みモジュール）をWi-Fi経由でプログラム更新が出来る様にする

### アップデート情報
* 2016.6.8 「書き込み用ツール」の一部修正を行ないました。ダウンロードURLはそのままです。

先週、[「【初心者向け】プログラミングソフトRobipで、ESP-WROOM-02開発ボードをWi-Fi経由でプログラム更新が出来る様にする」](http://qiita.com/cw-hirama/items/c6593dc4d6020cbafefb)という記事を投稿した所、反響があったので、今回は、ESP-WROOM-02（ピッチ変換済みモジュール）をWi-Fi経由でプログラム更新が出来る様にする方法を紹介します。一度Robipでプログラム更新が可能にすれば、次回よりWi-Fi経由でプログラム更新が可能になりますので、是非TRYしてください。

##ESP-WROOM-02（ピッチ変換済みモジュール）とは
![IMG_0716.jpg](https://qiita-image-store.s3.amazonaws.com/0/46262/d3057584-1102-cf07-9750-ab3a715dbfee.jpeg)

ESP-WROOM-02 Wi-Fiモジュールは「ESP8266EX」を搭載したWi-Fiモジュールです。株式会社スイッチサイエンスさんより、3タイプが発売されています。
- ESP-WROOM-02 Wi-Fiモジュール
- ESP-WROOM-02ピッチ変換済みモジュール《フル版》
- ESP-WROOM-02ピッチ変換済みモジュール《シンプル版》
今回は、**「ESP-WROOM-02ピッチ変換済みモジュール《シンプル版》」**を例にとって紹介しますが、まだ購入されていない方は「ESP-WROOM-02ピッチ変換済みモジュール《フル版》」をお勧めします。※ESP-WROOM-02のすべての信号を2.54mmピッチのピンに引き出しているので使いやすいです。
[ESP-WROOM-02ピッチ変換済みモジュール《シンプル版》](https://www.switch-science.com/catalog/2341/)

##ビジュアルプログラミングアプリRobipとは？
ニャンパス株式会社が開発した、ビジュアルプログラミングアプリです。同じくニャンパス株式会社が開発したHaLake Kitは勿論の事、ESP-WROOM-02 Wi-Fiモジュール等に、プログラムを書き込む事ができる開発環境の事です。
Wi-Fi経由で書き込む事が可能な為、PCを使わず開発が行なえます。
[プログラミングソフトRobip](https://robip.halake.com/)

##はじめに
ESP-WROOM-02 Wi-Fiモジュールは非常に安価である事と、技適が通っていることから、即座に飛びついてしまった方も多いのではないでしょうか？
ちなみに私もその一人でした。しかし、ファームウェアの書き換えで上手くいかず放置する事になりました。
しかし、ニャンパス株式会社の**「ビジュアルプログラミングアプリRobip」**を使えば、比較的簡単に、そして一度Wi-Fi経由でプログラム更新が出来る様にしてしまえばUSB-TTLシリアル変換ケーブルも使わず、プログラムを書き換えられる様になります。

##必要なもの
- ブレッドボード
- 10kΩの抵抗（3、4本）
- ジャンパワイヤー（15本位）
- ESP-WROOM-02
- USB-TTLシリアル変換ケーブル[（今回はFTDI USBシリアル変換アダプターを使いました)](https://www.switch-science.com/catalog/1032/)
- PC（※最初だけ必要です。）

##ブレッドボードと配線※書き込み時
下の写真を参考に配線してみてください。
![IMG_0717.jpg](https://qiita-image-store.s3.amazonaws.com/0/46262/25976305-4133-efda-4b96-82346fdc7b13.jpeg)

GND (ESP-WROOM-02) → GND (USBシリアル変換アダプター)
IO0 (ESP-WROOM-02) → GND (USBシリアル変換アダプター)
IO2 (ESP-WROOM-02) → 10kΩの抵抗を挟んで VCC (USBシリアル変換アダプター)
EN (ESP-WROOM-02) → 10kΩの抵抗を挟んで VCC (USBシリアル変換アダプター)
RST (ESP-WROOM-02) → 10kΩの抵抗を挟んで VCC (USBシリアル変換アダプター)
TXD (ESP-WROOM-02) → RX (USBシリアル変換アダプター)
RXD (ESP-WROOM-02) → TX (USBシリアル変換アダプター)
3V3 (ESP-WROOM-02) → VCC (USBシリアル変換アダプター)

※IO1は初期時通電しない（GND）になっていないと、書き込みが出来ないので注意してください。

##プログラミングソフトRobipに登録する。
一旦ブレッドボードと配線が完了したら、書き込み側の設定をしましょう。
[https://robip.halake.com/editor.html](https://robip.halake.com/editor.html)にアクセスして、会員登録を済ませてください。
<img width="1030" alt="5ba9aefa-1301-336e-106e-f05748c827d9.png" src="https://qiita-image-store.s3.amazonaws.com/0/46262/b7a7f026-8455-f925-4397-d6e0b160dbbc.png">

##Wi-Fiの設定を登録する。
右側のアイコンをクリックし「設定」を選びます。
![45ff0c8b-6b21-2462-a084-d6cccfcbf920.png](https://qiita-image-store.s3.amazonaws.com/0/46262/4b5e1290-1d66-d319-a66d-6d383ffd62fa.png)
写真の様な画面が表示されたら、下記の様に入力してください。
※Robip IDを設定する事で、ESP-WROOM-02に電源がはいった場合、自動的にRobip IDのプログラム更新の有無をサーバに確認しにいきます。
Robip ID：お好きな英数字を決めてください
WiFi（１）：アクセスポイントとSSIDを登録してください。
![82934aa5-3215-5067-beab-d9fdbd9a936d.png](https://qiita-image-store.s3.amazonaws.com/0/46262/54ff0018-ebb9-d4f0-775a-0c9affdaf984.png)
設定後「閉じるを押して終了してください。」

##ビルドをしてください。
ビルドを行ないます。
![0d864268-87f8-42f9-943d-b9ce95dc7631.png](https://qiita-image-store.s3.amazonaws.com/0/46262/475bb26a-5fe7-335a-2264-d0c8578bba8f.png)

##ESP-WROOM-02に設定した内容を書き込む
こちらから、[書き込み用ツール](http://robip.halake.com/robip-tool.jar)をダウンロードしてください。
インストール後立ち上げていただくと下記の様な画面が表示されます。
![1fa8e692-c34b-bbab-2811-d7b4ae79f34a.png](https://qiita-image-store.s3.amazonaws.com/0/46262/ab372954-6100-140d-02cf-6cd95427c183.png)

##ESP-WROOM-02に設定した内容を書き込む
「ブレッドボードと配線」で作成したものをUSBシリアル変換アダプターからUSBでPCに接続します。
「書き込み用ツール」のリロードを行って頂くと、USBserialポートが表示されます。
![cc2b9041-b429-1271-849d-9ea4eec53de4.png](https://qiita-image-store.s3.amazonaws.com/0/46262/010d9535-56d9-0509-afbe-e4b3da4ed7d2.png)
Robip IDは先ほど設定したIDを入力し、ポートは、USBserialポートを選び、「書き込む」ボタンを押します。
![c64f7748-ba9b-3142-9f12-57cf39ef81d3.png](https://qiita-image-store.s3.amazonaws.com/0/46262/81119b66-4dee-8fe4-e909-02f30705d27d.png)

##ESP-WROOM-02を単体で動かす
下記の様に、配線を変えてあげます。

GND (ESP-WROOM-02) → GND (USBシリアル変換アダプター)
IO1 (ESP-WROOM-02) → 10kΩの抵抗を挟んで VCC (USBシリアル変換アダプター)
IO2 (ESP-WROOM-02) → 10kΩの抵抗を挟んで VCC (USBシリアル変換アダプター)
EN (ESP-WROOM-02) → 10kΩの抵抗を挟んで VCC (USBシリアル変換アダプター)
RST (ESP-WROOM-02) → 10kΩの抵抗を挟んで VCC (USBシリアル変換アダプター)
TXD (ESP-WROOM-02) → RX (USBシリアル変換アダプター)
RXD (ESP-WROOM-02) → TX (USBシリアル変換アダプター)
3V3 (ESP-WROOM-02) → VCC (USBシリアル変換アダプター)

※IO1の配線をGNDから10kΩの抵抗を挟んで VCC (USBシリアル変換アダプター)に変えるだけです。

##ESP-WROOM-02プログラムを更新する
上記までの作業が全て完了したら、プログラミングソフトRobipでプログラムを更新し、ESP-WROOM-02の電気を再度入れ直せば、ESP-WROOM-02がWi-Fiを経由し、最新のプログラムを取得します。

是非[ビジュアルプログラミングアプリRobip](https://robip.halake.com/)と一緒に使ってみてください。