정보나눔

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

NODEMCU를 통한 HTTP 통신 및 온습도 값 MYSQL 저장
열심히히 | 2020-05-20

질문드립니다.

 

NODEMCU를 통해서 온습도값을 측정 후 PHP 파일을 만들어 DB와 연동을 시켜준 후 주소창에 도메인/a.php?/tem=??&hum=??이런 식으로 값을 임의로 정해주었을때는 값이 저장이 되는데 nodemcu 코딩을 통해서 값을 저장하려고 할때 자꾸 연결이 안됐다고 하는데 혹시 어떤 부분에서 문제가 있는지 봐주실 수 있는분이 계신가요 작성 코드는 아래와 같습니다. 어떠한 곳에서 문제가 있는건지 알고 계신분들 답변 좀 부탁드립니다

#include<ESP8266WiFi.h>
#include<WiFiClient.h>
#include<ESP8266WebServer.h>
#include<ESP8266HTTPClient.h>
#include <DHT.h>
#include <DHT_U.h>
#define DHTPIN 4        // SDA 핀의 설정
#define DHTTYPE DHT22   // DHT22 (AM2302) 센서종류 설정
int Led=2;

const char*ssid="iptime";
const char*password="hyu945731";
String host="192.168.0.4";

DHT dht(DHTPIN, DHTTYPE);
HTTPClient http;
WiFiServer server(80);
WiFiClient client;
unsigned long interval=5000;
unsigned long previousMillis=0;
void setup(){
  delay(1000);
  pinMode(Led,OUTPUT);
  Serial.begin(115200);
  WiFi.mode(WIFI_OFF);
  delay(1000);
  WiFi.mode(WIFI_STA);

  WiFi.begin(ssid,password);
  Serial.println("");

  Serial.print("Connecting");

  while(WiFi.status()!=WL_CONNECTED){
    digitalWrite(Led,LOW);
    delay(250);
    Serial.print("");
    digitalWrite(Led,HIGH);
    delay(250);

    digitalWrite(Led,HIGH);
    Serial.println("");
    Serial.println("CONNECTED TO NETWROD/SSID");
    Serial.print("Ip address:");
    Serial.println(WiFi.localIP());
    dht.begin();
 }
}
  
 void loop(){
 
  delay(5000);
   unsigned long currentMillis=millis();
  if(currentMillis-previousMillis>=interval){
    previousMillis=currentMillis;
    
  float hum = dht.readHumidity();
  float tem = dht.readTemperature();
  String getData,Link;
  getData="?tem="+String(tem,2)+"&hum="+String(hum,2);
  Link="http://192.168.0.4/wordpress/a.php"+getData;
  http.begin(Link);
  //String phpHost=host+"/wordpress/a.php?tem="+tem+"&hum="+hum;
  Serial.print("Connect to:");
  Serial.println(Link);
  
 // http.begin(client,phpHost);
  http.setTimeout(1000);
  int httpCode=http.GET();
  
  if(httpCode>0){
      Serial.printf("GET code:%d\n\n", httpCode);
 
      if(httpCode == HTTP_CODE_OK) {
        String payload = http.getString();
        Serial.println(payload);
      }
    } 
    else {
      Serial.printf("GET falied error: %s\n", http.errorToString(httpCode).c_str());
    }
    http.end();
 
  delay(2000);
  }

}

이전글   |    dc모터 구동 스피드 2020-05-20
다음글   |    L298N + 아두이노 + 12V DC 모터 1개 + MG995 (스탭모터) 연결 시 전원... 2020-05-20