정보나눔

오픈소스하드웨어 프로젝트에 대한 다양한 정보를 나누는 공간입니다.

아두이노 와이파이및 서버php 데이터전송 질문
디릭 | 2018-10-24

  
#include <string.h>   
#include <SoftwareSerial.h>  
     
#define SSID "와이파이아이디"  //
#define PASS "와이파이 비밀번호"   //
#define DST_IP "127.0.0.1"   // 
#define MAGNET 3
SoftwareSerial dbgSerial(6, 7); // RX, TX

void setup()
{
      // Setup Serial connection
      Serial.begin(9600);
      pinMode(MAGNET,INPUT);
      //ESP8266
      /////////////////////////////////////////////////////////////////////////  
      Serial.setTimeout(5000);  
      dbgSerial.begin(9600);   
      Serial.println("ESP8266 connect");  
       boolean connected=false;  
       for(int i=0;i<10;i++)  
       {  
           if(connectWiFi())  
           {  
             connected = true;  
             break;  
           }  
       } 
        
       dbgSerial.println("AT+CIPMUX=0");  
      ///////////////////////////////////////////////////////////////////////////        
      delay(5000);
      
     //////////////////////////////////////////////////////////////////////////////////////////////
}
 
void loop()
{
      String onoff="off";
      Serial.print("Requesting magentics...");  
      if (digitalRead(MAGNET) == LOW) {
        onoff = "on";
        Serial.println("on");
      }
      else
      {
        onoff = "off";
        Serial.println("off");
      }
      Serial.print("magnetic:"); 
      Serial.println(onoff); 
      String cmd = "AT+CIPSTART=\"TCP\",\"";  
      cmd += DST_IP;  
      cmd += "\",80";  
      Serial.println(cmd);  
      dbgSerial.println(cmd);  
      if(dbgSerial.find("Error"))  
      {  
        Serial.println( "TCP connect error" );  
        return;  
      }    
     //////php코드 호출  
     cmd = "GET /Onoff.php?num="+onoff+"\r\n";
     dbgSerial.print("AT+CIPSEND=");  
     dbgSerial.println(cmd.length());    
     Serial.println(cmd);  
       
     ////php호출에대한 응답  
     if(dbgSerial.find(">"))  
      {  
       Serial.print(">");  
      }else  
      {  
        dbgSerial.println("AT+CIPCLOSE");   //TCP 연결종료 커맨드  
        Serial.println("connect timeout");  
        delay(1000);  
        return;  
      }  
       
       dbgSerial.print(cmd);  
       delay(2000);  
       //Serial.find("+IPD");  
       while (Serial.available())  
       {  
         char c = Serial.read();  
         dbgSerial.write(c);  
         if(c=='\r') dbgSerial.print('\n');  
       }  
       Serial.println("===="); 
        // Wait one second before repeating :)
       delay (2000);
}
  
boolean connectWiFi()  
{  
       //dbgSerial.println("AT+CWMODE=1");  
         
       String cmd="AT+CWJAP=\"";  
       cmd+=SSID;  
       cmd+="\",\"";  
       cmd+=PASS;  
       cmd+="\"";  
       dbgSerial.println(cmd);  
       Serial.println(cmd);  
       delay(3000);  
        
       if(dbgSerial.find("OK"))  
       {  
         Serial.println("OK, Connected to WiFi.");  
         return true;  
       }  
       else  
       {  
         Serial.println("Can not connect to the WiFi.");  
         return false;  
       }  
 } 

 

코드는 이렇고 php에서 onoff 값을 $onoff=$GET_["onoff"] 이런식으로 값을받아서 보여주려고하는데요

해당 php에서 값을 받지를 못합니다. 디비 넣는 것 까지는 필요없고 php에만 띄워주고싶은데 안되네요.

cafe 24에서 호스팅 받고있는데 서버ip 가 잘못된건지 ip확인은 어디서 하는지 아시는분 있으시면 답글부탁드릴게요 ㅠ  

이전글   |    오렌지보드 wifi 타임아웃 질문입니다. 2018-10-24
다음글   |    아두이노 코드 조언 부탁드립니다. 2018-10-24