GSM/GPRS modul

Hogyan programozzak AVR chipet? Programozók beállításai...
Bascom nyelvű programok...
Válasz küldése
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10191
Csatlakozott: 2005. december 9. péntek, 7:00

Re: GSM/GPRS modul

Hozzászólás Szerző: Robert »

Egyszerű:

SIM900 belső óra:
AT+CCLK parancskészlet....
papp.zoli
DrótVégénSzéndarab
Hozzászólások: 18
Csatlakozott: 2013. július 24. szerda, 18:53

Re: GSM/GPRS modul

Hozzászólás Szerző: papp.zoli »

A következő választ kapom most:
AT+CCLK?

+CCLK: "10/10/14,13:03:37+00"

OK
Pedig nem ennyi a dátum és idő
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10191
Csatlakozott: 2005. december 9. péntek, 7:00

Re: GSM/GPRS modul

Hozzászólás Szerző: Robert »

AT+CCLK=<time>
<time> = "yy/MM/dd,hh:mm:ss±zz"

Pl. 6th of May 2010, 00:01:52 GMT+2 hours
equals to "10/05/06,00:01:52+08"


Toronyidő:
AT+CLTS=1 'kell az idő
AT+CCLK=? - szinkronizálás után kiolvasható az idő.
http://www.xmodus.ch/Downloads/XM7400S/ ... 00-106.PDF
133. oldal.
papp.zoli
DrótVégénSzéndarab
Hozzászólások: 18
Csatlakozott: 2013. július 24. szerda, 18:53

Re: GSM/GPRS modul

Hozzászólás Szerző: papp.zoli »

AT+HTTPPARA="URL","http://domain.hu/feldolgoz.php?sensorPressure=[b]0.13[/b]&sensorLevel=233&sensorDate=20130814032310"
A félkövéren kiemelt adatokat szeretném változóból megkapni.
Próbálkoztam különféle szintaktikákkal, de nem boldogulok.
Tudna valaki segíteni?
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10191
Csatlakozott: 2005. december 9. péntek, 7:00

Re: GSM/GPRS modul

Hozzászólás Szerző: Robert »

Darabolás fix karakterméretig?
Adott karakter pozíciókeresése?

vagy a túloldalt valami.php-ben?

Kód: Egész kijelölése

sensorPressure: <?php echo $_GET["sensorPressure"]; ?>.<br>
sensorLevel <?php echo $_GET["sensorLevel"]; ?>.<br>
sensorDate <?php echo $_GET["sensorDate"]; ?> 
ksanci
DrótVégénSzéndarab
Hozzászólások: 28
Csatlakozott: 2016. július 24. vasárnap, 12:04

Re: GSM/GPRS modul

Hozzászólás Szerző: ksanci »

Üdv!

De régen volt hozzászólás :)
Elakadtam, de nagyon. Szóval mindössze annyit szeretnék elérni, hogy meghívok egy php fájlt, mindenféle paraméter nélkül.
Odáig stimmel, hogy at+cipstart=tcp,"hostneve",80, szépen kiírja, hogy connect ok
Na ezután az at+cipsend-re kirakja a > jelet, de ezután semmi. Nyomkodhatok én bármit, csak visszaugrik a sor elejére, vagy kiír egy szimpla ok-ot.
Biztosan én szúrok el valamit, csak nem tudom, hogy mit. a ctrl+z-re sem csinál semmit. Tera Term VT progival próbálom egyébként.

Először programból próbáltam, de mindig failed lett, ezért próbálom közvetlenül, de semmi.

Köszi!
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10191
Csatlakozott: 2005. december 9. péntek, 7:00

Re: GSM/GPRS modul

Hozzászólás Szerző: Robert »

Tipp:
- sorvégi enter ne legyen,
- nem kell megmondani, hogy hány karakter lesz a szöveg?


Tipp (Arduino mintakód)
Forrás:
http://www.geeetech.com/wiki/index.php/ ... PRS_Shield

Kód: Egész kijelölése

///SubmitHttpRequest()
///this function is submit a http request
///attention:the time of delay is very important, it must be set enough 
void SubmitHttpRequest()
{
 mySerial.println("AT+CSQ");
 delay(100);
 ShowSerialData();// this code is to show the data from gprs shield, in order to easily see the process of how the gprs shield submit a http request, and the following is for this purpose too.
 mySerial.println("AT+CGATT?");
 delay(100);
 ShowSerialData();
 mySerial.println("AT+SAPBR=3,1,\"CONTYPE\",\"GPRS\"");//setting the SAPBR, the connection type is using gprs
 delay(1000);
 ShowSerialData();
 mySerial.println("AT+SAPBR=3,1,\"APN\",\"CMNET\"");//setting the APN, the second need you fill in your local apn server
 delay(4000);
 ShowSerialData();
 mySerial.println("AT+SAPBR=1,1");//setting the SAPBR, for detail you can refer to the AT command mamual
 delay(2000);
 ShowSerialData();
 mySerial.println("AT+HTTPINIT"); //init the HTTP request
 delay(2000); 
 ShowSerialData();
 mySerial.println("AT+HTTPPARA=\"URL\",\"www.google.com.hk\"");// setting the httppara, the second parameter is the website you want to access
 delay(1000);
 ShowSerialData();
 mySerial.println("AT+HTTPACTION=0");//submit the request 
 delay(10000);//the delay is very important, the delay time is base on the return from the website, if the return datas are very large, the time required longer.
 //while(!mySerial.available());
 ShowSerialData();
 mySerial.println("AT+HTTPREAD");// read the data from the website you access
 delay(300);
 ShowSerialData();
 mySerial.println("");
 delay(100);
}
Ebből az AT parancsok kipuskázhatók.
http://www.tavir.hu - a gazda :)
ksanci
DrótVégénSzéndarab
Hozzászólások: 28
Csatlakozott: 2016. július 24. vasárnap, 12:04

Re: GSM/GPRS modul

Hozzászólás Szerző: ksanci »

Köszi!

Igen, ez működik, de a cipsend kellene nekem, mert a Seeed-es library azt használja. Tartok tőle, hogy a szerveroldalon sem mindegy, hogy mi van. Szóval látszik, hogy nagyon nem ismerem a működését.
Most megoldom a http-vel, így már legalább tudok adatokat küldeni :)
Viszont így a Seed library fölösleges, írhatok saját funkciókat sim900.h és cpp felhasználásával. Más library-t nincs kedvem végignyálazni :)
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10191
Csatlakozott: 2005. december 9. péntek, 7:00

Re: GSM/GPRS modul

Hozzászólás Szerző: Robert »

Itt magasabb szinten kérd le az oldalt. Azaz a TCP feletti HTTP kéréssel....
http://www.tavir.hu - a gazda :)
ksanci
DrótVégénSzéndarab
Hozzászólások: 28
Csatlakozott: 2016. július 24. vasárnap, 12:04

Re: GSM/GPRS modul

Hozzászólás Szerző: ksanci »

Megoldottam ezzel, működik most kafán minden. Azt hittem, a sebességével lesznek gondok, de egyelőre tökéletes. Persze ha majd 5-6 eszköz jeleit kell küldözgetnie, majd kiderül. Bár ez is csak programozás kérdése :)
Igazából sajnos majd egy szerveralkalmazásra lesz szükségem, portfigyeléssel és annak kell majd közvetlenül az adatokat küldeni.
De ez még arrébb van :)

Más: van itt valahol téma a rádiós adatátvitelről? Konkrétan CC1101-ről lenne szó.
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10191
Csatlakozott: 2005. december 9. péntek, 7:00

Re: GSM/GPRS modul

Hozzászólás Szerző: Robert »

CC1101 -> Kereső. DE nem volt ilyen téma. Tessék nyitni egyet :)
http://www.tavir.hu - a gazda :)
ksanci
DrótVégénSzéndarab
Hozzászólások: 28
Csatlakozott: 2016. július 24. vasárnap, 12:04

Re: GSM/GPRS modul

Hozzászólás Szerző: ksanci »

Megtettem... :)
ksanci
DrótVégénSzéndarab
Hozzászólások: 28
Csatlakozott: 2016. július 24. vasárnap, 12:04

Re: GSM/GPRS modul

Hozzászólás Szerző: ksanci »

Üdv megint!

Belefutottam egy érdekes problémába. Biztosan én nem tudok valamit, de már megőrülök tőle.
Szóval lecseréltem az Arduino Mini Pro-t egy Mega2560 Mini-re és a SIM900-hoz most már tényleg szeretném a hardveres soros portot használni. Átírtam, amit kellett és látszólag működik. Látszólag, merthogy valójában egy árva bitet nem küld ki.
A kód tökéletesen működik szoftveres soros porttal, de hardveressel már csak látszólag.
Akármit, akárhogy variálok, a legjobb esetben is hiba nélkül lefut minden, csak éppen nulla, semmi, amit elküld.
Ami érdekes, hogy a GSM panelt a nulláról indítva terminálból pötyögve tökéletesen megy minden, azonban ugyanazok a parancsok, ugyanabban a sorrendben az AT-SAPBR=1,1-re programból már errort dob.
Most nem mellékelek kódot, mert már szanaszét próbáltam mindent, de mindig ugyanaz: terminálból és szoftveres sorossal tökéletes, hardveressel minden válasz ok, mégsem küld semmit.
Pedig maga a parancsküldés működik, ez a válaszokból és az időből is látszik, ráadásul elem sincs a modulban.
Nincs meg a kellő jogosultságod a hozzászóláshoz csatolt állományok megtekintéséhez.
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10191
Csatlakozott: 2005. december 9. péntek, 7:00

Re: GSM/GPRS modul

Hozzászólás Szerző: Robert »

- Sorvégi ENTER azonos? (10; 10/13; 13 kód)?
- nem maradt benne valami huncutság? Pl. kiküldés után azonnal várja a választ, nincs várakozás, vagy hasonló,

Amit próbálnék: ATDT=...... számhívás. Kicsöngetést kell csinálni.
Vagy visszafele hívd fel a modult. És kijön belőle a "RING<enter>" üzenet

AT-re visszajön az OK?
Soros sebesség jól beállított?


Amit gépelsz - lassú. Van ideje a modulnak feldolgozni. AVR meg gyorsan küldi ki. Nincs közte várakozás.
9600 bps-re vedd vissza, 115200-on nem működik (oka: AVR esetén az 111kbps valójában).
http://www.tavir.hu - a gazda :)
ksanci
DrótVégénSzéndarab
Hozzászólások: 28
Csatlakozott: 2016. július 24. vasárnap, 12:04

Re: GSM/GPRS modul

Hozzászólás Szerző: ksanci »

- a sorvégi enterek ˛\r\n mindenhol, ezzel működik is, különben nem kapnék válaszokat
- a sim900.cpp funkcióit használom, bele van építve a várakozás, 5 sec alapértelmezetten. De 15-el is ezt csinálja.
- a sim900_check_with_cmd funkció teszteli a választ is, ott nincs is hiba
- a sebesség nekem mindig 9600bps

Én is valami sebesség/időzítés problémára gyanakodom, mert bekapcsolás után a Mini Pro-n is kétszer kell megpróbálni a gprs initet, elsőre az AT-SAPBR=1,1 ott is errort dob programból. És a Mini Pro-n 16Mhz-es kristály van, a Megán meg ugye 26Mhz.
Egyébként mivel a gsm panelt nem az Arduinoval együtt kapcsolom, hanem teljesen önálló tápja van még és folyamatosan megy, ezért ezt a hibát és az at+httpinit error-t figyelmen kívül hagytam, mert már a korábbi futás miatt él a gprs és a http is. Ezután már csak a httppara és httpaction kell minden küldésnél. Csak amig a szoftveres serialnál max. második próbálkozás után jó örökre, addig a hw-nél soha. De tökmindegy, inicializálhatom együtt is, ugyanaz van.
Egyébként ha ez a AT-SAPBR=1,1 sikertelen, akkor utána úgyis lefut minden parancs rendben, OK visszajelzéssel, csak éppen nem küld semmit és nem is fogad gprs-en. Próbáltam úgy is, ahogy a képen látszik, hogy előtte lelövöm a gprs-t és a http-t is. Annyi a különbség, hogy nincs error. De küldés sem..
Amit nem értek, az az, hogy a kódok semmiben nem különböznek azon kívül, hogy myserial. helyett Serial1. van mindenhol... Ráadásul szoftveres seriallal tökéletesen működik a Megán is, csak a Mini Pro-n használt 8,9 lábak helyett a 10,11-en.
Biztos, hogy valami hülye dolog lesz, csak már el van borulva az agyam :D Sőt, kezdem azt gondolni, hogy totál máshol van a hiba, csak így és itt jön elő. Bár nem tudom, mi, ha egyszer a SIM900 szerint minden jó, csak éppen egyetlen bitet nem forgalmaz gprs-en se ki, se be.

Egyébként vannak érdekes dolgok: a CC1101 például Megával csak onnantól fogad adatokat, ha a setupnál még odabiggyesztek külön egy setRxState();-t. Vagy a GDO0 lábra ráhúzom egy pillanatra a 3,3 V-ot. A Mini Pro-val pedig enélkül is megy a kezdetektől. És ezen az egy soron kívül ugyanaz a kód fut. Persze más a core... Lehet, hogy át kéne nyálaznom a Mega core fájlokat? :)
Válasz küldése