Arduino แแฏแแบแแฑแซแบแแฝแแบ Wi-Fi module แแญแฏแแแบแแแบแแผแฎแธแแฑแฌแแบแ แแญแฏแแญแฏแแบแธแแฏแแบแธแแพแแทแบ Arduino แกแแผแฌแธ Wi-Fi แแแบแแฝแแบแแพแฏแแญแฏแแปแญแแบแแแบแแแบ แแญแฏแแญแฏแแบแธแแบแแฏแแบแธแแฑแซแบแแฝแแบ แคแกแแบแแบแแญแฏ แแแบแแแบแแผแฎแธ แแแฏแแบแแพแญแแบแแผแแบแธแแญแฏ แกแแญแกแแพแแบแแผแฏแแแบ แแญแฏแแญแฏแแบแธแแบแแฏแแบแธแแฑแซแบแแพแญ แแแฏแแบ แแ แแฏแแญแฏ แแพแญแแบแแซแ Arduino แแแบ แกแแญแฏแแพแญแแฑแฌ แแฏแแบแแฑแฌแแบแแปแแบแแญแฏ แแฏแแบแแฑแฌแแบแแแบ แแฝแแทแบแแผแฏแแฑแธแแฑแฌ app แแผแ
แบแแแบแ
- แแแฏแแบแแ
แบแแฏแแแบแธ- แแ
(แแแฏแแบแแ
แบแแฏแ
แฎแแญแฏ แแพแญแแบแแญแฏแแบแแฑแฌแกแแซแแฝแแบ Arduino แแญแฏแท Data แแญแฏแทแแแบ)
แแแฏแแบ 1- '0' ( hexadecimal 30) แแแฏแแบ 2- '1' ( hexadecimal 31)
แแแฏแแบ 3- '2' ( hexadecimal 32) แแแฏแแบ 4: '3' ( hexadecimal 33)
แแแฏแแบ 5- '4' ( hexadecimal 34) แแแฏแแบ 6: '5' ( hexadecimal 35)
แแแฏแแบ 7- '6' ( hexadecimal 36) แแแฏแแบ 8: '7' ( hexadecimal 37)
แแแฏแแบ 9- '8' ( hexadecimal 38) แแแฏแแบ 10: '9' (hexadecimal 39)
(แฅแแแฌ Arduino แแพแญ แแแญแฏแแแแบ)
Arduino แ แแ
แบแแปแ
แบแแแบ แกแแฑแซแแบ 5 แแญแฏแท แแปแญแแบแแแบแแฌแธแแฑแฌ LED แแแฏแแบ 1 แแญแฏ แแ
แบแแผแญแแบ แแพแญแแบแแญแฏแแบแแฑแฌแกแแซแแฝแแบ แแฝแแทแบแแผแฎแธ แแแบแแถ แแพแญแแบแแญแฏแแบแแฑแฌแกแแซ แแญแแบแแฝแฌแธแแซแแแบแ (แแฏแแบแแฑแฌแแบแแปแแบแแญแฏ แแแฏแแบแแพแญแแบแแซ)
///// Wi-Fi แแพแแ
แบแแแทแบ LED แแฎแธแแปแฌแธแแญแฏ แแญแแบแธแแปแฏแแบแแผแแบแธแ
SoftwareSerial.h แแญแฏ แแแแกแแญแฏแแบแธแแฝแแบ แแแทแบแแฝแแบแธแแซแ
SoftwareSerial esp8266(2,3);
แแแทแบแแฝแแบแธแแพแฏ แแปแแบแแผแแบแแผแแบแธ()
{
แกแแพแแบแ
แแบ (9600);
esp8266.begin(9600); // baud แแพแฏแแบแธ esp
pinMode(5แ OUTPUT);
digitalWrite(แ LOW);
sendData("AT+RST\r\n",2000); // module แแญแฏแแผแแบแแแบแแแบแแพแแบแแซแ
sendData("AT+CWMODE=2\r\n",1000); // AP (access point) แกแแผแ
แบ แแแบแแพแแบแแแบ
sendData("AT+CIFSR\r\n",1000); // ip แแญแแบแ
แฌแแญแฏ แแแฐแแซแ
sendData("AT+CIPMUX=1\r\n",1000); // แแปแญแแบแแแบแแพแฏแแปแฌแธแ
แฝแฌแแญแฏ แแแบแแพแแบแแฌแธแแแบแ
sendData("AT+CIPSERVER=1,80\r\n",1000); // server แแฝแแบ port 80
}
void loop()
{
if(esp8266.available()) // แกแแแบแ esp แแแบ แแแบแแฑแทแแปแบ แแฑแธแแญแฏแทแแฑแแซแแแบแ
{
if(esp8266.find("+IPD,"))
{
แแพแฑแฌแแทแบแแพแฑแธ(200); // แกแแพแแบแ
แแบ แกแแปแแบแกแแแบแกแฌแธแแฏแถแธแแญแฏ แแแบแแซแ
int connectionId = esp8266.read();
esp8266.find("?");
int แแถแแซแแบ = esp8266.read();
if(แแถแแซแแบ==0x30){
if(digitalRead(5)==HIGH) digitalWrite(5แ LOW);
แกแแผแฌแธ digitalWrite(5แ HIGH);
}
// แกแแญแแบแกแแญแแทแบ
แ
แฌแแแบแธ closeCommand = "AT+CIPCLOSE=";
closeCommand += connectionId; // แแแบแแฝแแบแแพแฏ ID แแญแฏ แแฐแธแแฝแฒแแซแ
closeCommand += "\r\n";
sendData(closeCommandแ1000); // แกแแฎแธแแแบแแปแญแแบแแแบแแซแ
}
}
}
แ
แฌแแแบแธ sendData(String commandแ const int timeout)
{
แ
แฌแแแบแธแแฏแถแทแแผแแบแแพแฏ = "";
esp8266.print(แกแแญแแทแบ); // แแแบแแแบแ
แฌแแฏแถแธแแญแฏ esp8266 แแญแฏแท แแญแฏแทแแซแ
long int time = millis();
while((แกแแปแญแแบ+แกแแปแญแแบแแฝแแบ) > millis())
{
while(esp8266.available())
{
// แแแบแแถแแแพแญแแฌแธแแฑแฌแแฑแแฌแแญแฏ esp แแฝแแบแแพแญแแซแ แแถแแซแแบแ
แแบแกแแญแฏแแบแธแแฑแธแแญแฏแทแแซแ
char c = esp8266.read(); // แแฑแฌแแบแแฌแแบแแฑแฌแแบแแญแฏแแแบแแซแ
แแฏแถแทแแผแแบแแพแฏ+=c;
}
}
แแฏแแทแบแแผแแบแแพแฏ;
}
แกแแบแแญแแบแแฏแแบแแฒแทแแแทแบแแแบ
แแแแ แแฎ แ