Closed makki0205 closed 7 years ago
ATモードで通信出来ても、あまり意味が無いのでコードで確実に送受信して、コードを挙げてください。
#include <ESP8266WiFi.h>
const char* ssid = "MY SSID"; // SSID
const char* password = "MY PASSWORD"; // パスワード
const int LED = 16;
WiFiServer server(5000); // ポート設定
WiFiClient client;
void connectWiFi(const char* ssid ,const char* password) {
WiFi.disconnect();
WiFi.mode(WIFI_STA);
WiFi.begin(ssid ,password);
while (WiFi.status() != WL_CONNECTED) {
delay(100);
Serial.print(".");
}
// WiFi接続完了
Serial.println();
Serial.println("WiFi connected");
Serial.print("IP address: ");
Serial.println(WiFi.localIP()); // ESPのIPアドレスを表示
}
void setup() {
Serial.begin(115200);
pinMode(LED ,OUTPUT);
connectWiFi(ssid ,password);
server.begin();
client = server.available();
}
void loop() {
while ((WiFi.status() != WL_CONNECTED)) {
connectWiFi(ssid ,password);
}
while (!client) {
client = server.available();
}
while (!client.available()) { }
Serial.println("client connected");
String res = client.readStringUntil('\n');
Serial.println(res);
client.flush();
if (res.equals("ON")) {
digitalWrite(LED ,LOW);
}
else if (res.equals("OFF")) {
digitalWrite(LED ,HIGH);
}
else {
Serial.println("ERROR");
}
}
これはesp受信だけですよね? esp発信を実験してみてください
ESPでTCPSocket通信をする
PCからESPにTCPSocketを用いて文字列を送る