2016-10-15 6 views
0

Ich habe ein PHP-Skript, die helfen, Daten in Google Firebase zu speichern.Arduino Mega + esp 8266 senden Anfrage erhalten

Ich benutze diese URL zu meinem php scipt und Eingang Zugriff auf die Daten: arduino.byethost22.com/FirebaseTest.php?slot1_data=empty & slot2_data = belegen

ich habe es versucht, und es ist in der Lage Speichern Sie slot1_data als leer und slot2_data als besetzt. Allerdings muss ich Arduino verwenden, um diese URL zu senden. Ich benutze diesen Code zur Zeit

#include "SoftwareSerial.h" 
#define DEBUG false // turn debug message on or off in serial 
String server = "arduino.byethost22.com"; 
String uri = "/FirebaseTest.php?slot1_data=empty&slot2_data=occupied"; 

void setup() { 

    Serial3.begin(115200); //serial3 for esp8266 
    Serial.begin(115200); 
    sendData("AT+RST\r\n",2000,DEBUG); // reset module 
    sendData("AT+CWMODE=3\r\n",1000,DEBUG); // configure as access point 
    //sendData("AT+CWJAP=\"WifiName\",\"Password\"\r\n",3000,DEBUG); 
    //delay(20000); 
    sendData("AT+CIFSR\r\n",1000,DEBUG); // get ip address 
    sendData("AT+CIPMUX=0\r\n",1000,DEBUG); // configure for single connections 

} 

void loop() { 


Serial3.println("AT+CIPSTART=\"TCP\",\"" + server + "\",80");//start a TCP connection. 
if(Serial3.find("OK")) { 
Serial.println("TCP connection ready"); 
} 
delay(1000); 
String getRequest = "GET " + uri + " HTTP/1.1\r\n" + 
"Host: " + server + "\r\n\r\n"; 

String sendCmd = "AT+CIPSEND=";//determine the number of caracters to be sent. 
Serial3.print(sendCmd); 
Serial3.println(getRequest.length()); 
delay(500); 
if(Serial3.find(">")) { 
    Serial.println("Sending.."); 
} 
Serial3.print(getRequest); 
if(Serial3.find("SEND OK")) { 
    Serial.println("Packet sent"); 
} 
while (Serial3.available()) { 
String tmpResp = Serial3.readString(); 
Serial.println(tmpResp); 
} 

delay(20000); 
} 





String sendData(String command, const int timeout, boolean debug) 
{ 
String response = ""; 

Serial3.print(command); // send the read character to the esp8266 

long int time = millis(); 

while((time+timeout) > millis()) 
{ 
while(Serial3.available()) 
{ 

// The esp has data so display its output to the serial window 
char c = Serial3.read(); // read the next character. 
response+=c; 
} 
} 

//if(debug) 
//{ 
Serial.print(response); 
//} 

return response; 
} 

es scheint, dass es Problem hat die GET-Anforderung an den PHP-Skript zu senden.

i Paket bin immer im seriellen Monitor aber nichts in den Feuerbasis Daten

i

+IPD,1104:HTTP/1.1 200 OK 
Server: nginx 
Date: Sat, 15 Oct 2016 09:21:34 GMT 
Content-Type: text/html 
Content-Length: 875 
Connection: keep-alive 
Vary: Accept-Encoding 
Expires: Thu, 01 Jan 1970 00:00:01 GMT 
Cache-Control: no-cache 

<html><body><script type="text/javascript" src="/aes.js" ></script><script>function toNumbers(d){var e=[];d.replace(/(..)/g,function(d){e.push(parseInt(d,16))});return e}function toHex(){for(var d=[],d=1==arguments.length&&arguments[0].constructor==Array?arguments[0]:arguments,e="",f=0;f<d.length;f++)e+=(16>d[f]?"0":"")+d[f].toString(16);return e.toLowerCase()}var a=toNumbers("f655ba9d09a112d4968c63579db590b4"),b=toNumbers("98344c2eee86c3994890592585b49f80"),c=toNumbers("b5ebc3b806c39a4a7fc1e4cecb45feab");document.cookie="__test="+toHex(slowAES.decrypt(c,2,a,b))+"; expires=Thu, 31-Dec-37 23:55:55 GMT; path=/"; location.href="http://arduino.byethost22.com/FirebaseTest.php?slot1_data=0&slot2_data=1&i=1";</script><noscript>This site requires Javascript to work, please enable Javascript in your browser or use a browser with Javascript support</noscript></body></html> 

Es hat mich gebeten, Javascript aktiviert haben in meinem Browser immer ich auch geändert geschickt, aber ich bin mit Arduino , wie mache ich es? Wenn ich die gleiche URL in Google Chrome eingeben, können die Daten aktualisiert werden

Wie kann ich dieses Problem lösen?

Antwort

0

Mein Code kann endlich arbeiten und Daten online senden. Ich ändere, um 000webhost als mein Host-Server anstelle von byethost zu verwenden, und die Daten werden aktualisiert.

Ich weiß nicht wirklich warum, aber ich denke, dass byethost Javascript nicht unterstützt.

+0

Ihr Code müsste JavaScript unterstützen, nicht der Host. –

Verwandte Themen