【ESP-WROOM-02】【電子工作】Webサーバとして動作させる

ESP-WROOM-02をWebサーバとして動作させます。

 1.準備するもの

以下と一緒。

2.HTTPサーバとしての設定(ソース変更)

HTTPサーバとして動作させる場合は、ArduinoIDEでスケッチ例を利用するのが一番手っ取り早い。

以下のサイトのとおりに準備しておけば、スケッチ例にWebServerのソース例が出てくる。

技適済み格安高性能Wi-FiモジュールESP8266をArduinoIDEを使ってIoT開発する為の環境準備を10分でやる方法 - Qiita

ファイル->スケッチの例->ESP8266WebServer->AdvancedWebServer

f:id:engetu21:20151121225258j:plain

 

SSID、PASSWORDは各環境に合わせて変更。

また、固定ローカルIPを使いたいので、以下の設定を追加する。

#include <ESP8266WiFi.h>

(略)

const char *ssid = "**********";
const char *password = "**********";

//////////////// ip-address ////////////////
IPAddress ip(192, 168, XXX, XXX);

IPAddress gateway(192, 168, XXX, XXX);

IPAddress subnet(255, 255, 255, 0);
//////////////////////////////////////////

(略)

void setup ( void ) {

 WiFi.config( ip, gateway, subnet );

IPアドレスの設定はWiFi.configを使う。

注意すべきは、ArduinoWiFiシールドを使った場合と設定方法が少し違うということ。

WiFiシールドを使った場合、#include <WiFi.h>ですが、ESP-WROOM-02では#include <ESP8266WiFi.h>となる。

 

WiFi.hのソースコード例はArduino - WiFiConfigの通りで、Syntaxの記載箇所の通り、

WiFi.config(ip, dns, gateway, subnet);

とすることでIPアドレスの設定は可能。

しかし、ESP8266WiFi.hの場合は、esp8266-Arduino/ESP8266WiFi.h at master · sandeepmistry/esp8266-Arduino · GitHubで記載されている通り、

config(IPAddress local_ip, IPAddress gateway, IPAddress subnet);

の形で設定してあげないといけない。

※引数に注意。

 

3.HTTPサーバとして動作させる

そんなわけで、固定ローカルIPも設定したうえでコンパイルをし、書き込みモード(UART Download Mode)でスケッチ書き込みをする。

その後、実行モード(Flash Boot Mode)に変更してアクセスしてみる。サーバとして正常に動作していればシリアルモニタには以下のように表示される。

f:id:engetu21:20151121233108j:plain

 

ブラウザで表示すると以下の様に表示される。

f:id:engetu21:20151121235420j:plain