vsanyo81 Creative Commons License 2021.01.04 0 0 3833

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