Buonasera, mi chiamo Luca. sto utilizzando un modulo SIM800L. Sto realizzando un arnia demotica ovvero un sistema dove rilevo tramite vari sensori temperatura, umidità e peso e dopo averli memorizzati su SD li voglio inviare a database con comando http.
Ho risolto le varie problematiche relative ai sensori e di memorizzazione ma ora, dopo aver acquistato una SIM Things Mobile e modulo GSM SIM800L, non riesco ad attivare una connessione GPRS.
In fase di test sto utilizzando il programma di esempio "WebClient" della libreria GSM.h che allego:
// libraries
#include <GSM.h>
// PIN Number
#define PINNUMBER ""
// APN data
#define GPRS_APN "TM" // replace your GPRS APN
#define GPRS_LOGIN "" // replace with your GPRS login
#define GPRS_PASSWORD "" // replace with your GPRS password
// initialize the library instance
GSMClient client;
GPRS gprs;
GSM gsmAccess;
// URL, path & port (for example: arduino.cc)
char server[] = "arduino.cc";
char path[] = "/asciilogo.txt";
int port = 80; // port 80 is the default for HTTP
void setup() {
// initialize serial communications and wait for port to open:
Serial.begin(9600);
while (!Serial) {
; // wait for serial port to connect. Needed for native USB port only
}
Serial.println("Starting Arduino web client.");
// connection state
boolean notConnected = true;
// After starting the modem with GSM.begin()
// attach the shield to the GPRS network with the APN, login and password
while (notConnected) {
if ((gsmAccess.begin(PINNUMBER) == GSM_READY) &
(gprs.attachGPRS(GPRS_APN, GPRS_LOGIN, GPRS_PASSWORD) == GPRS_READY)) {
notConnected = false;
} else {
Serial.println("Not connected");
delay(1000);
}
}
Serial.println("connecting...");
// if you get a connection, report back via serial:
if (client.connect(server, port)) {
Serial.println("connected");
// Make a HTTP request:
client.print("GET ");
client.print(path);
client.println(" HTTP/1.1");
client.print("Host: ");
client.println(server);
client.println("Connection: close");
client.println();
} else {
// if you didn't get a connection to the server:
Serial.println("connection failed");
}
}
void loop() {
// if there are incoming bytes available
// from the server, read them and print them:
if (client.available()) {
char c = client.read();
Serial.print(c);
}
// if the server's disconnected, stop the client:
if (!client.available() && !client.connected()) {
Serial.println();
Serial.println("disconnecting.");
client.stop();
// do nothing forevermore:
for (;;)
;
}
}
Dopo averlo correttamente collegato ottengo sempre il messaggio: "Not connected"
Ho inserito come APN: TM
Preciso inoltre che la scheda risulta connessa regolarmente alla rete, ricevo ed invio regolarmente SMS. Inoltre ho provato anche con scheda WIND inserendo APN: internet.it , stesso risultato.
Se mi potete aiutare ve ne sarei molto grato.
Grazie, Luca