SIM900 - Otázky

Sekcia určená pre Arduino nadšencov

Moderátor: Moderátori

martinius96

SIM900 - Otázky

Príspevok od používateľa martinius96 » 18 Aug 2017, 00:08

Ahojte, mal by som niekoľko otázok ku GSM modulu SIM900. Na mnohých stránkach som našiel, že sa dá programovať iba AT príkazmi, no našiel som nakoniec aj klasicky v ArduinoIDE so správnou knižnicou.
Obrázok
Zaujímali by ma ale tieto veci, na ktoré som nenašiel správnu odpoveď:
  • Vie vykonať štandardný HTTP request?
  • Podporuje HTTPS?
  • Čo je USERNAME a PASSWORD do siete operátora? Kde to zistím?
  • Napojí ma to aj do siete iného operátora?
  • Pripojí sa sám automaticky na 3G?
  • Je potrebné nejako nastavovať prepojky, potrebuje zvlášť napájanie, alebo výhradne 12V cez adaptér?
  • TX a RX treba nastaviť na piny D7 a D8?
  • Na čo si treba dať pri module pozor?
  • Problémy pri vývoji?
Slúžiť to má na nahrávanie dát do MySQL db. V skutočnosti to bude len prepis aktuálneho kódu, kde sa využíval Ethernet Shield, potrebujem to cez GSM.

Používateľov profilový obrázok
Andy99
Stály člen
Stály člen
Príspevky: 339
Dátum registrácie: 05 Mar 2008, 00:00
Bydlisko: BA
Vek: 35

Re: SIM900 - Otázky

Príspevok od používateľa Andy99 » 18 Aug 2017, 08:11

Ahoj, co to som si uz so SIM900 odskakal, tak ti odpoviem na tvoje otazky.
Vie vykonať štandardný HTTP request?
Ano samozrejme, tak ako POST aj GET.
Podporuje HTTPS?
Aj ked je tento modul zastaraly, ano, ale tipujem, ze potrebujes novsi FW. Zoznam podporovanych SSL modov zistis cez "AT+HTTPS?".
Čo je USERNAME a PASSWORD do siete operátora? Kde to zistím?
To su APN udaje od providera SIMkarty, ktoru mas vlozenu v module.
Napojí ma to aj do siete iného operátora?
Modul berie udaje zo SIMkarty, takze ak je to podporovane, ano.
Pripojí sa sám automaticky na 3G?
Nie nepripoji, modul nema podporu 3G.
Je potrebné nejako nastavovať prepojky, potrebuje zvlášť napájanie, alebo výhradne 12V cez adaptér?
Modul sam o sebe potrebuje napatie 2.41V. Ak sa nachadza napr. na shielde, ktory zabezpecuje konverziu napati, tak nic dodatocne nepotrebujes. Ak nie, musis si napatie upravit sam.
TX a RX treba nastaviť na piny D7 a D8?
Neviem, co myslis D7 a 8, na arduine? Ak ano, na akom? Co sa tyka SIM900 modulu, on ma piny TX a RX fixne HW dane na pinoch 8 a 9.
Na čo si treba dať pri module pozor? Problémy pri vývoji?
O tomto by som ti toho vedel napisat fakt vela. Radsej to zhrenieme tak, ze v pripade problemov napises konkretne to, co nefunguje.
0
Naposledy upravil/-a Andy99 v 20 Aug 2017, 16:54, upravené celkom 1 krát.

martinius96

Re: SIM900 - Otázky

Príspevok od používateľa martinius96 » 18 Aug 2017, 18:59

Veľmi pekne ti ďakujem za odpovede. Tie AT príkazy sa píšu normálne do kódu Arduina? Je to totiž taký problém, že ja ho programujem pre niekoho, kto ho má. Budeme robiť len konverziu rovnakých HTTP requestov, ktoré sa robili cez Ethernet shield. Nemám ho reálne pri sebe aby som mohol vidieť čo to robí, ako to vyzerá, ako sa správa..

alidedko
Ultimate člen
Ultimate člen
Príspevky: 3963
Dátum registrácie: 04 Feb 2013, 22:04
Bydlisko: U alibabky v Poprade
Vek: 32

Re: SIM900 - Otázky

Príspevok od používateľa alidedko » 18 Aug 2017, 19:29

že sa dá programovať iba AT príkazmi, no našiel som nakoniec aj klasicky v ArduinoIDE so správnou knižnicou.
A ta kniznica posiela AT prikazy na UART ... :D

K otazke: nie, tie prikazy musis vytlacit na papier formatu A4 a poslat na ministerstvo. Ci ako inak ich tam chces dorucit?
0
Motto: Nikto nie je tak velky, aby sa nevosiel do truhly.

martinius96

Re: SIM900 - Otázky

Príspevok od používateľa martinius96 » 18 Aug 2017, 19:32

Napríklad sa niektoré veci robili na iných doskách aj cez konzolu, alebo cez Putty preto som sa pýtal.. ale áno, rozhodne to tam pošlem na A4-ke.

alidedko
Ultimate člen
Ultimate člen
Príspevky: 3963
Dátum registrácie: 04 Feb 2013, 22:04
Bydlisko: U alibabky v Poprade
Vek: 32

Re: SIM900 - Otázky

Príspevok od používateľa alidedko » 18 Aug 2017, 20:03

A konzola posiela prikazy von cez aky port cez aky protokol? Ved putty je len obycajny obsluzny software pre seriovy port. Hyperterminal je to iste.

Modelova situacia, chces z modulu poslat SMS, mas ho prepojeny s nejakym jednocipom (arduino napriklad). Myslis, ze je tam potrebny desktop a putty, alebo prikazovy riadok?
0
Motto: Nikto nie je tak velky, aby sa nevosiel do truhly.

martinius96

Re: SIM900 - Otázky

Príspevok od používateľa martinius96 » 20 Aug 2017, 14:01

Ako by mal správne vyzerať totožný HTTP request GET metódou, ktorú som robil na Ethernet Shielde pre SIM900? Dávam sem iba vyňatok z kódu...

Kód: Vybrať všetko

char server[] = "www.mojserver.sk"; 
 if (client.connect(server, 80)) {
    client.print("GET /pridanipolozky.php?momentalnahodnota=");  
    client.print(momentalnahodnota);  
    client.print("&predchadzajucahodnota=");      
    client.print(predchadzajucahodnota); 
    client.print("&rozdiel=");              
    client.print(rozdiel); 
     client.print("&stav=Pridani%20polozky");                                   
    client.println(" HTTP/1.1");               
    client.println("Host: www.mojserver.sk");
    client.println("Connection: close");         
    client.println();                           
    client.stop();                                 

  } else {                                           
    Serial.println("Pripojenie zlyhalo");            //SERIOVY VYPIS O NEUSPESNOSTI PRIPOJENIA
  }




 
Ďakujem za tipy!

Používateľov profilový obrázok
Andy99
Stály člen
Stály člen
Príspevky: 339
Dátum registrácie: 05 Mar 2008, 00:00
Bydlisko: BA
Vek: 35

Re: SIM900 - Otázky

Príspevok od používateľa Andy99 » 20 Aug 2017, 16:49

Takze bavme sa o tom, ze modul mas spravne nainicializovany a zaregistrovany v sieti.

V prvom rade sa musis rozhodnut v ktorom rezime budes data posielat, ci transparentnom, alebo nie.
netransparentny - maximalna velkost posielanych data ~1kB@request (dane akceptaciou siete)
transparentny - data priamo posielane na server (bez obmedzenia @request), idealne pouzivat flow control na riadenie prenosu, nakolko pocas requestu nemas spatnu vazbu

Napisem ti cely sled prikazov pre netransparentny mod, ktore si vies potom rozdelit do jednotlivych funkcii.

Kód: Vybrať všetko

// attach to GPRS service
println("AT+CGATT=1");

// !!! dosadit udaje pre SIM kartu
// set connection credentials
print("AT+CSTT=\"apn\",\"username\",\"password\"\r");

//  bring up wireless connection with GSM
println("AT+CIICR");

// get local IP address
println("AT+CIFSR");

// connect to server
println("AT+CIPSTART=\"TCP\",\"mojserver.sk\",80);

// open connection for data sending
println("AT+CIPSEND");

// !!! uprava nazvov poloziek na kratsie, obmedzenie velkosti... pre netransp. mod
print("GET /pridanipolozky.php?actval=");
print(momentalnahodnota);
print("&lastval=");
print(predchadzajucahodnota);
print("&diff=");
print(rozdiel);
// medzery v URL nie su najvhodnejsie
print("&stav=Pridani%20polozky");
println(" HTTP/1.1");
println("Host: www.mojserver.sk");
println("Connection: close");
print('\0xa1');
print('\0x00');
Pri kazdom AT prikaze je nutne patricne kontrolovat aj jeho vystup.
0

Napísať odpoveď