nodeMCU connect与XMAPP localhost拒绝

时间:2018-02-06 13:26:22

标签: xampp arduino-esp8266

我的项目是关于使用来自传感器DHT11的nodeMCU测量值并将值发送到数据库Mysql。我使用xampp作为服务器。我无法向数据库发送值。 nodeMCU可以读取值并发送值。但是HTTP GET失败。并且返回连接被拒绝。我想可能有端口用于收听的问题。

这是我的代码

#include <Arduino.h>
#include <ESP8266HTTPClient.h>
#include <ESP8266WiFi.h>
#include <ESP8266WiFiMulti.h>
#include "DHT.h"

#define DHTPIN 2 // what digital pin the DHT22 is conected to
#define DHTTYPE DHT11 // there are multiple kinds of DHT sensors

DHT dht(DHTPIN, DHTTYPE);
ESP8266WiFiMulti WiFiMulti;
const char* ssid = "something";
const char* password = "something";

int EP =5;

void setup() {

Serial.begin(115200);
pinMode(EP, INPUT);
for (uint8_t t = 4; t > 0; t--) {
Serial.printf("[SETUP] WAIT %d...\n", t);
Serial.flush();
delay(1000);
}
WiFiMulti.addAP(ssid, password); // ssid , password
randomSeed(50);
}

int timeSinceLastRead = 0;

void loop() {
if ((WiFiMulti.run() == WL_CONNECTED)) {
HTTPClient http;
float temp = dht.readTemperature();
float humi = dht.readHumidity();
long meas =TP_init();
Serial.println(WiFi.localIP());

//int temp = random(25,35);
String url = "localhost:8012/add2.php?temp="+String(temp)+"&humi="+String(humi)+"&meas=0";

Serial.println(url);
http.begin(url); //HTTP

int httpCode = http.GET();
if (httpCode > 0) {
Serial.printf("[HTTP] GET... code: %d\n", httpCode);
if (httpCode == HTTP_CODE_OK) {
String payload = http.getString();
Serial.println(payload);
}
} else {
Serial.printf("[HTTP] GET... failed, error: %s\n", http.errorToString(httpCode).c_str());
}
http.end();
}
delay(3000);
}

long TP_init(){
delay(10);
long meas=pulseIn (EP, HIGH); //wait for the pin to get HIGH and returns measurement
return meas;
}
  • 我将Apache端口从80更改为8012
  • 我将PHPMyadmin用于商店数据库。文件php的名称为add2.php,用于传感器DHT11的插入值

enter image description here

这是串口的结果。

1 个答案:

答案 0 :(得分:1)

String url = "localhost应替换为String url = "<IP-address-of-your-webserver>,因为网络服务器显然未在ESP8266上运行。