ฉันต้องการส่งคำขอ HTTP GET จาก nodemcu ของฉันไปยังเซิร์ฟเวอร์ localhost ทั้ง nodemcu และแล็ปท็อปของฉันเชื่อมต่อกับเครือข่าย Wifi เดียวกัน แม้ว่า nodemcu จะเชื่อมต่อกับเครือข่าย แต่ก็ไม่ได้ส่งคำขอ ฉันพยายามส่งคำขอด้วยตนเองและใช้ "บุรุษไปรษณีย์" จากนั้นก็ใช้งานได้ ดังนั้นฉันคิดว่าปัญหาอยู่ที่รหัส nodemcu หรือบางอย่างกับอุปกรณ์ ยินดีต้อนรับความคิดใด ๆ
#include <ESP8266WiFi.h>
#include <WiFiClient.h>
#include <ESP8266WebServer.h>
#include <ESP8266HTTPClient.h>
/* Set these to your desired credentials. */
const char *ssid = "******"; //ENTER YOUR WIFI SETTINGS
const char *password = "****";
//Web/Server address to read/write from
//website or IP address of server
//=======================================================================
// Power on setup
//=======================================================================
void setup() {
delay(1000);
Serial.begin(115200);
WiFi.mode(WIFI_OFF); //Prevents reconnection issue (taking too long to connect)
delay(1000);
WiFi.mode(WIFI_STA); //This line hides the viewing of ESP as wifi hotspot
WiFi.begin(ssid, password); //Connect to your WiFi router
Serial.println("");
Serial.print("Connecting");
// Wait for connection
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
//If connection successful show IP address in serial monitor
Serial.println("");
Serial.print("Connected to ");
Serial.println(ssid);
Serial.print("IP address: ");
Serial.println(WiFi.localIP()); //IP address assigned to your ESP
}
//=======================================================================
// Main Program Loop
//=======================================================================
void loop() {
HTTPClient http; //Declare object of class HTTPClient
String ADCData, station, getData, Link;
int adcvalue=253; //Read Analog value of LDR
ADCData = String(adcvalue); //String to interger conversion
station = "B";
//GET Data
getData = "?status=" + ADCData + "&station=" + station ; //Note "?" //added at front
Link = "http://localhost/welcome.php" + getData;
http.begin(Link); //Specify request destination
int httpCode = http.GET(); //Send the request
String payload = http.getString(); //Get the response payload
Serial.println(httpCode); //Print HTTP return code
Serial.println(payload); //Print request response payload
http.end(); //Close connection
delay(5000); //GET Data at every 5 seconds
}
//=======================================================================
รหัส php ของไซต์ localhost แสดงไว้ที่นี่
<html>
<body>
status: <?php echo $_GET["status"]; ?><br>
station: <?php echo $_GET["station"]; ?>
</body>
</html>
getData
ซึ่งมีพารามิเตอร์การสืบค้น อย่างไรก็ตาม ฉันไม่เห็นคุณใช้ตัวแปรนั้นเลยจริงๆ เลยใช่ไหม - person Magnus Eriksson   schedule 17.07.2019localhost
ได้เนื่องจากสิ่งนั้นอ้างถึงตัวเอง (nodemcu กำลังเรียกตัวเอง) - person Magnus Eriksson   schedule 17.07.2019