XIAO ESP32C3を使ってみる④〜HelloServer
XIAO ESP32C3を使ってみる記事。
kana-yaz.hatenablog.jp
kana-yaz.hatenablog.jp
kana-yaz.hatenablog.jp
Webサーバーにしてみる
せっかくのESP32系ですので、まずはWebサーバーにしてみましょう。
ライブラリ標準の"Hello Server"をベースに、ステータスLEDのピン宣言部分だけ変えてみます。
const int led = 13;
int型になっているので
#define LED_PIN D10
#defineにかえておきました
コード
#include <WiFi.h> #include <WiFiClient.h> #include <WebServer.h> #include <ESPmDNS.h> #define LED_PIN D10 //サンプルから変更 const char* ssid = "ssid"; //SSIDを指定 const char* password = "password"; //キーを指定 WebServer server(80); void handleRoot() { digitalWrite(LED_PIN, 1); server.send(200, "text/plain", "hello from esp32!"); digitalWrite(LED_PIN, 0); } void handleNotFound() { digitalWrite(LED_PIN, 1); String message = "File Not Found\n\n"; message += "URI: "; message += server.uri(); message += "\nMethod: "; message += (server.method() == HTTP_GET) ? "GET" : "POST"; message += "\nArguments: "; message += server.args(); message += "\n"; for (uint8_t i = 0; i < server.args(); i++) { message += " " + server.argName(i) + ": " + server.arg(i) + "\n"; } server.send(404, "text/plain", message); digitalWrite(LED_PIN, 0); } void setup(void) { pinMode(LED_PIN, OUTPUT); digitalWrite(LED_PIN, 0); Serial.begin(115200); WiFi.mode(WIFI_STA); WiFi.begin(ssid, password); Serial.println(""); // Wait for connection while (WiFi.status() != WL_CONNECTED) { delay(500); Serial.print("."); } Serial.println(""); Serial.print("Connected to "); Serial.println(ssid); Serial.print("IP address: "); Serial.println(WiFi.localIP()); if (MDNS.begin("esp32")) { Serial.println("MDNS responder started"); } server.on("/", handleRoot); server.on("/inline", []() { server.send(200, "text/plain", "this works as well"); }); server.onNotFound(handleNotFound); server.begin(); Serial.println("HTTP server started"); } void loop(void) { server.handleClient(); delay(2);//allow the cpu to switch to other tasks }
結果
シリアルモニタに出力されたIPを叩いて、表示されたらOkayですね