[ESP-WROOM-02]ブラウザにHelloWorldを表示させる


はじめに

ADコンバータ+土壌湿度センサー+Rubyで土壌の水分を計る」というエントリでRaspberryPiを使って、盆栽の水分を測ろうと試みました

ただ、RaspberryPiだと屋外で使うには難しいので、Arduinoマイコンとしても使えるwifiモジュール「ESP-WROOM-02」を使ってみようと思います

まず、ESP-WROOM-02にスケッチ(プログラム)を書き込んで、ブラウザにHelloWorldを表示させてみたいと思います

電子部品

用意した開発ボードより、値段が安いボードも売っていますが、ハンダ付けをする必要があります
初心者がハンダ付けをする、そのためのハンダごてを用意するということを考えて、ハンダ付けが不要なこちらのボードを購入しました

*開発ボードの大きさは十円玉2枚くらい

参考

HelloWorldを表示させる

ArduinoIDEをインストール

arduino.ccからIDEをダウンロードして、インストールする

*寄付する人は金額を選んで、ダウンロードのみの人は右下の「JUST DOWNLOAD」からダウンロードします
*zipファイルを解答すると、Arduino.appファイルがあるので、/Applicationsにでも移動させておきます

ArduinoIDEにESP-WROOM-02(ESP8266)用のボードマネージャーをインストールする

IDEを立ち上げ、メニューのArduino>Preferencesを選択して、設定画面を表示する
追加のボードマネージャのURLに

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

を入力する

次にメニューのツール>マイコンボード>ボードマネージャを選択して、ボードマネージャ画面を表示する
検索フィルタに「ESP」と入力して、ESP8266のボードマネージャをインストールする

ボードマネージャインストール後、IDEを再起動して、メニューのツール>マイコンボード>Generic ESP8266 Moduleを選択する

ESP-WROOM-02の設定

IDEのツールからモジュールの設定をする
設定は「Arduino IDEでESP-WROOM-02のボード設定について」を参考にした

通信テスト

PCとESP-WROOM-02をUSBで接続して、Device Plus 第33回を参考にIDEでATコマンドを使って通信のテストをする

通信のテストで使う、シリアルモニタはメニューのツール>シリアルモニタか、IDEの右上にある虫眼鏡ボタンを押して表示する

wifi接続を設定する場合は
1. AT+CWMODE=1と入力して、station(Wifi子機)モードに設定する
2. AT+CWJAP="SSID","PASSWORD"と入力して、wifiに接続する
3. AT+CIFSRと入力して、ESP-WROOM-02のIPアドレスを確認する

スケッチ(プログラム)をESP-WROOM-02に書き込む

*今回はあらかじめ用意されているスケッチをESP-WROOM-02に書き込みます

メニューのファイル>スケッチの例>ESP8266WebServer>HelloServerを選択して、サンプルスケッチを表示する

6-7行目を自分のwifi環境に合わせる
15行目の"hello from esp8266!"を”Hello World”に書き換える(あまり意味はない)

arduino
#include <ESP8266WiFi.h>
#include <WiFiClient.h>
#include <ESP8266WebServer.h>
#include <ESP8266mDNS.h>

const char* ssid = "自分のwifi環境のSSID";
const char* password = "自分のwifi環境のパスワード";

ESP8266WebServer server(80);

const int led = 13;

void handleRoot() {
  digitalWrite(led, 1);
  server.send(200, "text/plain", "Hello World");
  digitalWrite(led, 0);
}

スケッチを書き込むため、PCとESP-WROOM-02をUSBで接続して、開発ボードの動作モード切替スイッチ(USBポートを下にしたとき右側のスイッチ)を押し続け、その間にリセットスイッチ(左側のスイッチ)を一度押して、その後、動作モード切替スイッチを押し続けていたのを離す

その後、IDEの左上の右矢印ボタンを押して、ESP-WROOM-02にスケッチを書き込む

*IDE下部のコンソールが画像のようになれば、書き込みが成功しています

ブラウザにIPアドレスを入力してHelloWorldを表示する

通信テストで確認したESP-WROOM-02のIPアドレスをブラウザのアドレスバーに入力して、HelloWorldを表示する

まとめ

IDEを使うことで、Arduinoのスケッチが初めてでも、いろいろできそうな気がします
最終的には、乾電池とセンサーをつなげて、ワイヤレスで盆栽の水分を測りたいと思います