Sziasztok.
Adott egy Arduino UNO, és egy a6 gsm modul. A cél egy rövid adat küldése lenne a projektünk szerverére. Első körben tökéletesen megfelelne a thingspeak.com-ra küldött adat is, hogy lássam, működik e minden. A hívás, és SMS küldés rendben. Az adatkapcsolatot ellenőríztem, van internet. Azonban akárhány példaprogramot próbáltam, mindegyik hibával jön vissza: +CME ERROR 50, 53 és 58.
--Kábelezés:--
VCCin -> en
gnd->gnd
u_tx-> 2
u_rx-> 3
Táp: UNO- laptop usb ről,
A6- microusb
--Telekom APN--
- A hozzáférési pont neve: Telekom Net (*T-Mobile NET)
- APN: internet
- Felhasználónév: (üres)
- Jelszó: (üres)
- Jelszókérés: Nem
- Autentikáció típusa: PAP
- IP: Dinamikus
- Elsődleges IP-cím: 000.000.000.000
- Másodlagos IP-cím: 000.000.000.000
--A kód--
(ki van szedve a szenzor rész belőle, mert az nem kell nekem):
#include <SoftwareSerial.h>
SoftwareSerial gprsSerial(2,3);
#include <String.h>
#include <DHT.h>
//#define DHTPIN A0
int t=10;
//DHT dht(DHTPIN, DHT11);
void setup()
{
gprsSerial.begin(9600); // the GPRS baud rate
Serial.begin(9600); // the GPRS baud rate
delay(1000);
}
void loop()
{
delay(100);
Serial.println("... küldöm az adatot.");
if (gprsSerial.available())
Serial.write(gprsSerial.read());
gprsSerial.println("AT");
delay(1000);
gprsSerial.println("AT+CPIN?");
delay(1000);
gprsSerial.println("AT+CREG?");
delay(1000);
gprsSerial.println("AT+CGATT?");
delay(1000);
gprsSerial.println("AT+CIPSHUT");
delay(1000);
gprsSerial.println("AT+CIPSTATUS");
delay(2000);
gprsSerial.println("AT+CIPMUX=0");
delay(2000);
ShowSerialData();
gprsSerial.println("AT+CSTT="internet""); // APN telekom Domino fix kártya itt nem látszik, de úgy van, hogy
// "AT+CSTT=backslash"internetbackslash""
delay(1000);
ShowSerialData();
gprsSerial.println("AT+CIICR"); //bring up wireless connection
delay(3000);
ShowSerialData();
gprsSerial.println("AT+CIFSR");//get local IP adress
delay(2000);
ShowSerialData();
gprsSerial.println("AT+CIPSPRT=0");
delay(3000);
ShowSerialData();
gprsSerial.println("AT+CIPSTART="TCP","api.thingspeak.com","80"");//start up the connection
delay(6000);
ShowSerialData();
gprsSerial.println("AT+CIPSEND");//begin send data to remote server
delay(4000);
ShowSerialData();
String str="GET https://api.thingspeak.com/update?api_key=1UR6KTAWN2P4R78F&field1=0" + String(t) +"&field2="+5;
Serial.println(str);
gprsSerial.println(str);//begin send data to remote server
delay(4000);
ShowSerialData();
gprsSerial.println((char)26);//sending
delay(5000);//waitting for reply, important! the time is base on the condition of internet
gprsSerial.println();
ShowSerialData();
gprsSerial.println("AT+CIPSHUT");//close the connection
delay(100);
ShowSerialData();
}
void ShowSerialData()
{
while(gprsSerial.available()!=0)
Serial.write(gprsSerial.read());
delay(5000);
}
--A válasz:--
... küldöm az adatot.
AT
OK
AT+CPIN?
+CPIN:READY
OK
AT+CREG?
+CREG: 1,1AT+CSTT="internet"
+CME ERROR:53
AT+CIICR
+CME ERROR:50
AT+CIFSR
+CME ERROR:50
Vajon mi lehet a gond?
Köszi a válaszokat!!