//ES-01 WIFI RELAY 模块测试程序
#define PIN_RELAY 0 //模块继电器的控制端口为0
#include <ESP8266WiFi.h>
//必须修改:填写你的WIFI帐号密码
const char* ssid = "PDCN_ZYB";
const char* password = "qq5521833";
//指定要连接到的server的ip(可以使用tcpid调试工具使用pc端ip)
const char* host = "192.168.2.66";
const int port = 666;//指定连接端口
const char* id = "ch616";
int tick = 0;
WiFiClient client;
void setup() {
Serial.begin(115200);
pinMode(PIN_RELAY, OUTPUT);
delay(2000);//添加延时让串口准备好后输出数据,不添加延时下面的信息不会被输出
Serial.println("---set router wifi setttings as below---");
Serial.print("ssid:");
Serial.println(ssid);
Serial.print("password:");
Serial.println(password);
//连接WIFI
WiFi.begin(ssid, password);
//设置读取socket数据时等待时间(默认值为1000ms)
client.setTimeout(2000);
//等待WIFI连接成功
while (WiFi.status() != WL_CONNECTED) {
Serial.println("WiFi connecting...");
delay(2000);
}
Serial.println("WiFi connected!.");
}
void loop() {
if (client.connect(host, port))
{
//串口输出信息
Serial.println("host connected!");
Serial.print("id:");
Serial.println(id);
Serial.println("ES-01 wifi module -- desinged by zybpub");
Serial.print("server ip:192.168.2.66");
Serial.println("port:666");
Serial.print("module ip:");
Serial.println( WiFi.localIP());
//tcp输出信息
client.print("id:");
client.println(id);
client.println("ES-01 wifi module -- desinged by zybpub");
client.print("module ip:");
client.println( WiFi.localIP());
client.print("server ip:192.168.2.66 ");
client.println("port:666");
}
else
{
// TCP连接中...
Serial.println("host connecting...");
delay(500);
}
while (client.connected()) {
//接收到TCP数据
if (client.available())
{
String line = client.readStringUntil('\n');
if (line == "1\r") {
Serial.println("command:open led.");
digitalWrite(PIN_RELAY, LOW);
client.print("OK");
}
else if (line == "0\r") {
Serial.println("command:close led.");
digitalWrite(PIN_RELAY, HIGH);
client.print("OK");
}
}
else {
//若没收到TCP数据,每隔一段时间打印并发送tick值
Serial.print("heart tick:");
Serial.println(tick);
// client.print(tick);
// TCP发送20-29之间随机数
//client.print(20+random(0,10));
tick++;
delay(5000);
}
}
}