درود بر اساتید ، یه برد آردوینو دارم که چند تا سنسور مختلف بهش وصله و البته ماژول esp8266 رو هم تونستم توسط کد زیر بهش وصل کنم و یک ال ای دی رو روشن و خاموش کنم توسط سوکت، الان کاری که میخام بکنم اینه که اطلاعات سوکت رو بتونم از طریق این ماژول ارسال کنم ازدوستان اگه کسی می تونه راهنمایی کنه ممنون میشم
میخوام مثلا وقتی که حرف D رو فرستادم برای آردوینو ، اطلاعات سه یا چهار سنسور را برام بفرسته
میخوام مثلا وقتی که حرف D رو فرستادم برای آردوینو ، اطلاعات سه یا چهار سنسور را برام بفرسته
#include <SoftwareSerial.h>
SoftwareSerial ESP8266(10, 11);//10==>TX , 11==>RX
String mychar;//for store the esp8266 serial input
//String WifiName = "wifi name"; //for join to wifi modem
//String WifiPass = "wifi password";
/************************************************** **************/
/* INIT */
/************************************************** **************/
void setup()
{
Serial.begin(115200);
ESP8266.begin(115200);
pinMode(13, OUTPUT);
initESP8266();
}
/************************************************** **************/
/* LOOP */
/************************************************** **************/
void loop()
{
while(ESP8266.available())
{
mychar = ESP8266.readString();
if(mychar.length()>1){
Serial.print(mychar);
int colonPosition = mychar.indexOf(':');
switch(mychar.charAt(colonPosition+1)){
case 'a' :
Serial.println('a');
digitalWrite(13, HIGH);
break;
case 'b' :
Serial.println('b');
digitalWrite(13, LOW);
break;
case 'c' :
ESP8266.println("AT+CIPCLOSE=0");
break;
default:
break;
}
ESP8266.flush();
mychar="";
}
}
}
/************************************************** **************/
/* SETUP THE ESP8266 */
/************************************************** **************/
void initESP8266()
{
Serial.println("********************************** ************************");
Serial.println("**************** SETTING UP WIFI MODULE ***************");
Serial.println("********************************** ************************");
SendToESP8266("AT+RST");
WaitForESP8266(2000);
Serial.println("********************************** ************************");
// SendToESP8266("AT+CWMODE=3");
// WaitForESP8266(5000);
// Serial.println("********************************** ************************");
// SendToESP8266("AT+CWJAP=\""+ WifiName + "\",\"" + WifiPass +"\"");
// WaitForESP8266(10000);
// Serial.println("********************************** ************************");
SendToESP8266("AT+CIFSR");//for sow the ip address thedefault is 192.168.4.1
WaitForESP8266(1000);
Serial.println("********************************** ************************");
SendToESP8266("AT+CIPMUX=1"); //enable multiple connection
WaitForESP8266(1000);
Serial.println("********************************** ************************");
SendToESP8266("AT+CIPSERVER=1,9999"); //open port 9999
WaitForESP8266(1000);
Serial.println("********************************** ************************");
Serial.println("***************** INITIALISATION COMPELETE ****************");
Serial.println("********************************** ************************");
Serial.println("");
}
/************************************************** **************/
/* SEND AT COMMAND TO ESP8266 */
/************************************************** **************/
void SendToESP8266(String commande)
{
ESP8266.println(commande);
}
/************************************************** **************/
/* WAIT FOR RESPONSE TIME ESP8266 */
/************************************************** **************/
void WaitForESP8266(const int timeout)
{
String reponse = "";
long int time = millis();
while( (time+timeout) > millis())
{
while(ESP8266.available())
{
char c = ESP8266.read();
reponse+=c;
}
}
Serial.print(reponse);
}
SoftwareSerial ESP8266(10, 11);//10==>TX , 11==>RX
String mychar;//for store the esp8266 serial input
//String WifiName = "wifi name"; //for join to wifi modem
//String WifiPass = "wifi password";
/************************************************** **************/
/* INIT */
/************************************************** **************/
void setup()
{
Serial.begin(115200);
ESP8266.begin(115200);
pinMode(13, OUTPUT);
initESP8266();
}
/************************************************** **************/
/* LOOP */
/************************************************** **************/
void loop()
{
while(ESP8266.available())
{
mychar = ESP8266.readString();
if(mychar.length()>1){
Serial.print(mychar);
int colonPosition = mychar.indexOf(':');
switch(mychar.charAt(colonPosition+1)){
case 'a' :
Serial.println('a');
digitalWrite(13, HIGH);
break;
case 'b' :
Serial.println('b');
digitalWrite(13, LOW);
break;
case 'c' :
ESP8266.println("AT+CIPCLOSE=0");
break;
default:
break;
}
ESP8266.flush();
mychar="";
}
}
}
/************************************************** **************/
/* SETUP THE ESP8266 */
/************************************************** **************/
void initESP8266()
{
Serial.println("********************************** ************************");
Serial.println("**************** SETTING UP WIFI MODULE ***************");
Serial.println("********************************** ************************");
SendToESP8266("AT+RST");
WaitForESP8266(2000);
Serial.println("********************************** ************************");
// SendToESP8266("AT+CWMODE=3");
// WaitForESP8266(5000);
// Serial.println("********************************** ************************");
// SendToESP8266("AT+CWJAP=\""+ WifiName + "\",\"" + WifiPass +"\"");
// WaitForESP8266(10000);
// Serial.println("********************************** ************************");
SendToESP8266("AT+CIFSR");//for sow the ip address thedefault is 192.168.4.1
WaitForESP8266(1000);
Serial.println("********************************** ************************");
SendToESP8266("AT+CIPMUX=1"); //enable multiple connection
WaitForESP8266(1000);
Serial.println("********************************** ************************");
SendToESP8266("AT+CIPSERVER=1,9999"); //open port 9999
WaitForESP8266(1000);
Serial.println("********************************** ************************");
Serial.println("***************** INITIALISATION COMPELETE ****************");
Serial.println("********************************** ************************");
Serial.println("");
}
/************************************************** **************/
/* SEND AT COMMAND TO ESP8266 */
/************************************************** **************/
void SendToESP8266(String commande)
{
ESP8266.println(commande);
}
/************************************************** **************/
/* WAIT FOR RESPONSE TIME ESP8266 */
/************************************************** **************/
void WaitForESP8266(const int timeout)
{
String reponse = "";
long int time = millis();
while( (time+timeout) > millis())
{
while(ESP8266.available())
{
char c = ESP8266.read();
reponse+=c;
}
}
Serial.print(reponse);
}
دیدگاه