Problem z GPRS SIM300 podczas nawiązywania sesji UDP

R

ravitej

Guest
Cześć,

Mam problem przy pomocy SIM300 przesłać dane do centralnego serwera za pomocą protokołu UDP.Everythig działa dobrze chyba, że między danymi nie wpłynęło do naszego serwera.Jednak modemu przechowuje na odpowiadanie na zdalne wniosku, że pakiet został wysłany OK.Na tej zwiększamy liczbę sekwencji naszych pakietów.Problem zostanie rozwiązany, kiedy ponownie ustanowić połączenie GPRS po zamknięciu poprzedniej sesji bez resetowania modemu.

Użyć następujących poleceń, aby ustanowić sesję UDP z mojego serwera

AT CGDCONT = 1, "IP", "APN"

AT CSTT = "APN"

AT CDNSCFG = "DNS_IP"

AT CDNSORIP = 0

AT CIICR

AT CIFSR

AT CIPHEAD = 1

AT CIPSRIP = 1

AT CLPORT = "UDP", "11008"

AT CIPSTART = "UDP", "IP serwera", "Server Port"

AT CIPSEND = len <Data do send>

I wreszcie wysłać dane.

Po nawiązaniu połączenia i dalsze wysyłanie danych po sprawdzeniu stanu CIP przy użyciu

AT CIPSTATUS

Jeśli dostanę odpowiedź "CONNECT OK" i wysłać dane przy użyciu AT CIPSEND = len <Data do send> i jeśli odpowiedź jest inna niż "CONNECT OK" i po prostu zamknąć sesję przy użyciu polecenia

AT CIPSHUT

i

AT CIPCLOSE

Po tym znowu nawiązać połączenie przy użyciu wszystkich poprzednich poleceń.Jak wspomniałem wcześniej i nadal się CONNECT OK WYŚLIJ OK dla komend AT CIPSTATUS i AT CIPSEND = len <Data do send> ale brak jest danych otrzymanych w końcu jednak mój serwer pakiet liczy się na podstawie tych odpowiedzi trzyma na inkrementacji .
Jeśli powiem: mój wniosek do zamknięcia poprzedniej sesji i nawiązać połączenie ponownie zaczyna działa poprawnie.

Czy ktoś może mi pomóc w tym zakresie swoje bardzo ważne dla mnie i mojego projektu.

Pozdrowienia,
Ravitej

 
Po wysłaniu "AT CIPSTART" polecenia musisz czekać, aż do powrotu "CONNECT OK" przed wysłaniem danych.Ponadto dla każdej komendy wysłać trzeba czekać na radio do wysyłania odpowiedzi przed wysłaniem innego.

 
dla każdego i polecenia jestem zawsze czeka na spodziewaną odpowiedź przed i wysłać innego polecenia do modułu.Po uzyskaniu CONNECT OK jestem w stanie wysyłać dane.

Potem tylko sprawdzić stan połączenia za pomocą AT CIPSTATUS i znów czekać na połączenie OK, a następnie wysłać dane przy użyciu AT CIPSEND = <data len> i czekać na SEND OK incriment mój maszty liczba pakietów.

Teraz jest tu SIM300 problemem pozostaje odpowiedź CONNECT OK AT CIPSTATUS WYŚLIJ OK AT CIPSEND ale brak jest danych otrzymanych na mojej stronie serwera.Gdy pytam mojego wniosku do ponownego nawiązania połączenia GPRS przez zamknięcie połączenia przez CIPSHUT i CIPCLOSE i ponownie nawiązuje nowe połączenie w tym samym thig evry serwer działa dobrze i znowu po kilku dniach samo się powtarza.

 
Cześć
W uzupełnieniu do mojego poprzedniego postu, teraz mam problem symulowane w laboratorium poprzez zmniejszenie mocy sygnału na różnych szczeblach.I zauważyłem, że nawet wtedy, gdy siła sygnału jest bardzo mała (<9), SIM300 trzyma na odpowiadanie "CONNECT OK" i "SEND OK".W warunkach słabego sygnału sieci wysyła PDP: Ustal ale nie jest to wpłynęło modem ze względu na niski sygnał i modem zakłada związek, są dostępne, więc ciągle otrzymywać "CONNECT OK" i "SEND OK".W przypadku UDP, odpowiedzi te są wirtualne i są utrzymywane przez modem (MS).Stan ten nie ma związku, czy rzeczywiste połączenie GPRS z SGSN złamał lub nie.
Obecnie postanowiłem rozpocząć sesję TCP z serwerem, ale nie jestem świadomy Przekroczenie limitu czasu dla każdego polecenia.
:-

Czy ktoś może za pomocą tego samego typu aplikacji zasugerować mi Przekroczenie limitu czasu dla każdego z poniższych poleceń do utworzenia połączenia TCP z serwerem w

przypadku złej siły sygnału:

--
AT CGDCONT = 1, "IP", "APN"
AT CSTT = "APN"
AT CDNSCFG = "DNS_IP"
AT CDNSORIP = 0
AT CIICR
AT CIFSR
AT CIPHEAD = 1
AT CIPSRIP = 1
AT CLPORT = "TCP", "11008"
AT CIPSTART = "TCP", "IP serwera", "Server Port"
AT CIPSEND = len <Data do send>
Także może ktoś mi polecenia, aby zmienić limity czasowe sieci mających na celu podtrzymanie sesji TCP i możemy liczbę program ponownie spróbuje / limity czasu modem.
Thanks and Regards,
Ravitej

 
Poleceń, które mogą trwać długo, to:Kod:AT CIICR - 30 sekund

AT CIPSTART - 30 sekund, aby powrócić 'CONNECT OK "

AT CIPSEND - 30 sekund, aby powrócić 'wyślij OK ", następnie 30 sekund do pobrania danych z serwera

 

Welcome to EDABoard.com

Sponsor

Back
Top