Code:
boolean Runing;
void setup() {
// put your setup code here, to run once:
Serial.begin( 115200 );
delay(2000);
Serial.println("AT+RST");
delay(6000);
Serial.println("AT+CWMODE=3");
delay(2000);
Serial.println("AT+CWJAP=\"test_AP\",\"0123456789\"");
delay(2000);
Serial.println("AT+CIPMUX=1");
delay(2000);
Serial.println("AT+CIPSERVER=1,1336");
delay(2000);
Runing=false;
}
void loop() {
// put your main code here, to run repeatedly:
if(Runing==false)
{
Runing=true;
String s = "";
while (Serial.available()) {
char c = (char) Serial.read();
if(c!='\n'){
s += c;
}
delay(50); // 沒有延遲的話 UART 串口速度會跟不上Arduino的速度,會導致資料不完整
}
if(s!="")
{
if(s.substring(0,4)=="Link")//VB開啟與模組通訊
{
pinMode(2,OUTPUT);
digitalWrite(2,HIGH);
pinMode(3,OUTPUT);
digitalWrite(3,LOW);
Serial.println("AT+CIPSEND=0,32");
delay(1000);
Serial.println("ESP8266 wifi module response !");
}
if(s.substring(0,6)=="Unlink")//VB關閉與模組通訊
{
pinMode(3,OUTPUT);
digitalWrite(3,HIGH);
pinMode(2,OUTPUT);
digitalWrite(2,LOW);
}
if(s.substring(0,2)=="OK")//前兩碼用於定義控制板ID
{
pinMode(4,OUTPUT);
digitalWrite(4,HIGH);
delay(1000);
digitalWrite(4,LOW);
}
}
Runing=false;
}
}
Statistics: Posted by Cooleitar — Mon Jun 15, 2015 10:07 pm