Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki



Teraz jest 27 lis 2024, o 18:24


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 7 ] 
Autor Wiadomość
PostNapisane: 14 lip 2018, o 17:02 
Offline
Nowy

Dołączył(a): 17 lut 2018
Posty: 4
Pomógł: 0

Witam,
Mam za zadanie obsłużyć wysyłanie wiadomości tekstowych za pomocą wspomnianego modemu.
Gdy zobaczyłem, że P. Kardaś omawia moduł GSM w nowej książce nie zastanawiałem się długo nad zakupem.
Niestety opcja zakupu proponowanego w książce modułu odpadała ze względu na koneiczność montażu - nie mam na to czasu.
Nie ma to jednak znaczenia bo różnią się jedynie PCB a "serce" jest takie samo - moduł G510 firmy FIBOCOM.
Kupiłem moduł polskiej firmy mikro-tar - http://electropark.pl/moduly-gsm-gprs/7950-modul-gsm-gprs-g510-sms-internet-email-mt.html

Więc tak mam problem z nim, mianowicie pracuje z nim z poziomu terminala na PC.
Moduł zasilam z power banka 5V 2,1A. oraz połączyłem masy power banka i konwertera UART-USB.

Po podaniu zasilania modem zachowuje się prawidłowo (dioda LPG mruga, następuje logowanie do sieci, następnie są tylko krótkie "szpilki").
Po wpisaniu stringa do teminala "AT" i wysłaniu go modem odpowiada "OK" - też jest super.
Jednak gdy chcę wysłać następną komendę modem odsyła to co wysłałem i nic nie robi...
Wiem że jest to tzw. "echo" ale gdy wpisuje np. "at+gsn" to powinienem otrzymać IMEI a otrzymuje zwrot tej komendy.
Ogólnie moduł nie działa w sposób ukazany w książce, nie wysyła ERROR ani nic z tych rzeczy.
Terminal też dziwnie się zachowuje ponieważ potrafi się zawiesić i wyłączyć w momencie kliknięcia "send" (gdy chce wysłać stringa).

Prosił bym o pomoc, radę ponieważ być może popełniam jakiś oczywisty błąd.

Z góry dziękuje i pozdrawiam.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 16 lip 2018, o 08:01 
Offline
Nowy

Dołączył(a): 17 lut 2018
Posty: 4
Pomógł: 0

Jest to zaprojektowany, dostępny w sprzedaży moduł, więc sądzę, że jest on dobrze zaprojektowany.
W opisie modułu jest wspomniane, że "po komendzie należy przesłać znak "r"" jednak w YB nic takiego nie jest poruszane..
Jest to wymagane ?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 16 lip 2018, o 08:22 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 14 lut 2014
Posty: 293
Lokalizacja: Jaskółowo k. Warszawy
Pomógł: 9

Cześć.
Kolego uderzyłbym raczej do producenta, gdyż z tego co piszesz wychodzi że może coś być z modułem.
Możesz też mieć zbyt duży spadek V na kablu USB.
Płytka zasilana jest przetwornicą. Producent pisze że min Vin to 5V.
Może być tak że przetwornica nie wyrabia i nie masz 4V a 3V z kawałkiem i przez to są problemy.

Też mogę potwierdzić że bibloteki działają.
Płytkę polutowałem w 1h i moduł zadziałał od razu.

https://obrazkiforum.atnel.pl/2913/60431fdad4e8d47032401105532a5a08.jpg

_________________
POZDROWIONKA



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 16 lip 2018, o 09:04 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 04 cze 2014
Posty: 855
Lokalizacja: pod Warszawą
Pomógł: 58

Duszek napisał(a):
Jest to zaprojektowany, dostępny w sprzedaży moduł, więc sądzę, że jest on dobrze zaprojektowany.
W opisie modułu jest wspomniane, że "po komendzie należy przesłać znak "r"" jednak w YB nic takiego nie jest poruszane..
Jest to wymagane ?

znak "r" czyli zwykły ENTER
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

Poza tym tak Jak Koledzy piszą sprawdź ile masz zasilania ale bezpośrednio na nodze modułu.

_________________
Pomóżcie mi stanąć na nogi



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 16 lip 2018, o 13:52 
Offline
Nowy

Dołączył(a): 17 lut 2018
Posty: 4
Pomógł: 0

Moduł startuje, nie jest to kwestia zasilania. Wiem to ponieważ poddałem się i odpaliłem exampla producenta na arduino. I o dziwo moduł posłusznie wysłał SMS. Mam teraz mętlik w głowie jak to się dzieje. W przykładzie tym do wprowadzania komend służy instrukcja Serial.write() a nie np. Serial.print(). I teraz może terminal w zły sposób wysyła tą komendę AT ? Czy jeśli w programie do procka całą instrukcję AT traktuję jako tablicę charów, to czy jeśli będę osobno wysyłał każdy jej element i na jej końcu zamieszczał znak końca "\r\n" to zadziała ? Czy muszę w jakiś sposób potraktować komendę jako całość ?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 16 lip 2018, o 14:12 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 26 sty 2016
Posty: 1164
Lokalizacja: Kraków
Pomógł: 93

A jesteś pewien, że wysyłasz na końcu znak końca linii?
Masz możliwość podejrzeć, co się wysyła?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 16 lip 2018, o 14:12 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 04 cze 2014
Posty: 855
Lokalizacja: pod Warszawą
Pomógł: 58

YELLOW BOOK str.267 "Wysyłanie komend AT"
Masz tam wszystko podane na tacy z dokładnym tłumaczeniem. Przeczytaj na spokojnie bo sądzę, że nie czytałeś tego rozdziału - gdybyś czytał wiedziałbyś jak wysłać znak CR - uart_putc( '\r' );
P.Mirek pokazał to w tym rozdziale. Można oczywiście wysłać tak jak pokazałem Ci post wyżej.

_________________
Pomóżcie mi stanąć na nogi



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 7 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 0 gości


Nie możesz rozpoczynać nowych wątków
Nie możesz odpowiadać w wątkach
Nie możesz edytować swoich postów
Nie możesz usuwać swoich postów
Nie możesz dodawać załączników

Szukaj:
Skocz do:  
cron
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO