0

i have a php script which help to store data into google firebase.

i am using this url to access my php scipt and input the data: arduino.byethost22.com/FirebaseTest.php?slot1_data=empty&slot2_data=occupied

i have tried it and it is able to store slot1_data as empty and slot2_data as occupied. However i need to use arduino to send this url. i am using this code currently

#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;
}

it seems that it have problem sending the get request to the php script.

i am getting packet sent in the serial monitor but nothing changed in the firebase data

i am also getting

+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>

It asked me to enable javascript in my browser, but i am using arduino, how do i do it? When i key in the same uri in google chrome, the data can be updated

how do i solve this problem?

1 Answer 1

0

My code finally can work and send data online. i change to use 000webhost as my host server instead of byethost and the data manage to be updated.

i dont really know why but i guess that byethost dont support javascript.

Sign up to request clarification or add additional context in comments.

1 Comment

Your code would need to support JavaScript, not the host.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.