2025年11月19日水曜日

new Blynkはesp01(at mode)はつかえない!uno r3 + esp01-atはチャット君に聞いた

 sunfounderのチュートリアルはblynk legacyでないとあかん ふるいのをインストは危険

そうなので断念 チャット君に聞いて次のコードを得た

以下のスケッチは、Arduino UnoからESP-01へATコマンドを送信し、簡単なWebサーバーを立てるための基本的な枠組みです。YOUR_SSIDYOUR_PASSWORDを実際のWi-Fi情報に置き換えてください。
とのことだったが、AT-THINKER_E71E5Cというアクセスポイントが出てきてpwdなしだった
cpp
#include <SoftwareSerial.h>

// ESP-01のRX/TXピンをArduinoの任意のデジタルピンに接続
// ここでは D2(RX) と D3(TX) を使用する例
SoftwareSerial espSerial(2, 3); // RX, TX

void setup() {
  Serial.begin(9600);
  espSerial.begin(115200); // ESP-01のデフォルトボーレートに合わせて調整 (115200 bpsが多い)

  Serial.println("Starting ESP-01 Web Server...");

  // ATコマンドでESP-01を設定
  sendData("AT+RST\r\n", 2000); // リセット
  sendData("AT+CWMODE=2\r\n", 1000); // APモードに設定
  sendData("AT+CIFSR\r\n", 1000); // IPアドレスを取得
  sendData("AT+CIPMUX=1\r\n", 1000); // 多重接続モード有効化
  sendData("AT+CIPSERVER=1,80\r\n", 1000); // TCPサーバー開始 (ポート80)
}

void loop() {
  if (espSerial.available()) {
    if (espSerial.find("+IPD,")) { // クライアントからのデータ受信を検出
      delay(100);
      // 受信データを読み込み、HTTPレスポンスを返す処理を実装
      String data = "<h1>Hello from Arduino Uno!</h1>";
      String cmd = "AT+CIPSEND=0," + String(data.length()) + "\r\n";
      sendData(cmd, 1000);
      sendData(data, 1000);
      sendData("AT+CIPCLOSE=0\r\n", 1000); // 接続を閉じる
    }
  }
}

String sendData(String command, const int timeout) {
  String response = "";
  espSerial.print(command);
  long time = millis();
  while ((time + timeout) > millis()) {
    while (espSerial.available()) {
      char c = espSerial.read();
      response += c;
    }
  }
  Serial.print(response);
  return response;
}

0 件のコメント:

コメントを投稿