ESP8266 を搭載した Arduino Uno Rev3 を使用して、ネットワークに接続し、TCP ソケット経由でデータを送信しています。次のコードを使用して接続を確立しています
boolean connectWifi() {
String cmd = "AT+CWJAP=\"";
cmd += SSID;
cmd += "\",\"";
cmd += PASS;
cmd += "\"";
Serial.flush();
Serial.println(cmd);
delay(5000);
if(Serial.find("OK")) {
Serial.println("Connected");
return true;
} else {
Serial.println("Not connected");
return false;
}
}
しかし、arduino loop() 内でこの関数を呼び出すたびに、「接続されていません」と表示されます。
Arduinoで空のコードを実行しているシリアルモニターから直接接続しようとしましたが、このATコマンドは非常にうまく機能しました。誰かが何が間違っているかについて何か考えがありますか?
接続:
(arduino コードから直接コマンドを送信する必要がある場合に使用)
Arduino ------------ ESP8266 3.3v
---------------------- vcc
gnd ---------------------- gnd
3.3v ------------------- CH_PD
TX -- ---------------------- 受信
受信 ------------------------ 送信
(arduino シリアル モニターからコマンドを送信する必要がある場合に使用)
Arduino ------------ ESP8266 3.3v
-------------------- - vcc
gnd ---------------------- gnd
3.3v ------------------- CH_PD
TX - ----------------------- 送信
受信 ------------------------ 受信