参考
いろいろ、注意
- 過去ログを見よ!!
- アンテナ関係を修正0414
- 3.2.0
- なぜかマイコンを抜いて、ルーターリセット、マイコンさすと、うまく、いつた
- 書き換え
const char *ssid = "ご自宅のSSID";
const char *password = "ご自宅のパスワード";
結果
http://esp32.local/
プログラム
//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