步驟1:代碼
#include
//IP or name of address root: ie: google.com
//NOT google.com/nothing/after/the/dotcom.html
const char* hostGet = “mydatasite.com”;
void postData() {
WiFiClient clientGet;
const int httpGetPort = 80;
//the path and file to send the data to:
String urlGet = “/data/collector.php”;
// We now create and add parameters:
String src = “ESP”;
String typ = “flt”;
String nam = “temp”;
String vint = “92”;
urlGet += “?src=” + src + “&typ=” + typ + “&nam=” + nam + “&int=” + vint;
Serial.print(“》》》 Connecting to host: ”);
Serial.println(hostGet);
if (!clientGet.connect(hostGet, httpGetPort)) {
Serial.print(“Connection failed: ”);
Serial.print(hostGet);
} else {
clientGet.println(“GET ” + urlGet + “ HTTP/1.1”);
clientGet.print(“Host: ”);
clientGet.println(hostGet);
clientGet.println(“User-Agent: ESP8266/1.0”);
clientGet.println(“Connection: close ”);
unsigned long timeoutP = millis();
while (clientGet.available() == 0) {
if (millis() - timeoutP 》 10000) {
Serial.print(“》》》 Client Timeout: ”);
Serial.println(hostGet);
clientGet.stop();
return;
}
}
//just checks the 1st line of the server response. Could be expanded if needed.
while(clientGet.available()){
String retLine = clientGet.readStringUntil(‘ ’);
Serial.println(retLine);
break;
}
} //end client connection if else
Serial.print(“》》》 Closing host: ”);
Serial.println(hostGet);
clientGet.stop();
}
void setup() {
Serial.begin(115200);
}
void loop() {
postData();
delay(10000);
}
第2步:上傳您的代碼
您將需要更新許多參數(shù),并從此處添加WiFiCon()函數(shù)(或相似的東西)。需要更改的參數(shù)是主機(jī),URL和數(shù)據(jù)參數(shù)-我們將在解釋步驟中進(jìn)行介紹。
在Arduino IDE中打開(kāi)串行監(jiān)視器。這樣,一旦您的代碼上傳,我們就可以看到來(lái)自ESP的串行消息。
使用此處設(shè)置的設(shè)置上傳代碼。
代碼上傳完畢后,您應(yīng)該立即開(kāi)始在串行監(jiān)視器中看到一些消息。如果不這樣做,請(qǐng)關(guān)閉ESP的電源,關(guān)閉閃光燈模式的開(kāi)關(guān),然后重新給ESP供電。
代碼上傳后,實(shí)際運(yùn)行ESP所需的操作就是該指導(dǎo)頂部的簡(jiǎn)單接線。
步驟3:說(shuō)明
發(fā)布數(shù)據(jù)的GET方法比POST方法簡(jiǎn)單一些,并且可以滿足您的大多數(shù)需求。 GET的好處是,您只需將數(shù)據(jù)構(gòu)建到URL字符串中即可。
假設(shè)您要將數(shù)據(jù)發(fā)送到名為mysite.com的站點(diǎn)。
它有一個(gè)處理數(shù)據(jù)的頁(yè)面,稱為data.php。
您有兩個(gè)要發(fā)送的數(shù)據(jù):name和id。
如果將data.php設(shè)置為解析名為“ name”和“ id”的變量,則需要生成的URL為:
mysite.com/data。 php?name = Jimmy&id = 52
請(qǐng)注意,變量與頁(yè)面之間用?隔開(kāi),而彼此之間用&隔開(kāi)。您可以通過(guò)這種方式發(fā)送很多變量-但是GET往往最適合簡(jiǎn)單數(shù)據(jù)類型。如果您需要發(fā)送長(zhǎng)文本或更復(fù)雜的內(nèi)容,那么我們需要看一下POST方法。
責(zé)任編輯:wv
-
Web服務(wù)器
+關(guān)注
關(guān)注
0文章
138瀏覽量
24435
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論