Terminal (modem) GSM – Siemens M20T.pdf

(405 KB) Pobierz
Pamiêtam ksi¹¿kê najbogatszego chyba w tym momencie cz³owieka na œwiecie „Droga ku przysz³oœci”
http://www.easy-soft.tsnet.pl
1. Podstawowe informacje techniczne n/t SIEMENS M20T (2)
2. Włączenie i logowanie do sieci (3)
3. Wykonywaniepołączeń (5)
4. Wysyłanie SMS w formacie „text” (7)
5. Konkurenci M20T (10)
6. Skrócony wykaz komend AT (11)
Pamiętam książkę „Droga ku przyszłości”. Na początku autor opisuje w niej konsekwencje
wynikłe z pytania: co będzie, gdy komputer osobisty pojawi się w prawie każdym domu?
Później w trakcie lektury pojawia się pytanie: co stanie się, gdy przesyłanie danych
pomiędzy komputerami nie będzie kosztować nic lub bardzo mało? Trudno jest co prawda
mówić w tym momencie o znikomych kosztach - te jeszcze są wysokie, ale pierwsze
symptomy takiej sytuacji mamy już dziś. Internet, telefony komórkowe, systemy
łączności satelitarnej zmieniają powoli oblicze świata, powodują że informacja staje się
powszechna i łatwo dostępna.
W artykule wytłumaczę w jaki sposób można użyć telefonu komórkowego do przesyłania
danych. W ten sposób informacja może być dostępna wszędzie tam, gdzie jest zasięg
sieci GSM. Przykłady komend AT i zastosowań oparte będą na użyciu modemu GSM –
SIEMENS M20T. Używam określenia „modem” w odniesieniu do M20T, choć w
materiałach firmowych nazywany jest on terminalem. Określenie terminal bardziej jednak
pasuje do modułu bez obudowy, produkowanego jako M20 aniżeli do M20T. Podobne
urządzenia są również produkowane przez inne firmy. Te najnowsze wykorzystują do
przesyłania danych technologię GPRS.
W prezentowanych przykładach posługuję się komputerem PC i jednym z wielu
programów typu „terminal”. Oczywiście nic nie stoi na przeszkodzie, aby zbudować
system z mikrokontrolerem sterujący M20T . Sterowanie, jak przekonamy się o tym, jest
stosunkowo proste i polega na wydawaniu komend przesyłanych przez interfejs
szeregowy RS232.
Na wstępie jedna ważna uwaga. Modem M20T to bardzo zaawansowane technicznie
urządzenie z własnym mikrokontrolerem, programem aplikacyjnym i specyficznymi
właściwościami. Pewne funkcje dają się łatwo konfigurować i mogą w specyficznym
przypadku funkcjonować inaczej, niż opisałem to w artykule. Na przykład można ustawiać
sposób w jaki funkcjonuje interfejs szeregowy i jego sygnały. Można dla przykładu
wyłączyć tak zwane echo. W artykule będę się koncentrował na standardowych
komendach AT tak, aby możliwe było ich ewentualne użycie z innym modemem, czy
telefonem komórkowym. Raczej omijał będę w opisie pewne specyficzne dla M20T
funkcje, ponieważ prawdopodobnie nie dadzą się one użyć z innym modelem telefonu
GSM. Celem artykułu jest bowiem wytłumaczenie zasad funkcjonowania modemu GSM
tak, aby można było samodzielnie wykonać pewne aplikacje wykorzystujące tę
technologię przesyłania danych. To naprawdę podstawy podstaw. Rozszerzeń należy
szukać w dokumentacji konkretnego modelu modemu, czy telefonu GSM.
Lista komend AT jest bardzo obszerna. Typowo dla potrzeb prostej aplikacji do
przesyłania danych używa się może 20 do 30% rozkazów. Raczej nie będziemy używać
połączeń konferencyjnych, czy oczekujących. Należy jednak bardzo uważać. Czasami
składnie komend różnią się pomiędzy sobą tylko obecnością lub nieobecnością
pojedynczego znaku (często używanym w ten sposób jest znak równości) a funkcjonalnie
to zupełnie co innego.
J.Bogusz „Wysyłanie SMS przy pomocy terminala GSM”, Strona 1 z 13
396200115.004.png
http://www.easy-soft.tsnet.pl
Istotne informacje techniczne.
Terminal SIEMENS M20 sprzedawany jest w dwóch wersjach. Jedna z nich, to sam moduł
telefonu bez żadnych dodatkowych elementów interfejsu oraz układów zasilania. Ma on
oznaczenie M20. Sygnały wyprowadzone są na złączu 80-kontaktowym. Moduł ten
przeznaczony jest do zabudowy w urządzeniu. Druga sprzedawana jest pod oznaczeniem
M20T. Jest to ten sam moduł
umieszczony w plastykowej
obudowie na płytce drukowanej,
którą dzieli z układami dopasowania
poziomów napięć interfejsu
szeregowego oraz stabilizatorem
napięcia. Jego podłączenie do
komputera PC polega tylko na
doprowadzeniu zasilania,
podłączeniu anteny oraz połączeniu
z portem RS232 komputera PC przy
pomocy kabla. Modem SIEMENS
M20T może pełnić również rolę
zwykłego telefonu komórkowego.
Można do niego podłączyć słuchawki
oraz mikrofon a ingerując do
wnętrza, również klawiaturę i
wyświetlacz. Jednak osobiście
wydaje mi się, że sytuacja, gdy
zwykłego telefonu komórkowego używa się do transmisji danych, jest bardziej naturalna.
Oto garść koniecznych do spełnienia warunków zasilania niezbędnych dla poprawnej
pracy SIEMENS M20T:
- napięcie zasilania: od 8 do 24V,
- prąd zasilania: 250mA przy pracy ciągłej, 2A w impulsie 5ms,
- przyrost napięcia zasilania nie powinien być większy, niż 3V/ms,
- temperatura pracy: od –20 st.C do +55 st.C
- interfejs: RS232/V.24,
- parametry połączenia: 19200,n,8,1
Kupując M20T warto również zaopatrzyć się w firmową antenę tak, aby dopasowanie
impedancji nadajnika, kabla i anteny było jak najlepsze. Te dodatkowe kilka złotych
uchroni nas przed uszkodzeniem stopnia wyjściowego i oszczędzi związanych z tym
kłopotów.
Złącze zasilanie M20T: 1. +8 .. 24V, 4. napięcie załączenia
(IGN), 6. masa
Zasilanie powinno być doprowadzone pomiędzy wyprowadzenie 1 i 6 złącza. Zwierając
wyprowadzenie 1 i 4 na czas około 1 sekundy, załączamy terminal. Można również
J.Bogusz „Wysyłanie SMS przy pomocy terminala GSM”, Strona 2 z 13
396200115.005.png 396200115.006.png 396200115.007.png
http://www.easy-soft.tsnet.pl
wyprowadzenie 4 na stałe zewrzeć z 1, jednak w ten sposób tracimy możliwość
wyłączania telefonu przy pomocy komendy at^smso.
Włączenie terminala, logowanie do sieci.
Na początek jedna drobna uwaga. Pisząc przykłady komend AT przyjąłem konwencję, że
te wpisywane ręcznie, pisane są małymi literami natomiast komunikaty wysyłane przez
modem GSM i odbierane przez program terminala, pisane są dużymi literami. Wróćmy
więc do modemu.
Jeśli zwarliśmy wcześniej zacisk 1 i 4 wystarczy po prostu podać napięcie zasilające. Gdy
zaciski te są rozwarte, musimy połączyć zacisk 4 do 1 na okres około 1 sekundy.
Załączenie terminala będzie sygnalizowane przez mrugającą diodę LED. Oznacza to, że
modem jest włączony ale nie zalogowany do sieci. To znaczy - oczekuje podania numeru
PIN (lub w innej sytuacji poszukuje dostępnego sygnału sieci). Teraz uruchamiamy
program terminala dla komputera PC. Ustawiamy parametry połączenia jako 19200,n,8,1
i wydajemy komendę at . M20T powinien nam odpowiedzieć wysyłając napis OK . Jest to
najprostszy test funkcjonalny połączenia modemu GSM z urządzeniem sterującym. Tu
jedna uwaga.
Ważną cechą interfejsu RS232 funkcjonującego w M20T jest tak zwane echo. Nie jest to
jakaś cecha szczególna akurat tego modelu. Wysyłanie echa jest zgodne ze specyfikacją
standardu ANSI dla większości terminali. Co oznacza to w praktyce? Otóż każdy znak
przesyłany do M20T jest zwracany do urządzenia nadającego. Cecha ta umożliwia
zbudowanie bardzo prostego algorytmu kontroli odbieranych przez modem poleceń i
znaków. Dla przedstawionych w tym artykule sugestii układowych nie ma to większego
znaczenia, ale może mieć bardzo duże w przypadku konkretnej aplikacji.
Wprowadzenie numeru PIN i PUK.
Do poprawnej pracy modemu GSM, wymagane jest (jak w każdym telefonie
komórkowym) podanie numeru PIN związanego z konkretną kartą SIM. Numer PIN to
czterocyfrowy kod, rodzaj hasła zabezpieczającego kartę SIM przed nieautoryzowanym
użyciem. Trzykrotne błędne podanie numeru PIN powoduje zablokowanie możliwości jego
wprowadzenia i żądanie kodu PUK. Podobnie jak PIN, PUK jest również kodem –
rodzajem hasła, jednak znacznie dłuższym i trudniejszym do zapamiętania. Składa się
bowiem aż z 11 cyfr. W praktyce podanie kodu PUK zmusza potencjalnego użytkownika
do użycia dokumentacji karty SIM dostarczonej przez operatora.
at+cpin? to pytanie, czy numer PIN jest konieczny
+CPIN:SIM PIN odpowiada nam M20T, jeśli tak
OK
at^spic
to zapytanie o ilość dostępnych prób wprowadzenia numeru PIN
^SPIC:3 to odpowiedź M20T, jeśli nadal istnieje możliwość trzech prób
OK
at+cpin=”8882” wprowadzenie numeru PIN
J.Bogusz „Wysyłanie SMS przy pomocy terminala GSM”, Strona 3 z 13
396200115.001.png
http://www.easy-soft.tsnet.pl
OK
jeśli numer PIN jest poprawny - M20T odpowiada OK, jeśli nie - ERROR
Gdy poprawnie podaliśmy numer PIN, po około 5..10 sekundach dioda led powinna
przestać migotać, sygnalizując tym samym zalogowanie do sieci. Ten sam zestaw
komend posłużyć nam może do wprowadzenia numeru PUK.
at+cpin? pytanie o status numeru PIN
+CPIN:SIM PUK M20T odpowiada żądaniem wprowadzenia PUK; dzieje się tak
w przypadku braku możliwości podania PIN (np. po trzech błędach)
OK
at^spic
to tym razem pytanie o ilość dostępnych prób wprowadzenia kodu PUK
^SPIC:10 M20T informuje nas o 10 możliwościach podania PUK
OK
at+cpin=”8162656”,”4321” podajemy kod PUK i nowy numer PIN
OK
at+cpin? to ponowne pytanie o status PIN w celu weryfikacji
+CPIN:READY
odpowiedź M20T, jeśli karta SIM jest gotowa do pracy
OK
Oczywiście operacje dostępne w „normalnym” telefonie komórkowym, takie jak zmiana
numeru PIN również i tu są możliwe. Zmiana kodu PIN na nowy wymaga podania dwóch
kodów: starego i nowego numeru PIN.
at+cpwd=”SC”,”8882”,”4321”
„SC” to komenda zmiany numeru PIN, „8882” to stary numer PIN, „4321” nowy. W
przypadku poprawnego wykonania komendy, M20T odpowiada wysyłając napis OK.
Odczyt statusu logowania do sieci.
Po wpisaniu numeru PIN, M20T loguje się do sieci. Jeśli operacja logowania przebiega
właściwie i sieć umożliwia korzystanie ze swoich usług, dioda sygnalizacyjna led na
obudowie przestaje pulsować i zaczyna świecić światłem ciągłym. Typowo logowanie trwa
od 5 do 10 sekund. Zarówno w sytuacjach awaryjnych, jak i wtedy gdy wszystko
przebiega prawidłowo, można skorzystać z polecenia at+creg aby odczytać status
rejestracji.
at+creg? odczyt statusu rejestracji w sieci
J.Bogusz „Wysyłanie SMS przy pomocy terminala GSM”, Strona 4 z 13
396200115.002.png
http://www.easy-soft.tsnet.pl
+CREG: 0,5
przykład odpowiedzi M20T, 5 oznacza włączony roaming
kompletny zestaw kodów dostępny jest w dokumentacji danego
OK
modelu telefonu
W podobny sposób możemy również uzyskać status operatora, w którego sieci nastąpiła
rejestracja.
at+cops?
pytanie o operatora
+COPS: 0,0,"ERA GSM"
przykład odpowiedzi M20T, mówiący o rejestracji
w sieci ERA
OK
Pomiar jakości sygnału.
Użyteczną komendą jest pomiar jakości docierającego do anteny sygnału. Można tej
komendy użyć do budowy graficznego wskaźnika poziomu sygnału, jednak znacznie
ważniejsza jest informacja, czy w danych warunkach połączenia ze stacją bazową,
połączenie jest w ogóle możliwe. Można również w ten sposób stwierdzić fakt odłączenia
anteny, czy też jej uszkodzenia.
at+csq
to pytanie skierowane do M20T o jakość sygnału
+CSQ:23,0
informacja na temat mocy sygnału oraz współczynnika błędu
OK
Pierwszy ze zwracanych parametrów podaje nam siłę odbieranego sygnału stacji
bazowej. Zakres zwracanych wartości mieści się w granicach od 0 do 99, a w praktyce
przeważnie od 0 do 27. Wartość 0 oznacza –113 dBm, każda kolejna zmiana wartości, to
kolejne 2 dBm zmiany (1 = -111 dBm, 2 = -109 dBm itd.). Wartość 99 oznacza, że
jakość sygnału nie jest znana.
Wykonywanie połączeń.
Wybieranie numeru telefonu.
Gdy już mamy za sobą logowanie do sieci i zmierzyliśmy jakość sygnału, możemy
przystąpić do wykonywania połączeń. Komendy, które wydawane są M20T w zasadzie
niczym nie różnią się od tych, które akceptowane są przez zwykły modem.
atd504436890; to wybranie numeru telefonu, z którym chcemy uzyskać połączenie
głosowe.
Bardzo ważne jest użycie znaku średnika na końcu wybieranego numeru. Oznacza on
dokładnie tyle, że chcemy uzyskać połączenie głosowe. W przypadku połączenia do
transmisji danych, format wybierania numeru jest następujący:
atd504436890 to wybranie numeru telefonu, w celu przesłania danych
Możliwe komunikaty w takiej sytuacji, to:
J.Bogusz „Wysyłanie SMS przy pomocy terminala GSM”, Strona 5 z 13
396200115.003.png
Zgłoś jeśli naruszono regulamin