HAL-RO-Developer / iot_plat_doc

2 stars 0 forks source link

ESPでSocket通信ができるように #6

Closed makki0205 closed 7 years ago

makki0205 commented 7 years ago

ESPでTCPSocket通信をする

PCからESPにTCPSocketを用いて文字列を送る

hiyanaka commented 7 years ago

esp_tcp_sockettest

makki0205 commented 7 years ago

ATモードで通信出来ても、あまり意味が無いのでコードで確実に送受信して、コードを挙げてください。

hiyanaka commented 7 years ago
#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");
  }
}
hiyanaka commented 7 years ago

esp_socket_test

makki0205 commented 7 years ago

これはesp受信だけですよね? esp発信を実験してみてください