ATNEL tech-forum https://forum.atnel.pl/ |
|
SIM900 brak komunikacji z AVR https://forum.atnel.pl/topic20008.html |
Strona 1 z 1 |
Autor: | Draxter32 [ 16 sty 2018, o 17:00 ] |
Tytuł: | SIM900 brak komunikacji z AVR |
Mam problem z odbieraniem SMS od modułu SIM900 GSM Shield Arduino. Napisałem program na ATMega32, który odbiera SMS "=on" i zapala LED. Program działa. Sprawdziłem na UART-PC. Problem pojawia się gdy podłączam SIM900 do AVR przez RX->TX, TX->RX. Wysyłam SMS a dioda się nie zapala. Czy ktoś wie o co chodzi? Schemat modułu SIM900: |
Autor: | grzeniu 73 [ 16 sty 2018, o 17:25 ] |
Tytuł: | Re: SIM900 brak komunikacji z AVR |
A podłączałeś moduł do terminala? Korzystałem z takiego modułu i działał bardzo dobrze. Zakładam ,ze masz zle napisany program komunikacji sim-avr. Ale to i tak pewnie w C wiec nie pomoge |
Autor: | grzeniu 73 [ 16 sty 2018, o 19:29 ] |
Tytuł: | Re: SIM900 brak komunikacji z AVR |
A jak wyślesz smsa przez terminal to tez nie masz odpowiedzi? Głownie chodzi mi o komunikacje sim - terminal.Najlepiej na początku wyeliminować własne błędy. Bo to one zazwyczaj są problemem. |
Autor: | Draxter32 [ 16 sty 2018, o 23:15 ] |
Tytuł: | Re: SIM900 brak komunikacji z AVR |
Sprawdzę czy przez terminal da radę. Czyli mam wysterować terminalem, moduł SIM900, tak aby "sam do siebie" wysłał wiadomość? |
Autor: | grzeniu 73 [ 18 sty 2018, o 09:52 ] |
Tytuł: | Re: SIM900 brak komunikacji z AVR |
Nie. Ty żeby odczytać musisz wysłać komendę nakazująca sim900 odczytać smsa. Wtedy on sięga do pamięci i wysyła ci go przez RS232 i Ty go odczytujesz w terminalu. Wiec podłączasz go do terminala wysyłasz komendę "AT" i sim odpowie ci "OK" i to będzie znaczyc ,ze masz komunikacje poprawna. Nastepnie wysylasz sms na sim900 i komendami AT z terminala każesz mu ja odczytać. Sim900 wyśle ci ja do terminala. Jeśli to będzie działać to wtedy masz pewność ze komunikacja działa. Następnie musisz sobie tak napisać odbiór w avr żeby to on ci te komendy wysyłał i później pokazał na wyświetlaczu czy co tam innego z nim zrobił. |
Autor: | Draxter32 [ 18 sty 2018, o 11:18 ] |
Tytuł: | Re: SIM900 brak komunikacji z AVR |
No tak ale mam tak skonfigurowany SIM900, że od razu na terminalu pojawia się treść SMS. Procek nie widzi ramek z treścią. Na terminalu wyświetla się poprawnie SMS. |
Autor: | mczarny [ 18 sty 2018, o 11:26 ] |
Tytuł: | Re: SIM900 brak komunikacji z AVR |
Draxter32 napisał(a): No tak ale mam tak skonfigurowany SIM900, że od razu na terminalu pojawia się treść SMS. Procek nie widzi ramek z treścią. Na terminalu wyświetla się poprawnie SMS. Jeżeli na terminalu pojawia się treść sms-a to moduł sim działa poprawnie. Przecież po podłączeniu Rx i Tx do procka zamiast do terminala to samo doleci do procesora i musisz zadbać o to żeby procesor prawidłowo zareagował na przychodzącego sms-a. Pokaż ten fragment kodu odpowiedzialny za odbiór danych przez UART |
Autor: | Draxter32 [ 18 sty 2018, o 15:36 ] |
Tytuł: | Re: SIM900 brak komunikacji z AVR |
mczarny napisał(a): Pokaż ten fragment kodu odpowiedzialny za odbiór danych przez UART W przerwaniu odbieram dane do volatile unsigned char buff[128]; język c Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod. Inicjalizacja UART język c Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod. A tak napisałem parsowanie danych |
Autor: | mczarny [ 18 sty 2018, o 16:06 ] |
Tytuł: | Re: SIM900 brak komunikacji z AVR |
To jeszcze zrób zrzut ekranu jak wygląda przychodzący sms w terminalu |
Autor: | Draxter32 [ 18 sty 2018, o 19:45 ] |
Tytuł: | Re: SIM900 brak komunikacji z AVR |
mczarny napisał(a): To jeszcze zrób zrzut ekranu jak wygląda przychodzący sms w terminalu |
Autor: | mczarny [ 18 sty 2018, o 21:17 ] |
Tytuł: | Re: SIM900 brak komunikacji z AVR |
zrób może tak język c Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod. i wyślij sms o treści LEDON oczywiście "bufor" musisz sobie zdefiniować, ale wiesz jak bo już masz to zrobione |
Autor: | Draxter32 [ 18 sty 2018, o 23:54 ] |
Tytuł: | Re: SIM900 brak komunikacji z AVR |
@mczarny, przedstawione rozwiązanie u mnie nie działa. Z terminala jak i przez SMS wysyłając treść, dioda się nie zapala. |
Autor: | MirkoT [ 19 sty 2018, o 07:53 ] |
Tytuł: | Re: SIM900 brak komunikacji z AVR |
A spróbuj: |
Autor: | MirkoT [ 19 sty 2018, o 09:30 ] |
Tytuł: | Re: SIM900 brak komunikacji z AVR |
Mam jeszcze pytanie Bufor napełniasz w przerwaniu. A kiedy parsujesz dane? W sensie co jest sygnałem do tego żeby rozpocząć parsowanie? Czy może robisz to "cały czas w pętli głównej"? |
Autor: | mczarny [ 19 sty 2018, o 10:52 ] |
Tytuł: | Re: SIM900 brak komunikacji z AVR |
Do bufora trafiają dwie linie danych więc jeżeli chcesz żeby program zareagował na "=on musisz programowo pominąć pierwszą linię czyli "+CMT............" Jeżeli z terminala wpiszesz tylko "=on\r\n" to Twoja funkcja parsująca reaguje prawidłowo ale moduł SIM przesyła nie tylko treść sms-a. Ja stosuję sposób przedstawiony w YB gdzie program analizuje kolejne linie ASCII zliczając znak "enter" Myślę, że najpierw musisz zareagować na to że sms w ogóle się pojawił czyli na początek stringa +CMT, pominąć tą linię i parsować dopiero wtedy właściwą treść sms-a. Tak czy inaczej polecam Ci YB gdzie masz podane wszystko na tacy łącznie z obsługą timeoutów, obsługą sms-ów w trybie tekstowym i UDP. Co ważne masz to wszystko zrobione w sposób nieblokujący. pozdrawiam |
Autor: | Draxter32 [ 20 sty 2018, o 00:56 ] |
Tytuł: | Re: SIM900 brak komunikacji z AVR |
MirkoT napisał(a): A spróbuj: Sprawdziłem. Nie działa, zarówno przez moduł SIM900 jak i przez terminal. MirkoT napisał(a): Mam jeszcze pytanie Bufor napełniasz w przerwaniu. A kiedy parsujesz dane? W sensie co jest sygnałem do tego żeby rozpocząć parsowanie? Czy może robisz to "cały czas w pętli głównej"? Parsowanie danych wykonuje się w pętli głównej programu. mczarny napisał(a): Do bufora trafiają dwie linie danych więc jeżeli chcesz żeby program zareagował na "=on musisz programowo pominąć pierwszą linię czyli "+CMT............" No dobrze a jeśli wpiszę w terminal "+CMT +48xyz jakiś-tekst-sim-900 /r/n=on/r/n" czyli zrobię symulację to dioda zapala się. Zrobiłem test i zamiast "=on" wpisałem w programie "+CMT". Nie działa. |
Strona 1 z 1 | Strefa czasowa: UTC + 1 |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |