Buon pomeriggio,
sto cercando di realizzare la classica stazione meteo attraverso l’utilizzo di un Arduino UNO, un SIM800L, una scheda SIM della Things Mobile e sensori vari mediante la modalità GET.
L’obbiettivo è quello di popolare la classica tabella creata in un MySQL attraverso un myfile.php caricato su un mio sito web. Utilizzando quindi un link del tipo: http://mywebsite.epizy.com/myfile.php?d1=2.3&d2=3.0
Postando questo link all’interno della barra del browser riesco ad inserire correttamente una nuova riga all’interno della tabella creata.
Non riesco purtroppo ad effettuare però la stessa cosa con il mio Sistema Arduino. Pur avendo la SIM800L correttamente agganciata alla rete.
Di seguito la parte software che sto utilizzando.
Il codice ARDUINO:
#include <SoftwareSerial.h>
SoftwareSerial gprsSerial(7, 3);
void setup()
{
gprsSerial.begin(19200);
Serial.begin(19200);
Serial.println("Config SIM900...");
delay(2000);
Serial.println("Done!...");
gprsSerial.flush();
Serial.flush();
// attach or detach from GPRS service
gprsSerial.println("AT+CGATT?");
delay(100);
toSerial();
// bearer settings
gprsSerial.println("AT+SAPBR=3,1,\"CONTYPE\",\"GPRS\"");
delay(2000);
toSerial();
// bearer settings
gprsSerial.println("AT+SAPBR=3,1,\"APN\",\"TM\"");
delay(2000);
toSerial();
// bearer settings
gprsSerial.println("AT+SAPBR=1,1");
delay(2000);
toSerial();
}
void loop()
{
// initialize http service
gprsSerial.println("AT+HTTPINIT");
delay(2000);
toSerial();
// set http param value
gprsSerial.println("AT+HTTPPARA=\"URL\",\"http://mywebsite.epizy.com/myfile.php?d1=2.3&d2=3.0"");
delay(2000);
toSerial();
// set http action type 0 = GET, 1 = POST, 2 = HEAD
gprsSerial.println("AT+HTTPACTION=0");
delay(6000);
toSerial();
// read server response
gprsSerial.println("AT+HTTPREAD");
delay(1000);
toSerial();
gprsSerial.println("");
gprsSerial.println("AT+HTTPTERM");
toSerial();
delay(300);
gprsSerial.println("");
delay(10000);
}
void toSerial()
{
while(gprsSerial.available()!=0)
{
Serial.write(gprsSerial.read());
}
}
Che genera sulla seriale:
Config SIM900...
Done!...
AT+CGATT?
+CGATT: 1
OK
AT+SAPBR=3,1,"CONTYPE","GPRS"
OK
AT+SAPBR=3,1,"APN","TM"
OK
AT+SAPBR=1,1
OK
AT+HTTPINIT
OK
AT+HTTPPARA="URL","http://sosardgio89.epizy.com/wd3.php?d1=23&dAT+HTTPACTION=0
OK
+HTTPACTION: 0,200,851
AT+HTTPREAD
+HTTPREAD: 851
<html><body><script type="text/ja
AT+HTTPTERM
OK
Il myfile.php caricato sul mysite è:
<?php
$conex = mysql_connect("sql7.freemysqlhosting.net","sql1234567","1234567");
if(!$conex){
die("non ok server
".mysql_error());
}
else{
echo ("DONE");
print ("DONE");}
$db = mysql_select_db("sql1234567", $conex);
if(!$db){
die("non ok database
".mysql_error());
}
//$Boton = $_POST["strBoton"];
//$Boton = $_GET["strBoton"];
$sql = "INSERT INTO Save_Data (Date,Time,Value_1,Value_2) VALUES (NOW(),NOW(),'".$_GET["d1"]."','".$_GET["d2"]."') ";
$res = mysql_query($sql,$conex);
?>
Sono ormai giorni che provo ad effettuare tentativi di connessione senza avere alcun risultato.
Sapreste darmi delle dritte in merito al fine di capire come riuscire a risolvere questo problema?
Grazie