www.label.pl | LAB-EL Elektronika Laboratoryjna
Elektronika Laboratoryjna

Strona pochodzi z pomocy programu LBX do nadzoru klimatu - temperatury, wilgotności, co2, wiatru, ...
Producent urządzeń (termometry, higrometry, barometry, mierniki, rejestratory) oraz oprogramowania do monitoringu parametrów klimatu.

Do pobrania: Program LBX

Modem GSM Motorola G20

Hardware

Modem GSM typu Motorola G20 występuje w postaci modułu TG20 oferowanego przez firmę Macropol. Wcześniejsza wersja modułu miała włącznik zasilania wymagający interwencji użytkownika po każdym podłączeniu do zasilania, co nieco wyklucza zastosowanie tego modułu w praktyce (ze względu na wyłączenie się modułu po zaniku i podniesieniu zasilania i konieczność ręcznego włączenia). Nowsza wersja modułu "TG20 Basic" nie ma już tego włącznika i działa cały czas przy obecności zasilania.

Moduł ma kilka diod sygnalizacyjno-diagnostycznych:

  • POWER - sygnalizacja obecności zasilania
  • SIM - obecność karty SIM
  • USB - aktywne połączenie przez złącze USB
  • RS232 - aktywne połączenie przez złącze RS232 (dokładniej to brak połączenia przez USB
  • GPRS - transmisja danych GPRS
  • TXD/RXD - nadawanie/odbiór danych do/z komputera

Podłączenie

Moduł TG20 ma dwa złącza do połączenia z PC: port szeregowy RS232 lub USB. Połączenie należy wykonać na jeden z tych sposobów. USB wymaga instalacji specjalnego driver'a, który dostępny jest dla systemów Windows 2000/XP. Port szeregowy RS232 działa we wszystkich systemach.

RS232

Podłączenie przez RS232 należy dokonać za pomocą typowego kabla RS232 "prostego" (nie "null-modem"). Na modul jest dioda sygnalizacyjna "RS232" która się świeci w przypadku połączenia przez RS232 (dioda ta świeci się cały czas gdy odłączone jest połączenie przez USB, tak więc nie jest to właściwa diagnostyka połączenia przez RS232).
UWAGA: w czasie połączenia przez RS232 musi być odłączone połączenie USB, w przeciwnym wypadku moduł przełączy się na złącze USB.
Połączenie przez port szeregowy jest bezpośrednio obsługiwane przez program lbx.

USB

Podłączenie przez USB jest obsługiwane w systemach Windows 2000/XP, dla których jest odpowiedni driver dla modemu. W tym czasie połączenie przez RS232 powinno być odłączone. Na module jest dioda sygnalizacyjna "USB" sygnalizująca obsługę złącza USB przez moduł.

Połączenie przez USB wymaga instalacji w systemie Windows odpowiedniego drivera, który utworzy wirtualny port COM dla modemu, za pomocą którego program lbx będzie komunikować się z modemem.

Instalacja drivera USB

W przypadku podłączenia modemu przez USB wymagany jest odpowiedni driver. Driver jest dostępny dla systemów Windows 2000/XP. Przy instalacji programu lbx dostępna jest opcja, która powoduje skopiowanie tego drivera do katalogu instalacyjnego programu. Driver nie jest jeszcze na tym etapie instalowany w systemie ! Znajduje się on w podkatalogu drivers, gdzie jest gotowy do instalacji.
W przypadku braku wyboru opcji załączenia tego drivera w czasie instalacji programu lbx, można go w każdej chwili doinstalować - wystarczy ściągnąć plik drivera i zapisać go lokalnie na dysku.

Instalacja drivera musi się odbyć jeszcze przed skonfigurowaniem programu lbx do korzystania z modemu. Procedura jest następująca: należy podłączyć modem przez złącze USB do komputera, włączyć zasilanie modemu. System Windows zgłosi pojawienie się nowego urządzenia. Przy tym zgłoszeniu należy odmówić systemowi szansy na automatyczne wyszukanie drivera, zamiast tego należy go skierować do użycia dostarczonego drivera, wskazując podkatalog drivers z katalogu instalacyjnego programu (typowo \Program Files\LAB-EL\LBX na dysku systemowym). System powinien przyjąć driver i zainstalować nowy modem w systemie. Modem pojawi się na liście modemów w panelu sterowania. Nie ma tam potrzeby dokonywania żadnych zmian, jedynie można sprawdzić (lub zmienić) wybór wirtualnego portu COM pod jakim widziany jest modem. W Panelu Sterowania należy wybrać Modemy lub Opcje telefonu i modemu, następnie na liście modemów powinien być widoczny nowo zainstalowany modem. Zmiana numeru portu COM dostępna jest po zaznaczeniu na liście modemu, następnie przycisk Właściwości, zakładka Zaawansowane, przycisk Zaawansowane ustawienia portu, Numer portu COM.

W programie lbx należy zadeklarować modem na porcie szeregowym (analogicznie do podłączenia przez port RS232, niezależnie od tego że fizycznie jest on podłączony przez USB), podając odpowiedni numer portu COM z konfiguracji modemu.

Podłączanie/odłączanie modemu na złączu USB

Ze złączem USB związanych jest parę niansów, wynikających ze sposobu obsługi tego portu przez driver modemu. Niuanse biorą się z tego że driver modemu tworzy i usuwa wirtualny port COM dla modemu "w locie", odpowiednio do wykrycia sytuacji podłączenia czy też odłączenia modemu. Zdarzają się jednak problemy z detekcją tych zdarzeń, które rzutują bezpośrednio na obsługę modemu w programie lbx. Opisane problemy dotyczą wyłącznie połączenia przez USB, portu RS232 to nie dotyczy, takich problemów wtedy nie ma. W typowym przypadku gdy modem jest podłączony na stałe napotkanie opisanych problemów jest mało prawdopodobne, jednak w przypadku różnych prób i eksperymentów z podłączaniem modemu mogą wystąpić, stąd też poniższa wiedza może pomóc w diagnozowaniu problemów.

Typowa sytuacja to uruchomienie programu lbx w czasie jak modem jest już podłączony i ma włączone zasilanie. W takiej sytuacji w systemie utworzony jest już wirtualny port COM dla modemu, program lbx startując ma port i tym samym modem dostępny bezpośrednio do użytku, zajmuje ten port do wyłącznego użytku i korzysta z niego aż do zakończenia działania. Jeżeli modem pozostaje cały czas podłączony w czasie działania programu lbx, to żadne problemy się nie powinny pojawić (dotyczy to oczywiście również programu lbx działającego jako serwer, co oznacza obecność włączonego modemu w czasie jak komputer i system zostają włączone). Problemy pojawić się mogą wtedy gdy modem zostanie odłączony/wyłączony w czasie pracy programu lbx. System Windows zauważa odłączenie urządzenia USB, odładowuje driver do urządzenia z systemu. Przy odładowywaniu drivera usuwany jest również wirtualny port COM, tyle że tutaj mogą się wydarzyć dwie rzeczy: albo port zostanie usunięty, albo nie, gdyż jest w tym czasie używany i zajęty przez uruchomiony program (lbx). Jeżeli port zostanie pomyślnie usunięty, to nie ma problemu, program lbx radzi sobie z taką sytuacją detekując ją poprawnie i informując o braku portu. Ponowne podłączenie modemu przy cały czas działającym programie lbx spowoduje załadowanie drivera modemu i utworzenie wirtualnego portu COM, co program lbx zauważy i ponownie nawiąże połączenie z modemem, bez potrzeby żadnej ingerencji użytkownika. Jeśli jednak w czasie odłączania modemu wirtualny port COM nie zostanie usunięty z systemu (co się zdarza najczęściej), to ponieważ port jest nadal zajęty przez program lbx, w momencie ponownego podłączenia modemu nie powiedzie się próba utworzenia wirtualnego portu COM (który już istnieje), driver zaś nie nawiązuje komunikacji przez istniejący już port. System pozostaje w stanie z podłączonym modemem i wirtualnym portem COM który nie działa. W tej sytuacji niezbędna jest sekwencja odłączenia modemu, zamknięcia programu lbx, podłączenia modemu i ponownego uruchomienia programu lbx. Pomiędzy poszczególnymi etapami należy wprowadzić przynajmniej kilkusekundowe opóźnienia, aby dać systemowi Windows czas na "zorientowanie się w sytuacji". Samo zamknięcie i uruchomienie lbx nic nie da - gdyż wirtualny COM zniknie po jego zwolnieniu przez lbx, ale nie zostanie utworzony na nowo, bo już w tej chwili nie ma zdarzenia podłączenia nowego urządzenia USB. Dlatego wymagane jest jeszcze osobno odłączenie i podłączenie modemu, aby system mógł utworzyć wirtualny port COM.

Podsumowując, odłączenie modemu w czasie pracy programu lbx może typowo zakończyć się (ale nie musi, różnie to się zdarza) brakiem komunikacji z modemem mimo ponownego podłączenia modemu. Wynika to z natury działania drivera modemu. Bezpieczne jest natomiast uruchomienie programu lbx bez podłączonego modemu i późniejsze podłączenie/włączenie modemu. Program lbx zorientuje się wtedy w sytuacji podłączenia nowego urządzenia i nawiąże poprawnie komunikację.

Konfiguracja modemu w programie lbx

Konfiguracja urządzenia w serwerze opisana jest osobno. Modem G20 nie ma sterowania włączaniem zasilania, co należy uwzględnić w wyborze opcji.

Błędy w firmware modemu

Niektóre wersje wewnętrznego oprogramowania modemu G20 (firmware) mają błąd w sekwencji komend do wysyłania SMS. Błąd taki napotkany został w wersji firmware G208_G_0C.04.12R, w innych późniejszych wersjach już nie. Niewykluczone jest istnienie tego błędu również w niektórych wersjach firmware modemu z którymi nie mieliśmy do czynienia - w takim wypadku pojawią się problemy z wysłaniem SMS raportowane w postaci błędu. Sytuacja taka wymaga wtedy poprawki w programie lbx uwzględniającej daną wersję firmware modemu. Problem najprawdopodobniej jest marginalny, gdyż dotyczy dość starej wersji firmware, aktualne wersje w nowych modemach nie mają tego błędu.