1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

XIAO ESP32、WebServerでリレーのオン、オフ。

Last updated at Posted at 2025-04-13

参考

いろいろ、注意

  • 過去ログを見よ!!
  • アンテナ関係を修正0414
  • 3.2.0
  • なぜかマイコンを抜いて、ルーターリセット、マイコンさすと、うまく、いつた
  • 書き換え

const char *ssid = "ご自宅のSSID";
const char *password = "ご自宅のパスワード";

結果

o_coq870.jpg


http://esp32.local/

o_coq868.jpg

image_original (92).jpg

o_coq869.jpg

image_original (93).jpg

プログラム




//webserver_test3_XAIO_ESP32C6_1


//インクルド
#include <WiFi.h>
#include <NetworkClient.h>
#include <WebServer.h>
#include <ESPmDNS.h>


//定義
const char *ssid = "ご自宅のSSID";
const char *password = "ご自宅のパスワード";

#define OUT_PIN D9       // 外部出力端子番号

//サービスポート番号の登録
WebServer server(80);

  char html[] = {
   
    "                                   "
    "<HTML lang=\"jp\">                 "
    "                                   "
    "<HEAD>                             "
    "                                   "
    "  <meta charset=\"UTF-8\">         "
    "                                   "
    "  <TITLE>ようこそ</TITLE>           "
    "                                   "
    "</HEAD>                            "
    "                                   "
    "<BODY>                             "
    "                                   "
    "  <H1>                             "
    "  <center>                         "
    "  REMOTE-SWITCH                    "
    "  </center>                        "
    "  </H1>                            "
    "                                   "
    "  <center>                         "
    "  <div>                            "
    "                                   "
    "  <button onclick=                 "
    "  \"location.href='/get/btn_on'\"  "
    "  >                                "
    "  ON                               "
    "  </button>                        "
    "                                   "
    "  <button onclick=                 "
    "  \"location.href='/get/btn_off'\" "
    "  >                                "
    "  OFF                              "
    "  </button>                        "
    "                                   "
    "  </div>                           "
    "  </center>                        "
    "                                   "
    "</BODY>                            "
    "                                   "
    "</HTML>                            "
    "                                   "
    "                                   "
  };


//ホームページ
void handleRoot() {
  server.send(200, "text/html", html);
}//handleRoot


//ホームページがない場合
void handleNotFound() {
  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);
}//handleNotFound


// ブラウザONボタン処理
void btnOn() {
  digitalWrite(LED_BUILTIN, LOW); // 本体LED点灯
  digitalWrite(OUT_PIN, HIGH);      // 外部出力ON
  server.send(200, "text/html", html);  //レスポンス200を返しhtml送信
}


// ブラウザOFFボタン処理
void btnOff() {
  digitalWrite(LED_BUILTIN, HIGH);  // 本体LED消灯
  digitalWrite(OUT_PIN, LOW);       // 外部出力OFF
  server.send(200, "text/html", html);  //レスポンス200を返しhtml送信
}


//初期化
void setup(void) {

  //アンテナの設定
  pinMode(WIFI_ENABLE, OUTPUT); // pinMode(3, OUTPUT);
  digitalWrite(WIFI_ENABLE, LOW); // digitalWrite(3, LOW); // Activate RF switch control
  delay(100);
  pinMode(WIFI_ANT_CONFIG, OUTPUT); // pinMode(14, OUTPUT);
  digitalWrite(WIFI_ANT_CONFIG, LOW); // digitalWrite(14, LOW); // Use IN antenna

  //GPIOポートの初期化
  pinMode(LED_BUILTIN, OUTPUT);
  digitalWrite(LED_BUILTIN, HIGH);
  pinMode(OUT_PIN, OUTPUT);
  digitalWrite(OUT_PIN, LOW);

  //WiFiの初期化
  WiFi.mode(WIFI_STA);
  WiFi.begin(ssid, password);
  delay(3000);//決め打ちなので、おかしかったら調整してね! wifiの待ち0.5*6

  //ローカルドメインサービス
  MDNS.begin("esp32");
  delay(150);

  //割り込みの登録 ホームページ
  server.on("/", handleRoot);

  //割り込みの登録 ホームページ以外 404
  server.onNotFound(handleNotFound);

  server.on("/get/btn_on", btnOn);    //ボタンオン受信処理
  server.on("/get/btn_off", btnOff);  //ボタンオフ受信処理

  //Webサーバの開始
  server.begin();

}//setup


//メインループ
void loop(void) {
  
  server.handleClient();
  delay(2);  //allow the cpu to switch to other tasks
  
}//loop


1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?