질문드립니다.
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);
}
}
|