ESP-WROOM-02 の開発キットを使ってみる (第2回) -- サンプルプログラムの書き込みと実行

## あらすじ

前回の [「ESP-WROOM-02 の開発キットを使ってみる (第1回) -- Mac に繋いで AT コマンドを叩くまで」](https://qiita.com/keach/items/621c5e776437e9c6c14e) の続きです。
今回は、Arduino IDE から ESP-WROOM-02 の開発を出来るようにするための準備と、サンプルプログラムの書き込みと実行を試してみます。

## 1. 用意したもの(前回と同じ)

* ESP-WROOM-02 開発キット (AE-ESP-WROOM-02-DEV) @ 秋月電子
* Arduino IDE 1.8.9 on macOS mojave 10.14.6

## 2． ボードマネージャーのインストール

Github の [esp8266/Arduino: ESP8266 core for Arduino](https://github.com/esp8266/Arduino) のページにある `Installing with Boards Manager` の項に書かれた以下の URL を控えます。

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

次に、Arduino IDE のメニューから `Arduino` > `Preference` を開き、`追加のボードマネージャーのURL` の箇所に先ほどのURLを貼り付けて `OK` を選択します。

![Aruduino IDE 環境設定](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4899/a8e131ea-f3aa-6b04-d7d5-3bf2853eb4d2.png)

再び、Arduino IDE のメニューから `ツール` > `ボード: xxxxxxxxx` > `ボードマネージャー` と開くと、 `esp8266 by ESP8266 Community` が出現していると思うので、`インストール` を選択します。

![ボードマネージャー](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4899/b43904d8-a7c3-f948-5dd2-c274a0744a30.png)

そうすると、メニューの `ツール` > `ボード: xxxxxxxxx` の一覧に、`Generic ESP8266 Module` が出てくると思うので、そちらを選択します。

![ツール ボード一覧](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4899/3893b570-3bee-0cfa-2210-93f4e817de07.png)

そして、メニューの `ツール` を開くと、こんな感じになっているかと思います。

![ツール](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4899/679583d1-9ffe-51bd-bb7f-fe415ced95f7.png)

## 3． サンプルプログラムの書き込みと実行

まず、Arduino IDE のメニューから `ファイル` > `スケッチ例` > `ESP8266WiFi` の `WiFI Client` を開きます。
ソース中の先頭の方にある、`your-ssid` に WiFi の SSID を、`your-password` に WiFi のパスワードを設定して、`ファイル` > `名前を付けて保存` で適当な名前で保存します。

次に、メニューの `スケッチ` > `検証・コンパイル` を実行します。

![スケッチのコンパイル](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4899/7590af12-7306-7ebd-dda4-b6aae5dfa686.png)

コンパイルが完了したら、プログラムの書き込み…なのですが、そのままでは ESP-WROOM-02 には書き込めないので、「書き込みモード」に切り替えます。

![ESP-WROOM-02](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4899/3d716511-993c-68c8-6476-165fb87b2a8c.jpeg)

この秋月の開発ボードの場合は、`RST ボタンを押す` → `そのまま PGM ボタンを押す` → `RST ボタンを離す` → `PGM ボタンを離す` とやると、書き込み可能になるようです。(単に同時押しすればいいだけかも？)

そしてメニューから、`スケッチ` > `マイコンボードに書き込む` を選択します。

![スケッチの書き込み](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4899/29d230a4-383a-4d48-0928-6e34465fe251.png)


書き込みが完了したら、メニューから `ツール` > `シリアルモニタ` を開いておいて、ESP-WROOM-02 の `RST ボタン` を押すと、シリアルモニタに以下のように通信内容が表示されていれば、成功です。
(このプログラムは、5分おきに djxmmx.net:17 に接続して英語の名言を表示してくれます。)

![シリアル](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4899/ab34ea26-848d-40fa-4eda-a159033f9f21.png)

…さて、次は実際に何か Web API を叩いてみたりしましょうかね。

## Postscript

サンプルプログラムに出てくる `17 番ポート` って何？と思ったら、[「RFC865: Quote of the Day Protocol」](https://www.rfc-editor.org/rfc/rfc865.txt)なんていうのがあったのね… 

## References

* [esp8266/Arduino: ESP8266 core for Arduino](https://github.com/esp8266/Arduino) @ Github
* [Check! ESP-WROOM-02 開発ボードの始め方 - Qiita](https://qiita.com/dz_/items/27c2e19981e0bcddcf66)
* [Check! IoT ができるようになるまで ～ ESP-WROOM-02 にプログラムを焼く - Qiita](https://qiita.com/dz_/items/eb7c80d3caf4a5c84274)
* [ESP-WROOM-02でつくるWi-Fiラジコン その２ 開発環境の準備 | まっすーの技術ぶろぐ](https://develop.tmasu.com/2018/02/20/esp_wroom_02_02/)
* [こじ研 ESP-WROOM-02 を使った「トンペイーノ」の製作](https://www.ei.tohoku.ac.jp/xkozima/lab/espTutorial0.html)
* [開発準備と専用電源の製作・ESP-WROOM-02](http://marchan.e5.valueserver.jp/cabin/comp/jbox/arc201/doc20101.html)