Modem

Previous  Next



Połączenia wdzwaniane oraz wysyłanie i odbieranie wiadomości tekstowych realizowane są przez moduł Modem

graphic

Ustawienia konfiguracyjne

graphic
  
Parametr
Wartość
Pin
Numer Pin karty używanej w modemie. W przypadku, gdy na karcie wyłączone jest żądanie numeru Pin, pole to należy pozostawić niewypełnione.
HardwareReset
Zezwolenie na sprzętowy reset zasilania modemu. Opcja dostępna przy współpracy z modemami dostarczonymi przez ANT.
1 - włączone
0 - wyłączone
ReadDevices
Zezwolenie na automatyczny odczyt urządzeń dołączonych do odpowiednich kanałów modułu Modem po zestawieniu połączenia.
1 - włączone
0 - wyłączone
ConnectionAttempts
Maksymalna ilość prób wykonania połączenia z danym numerem, w przypadku, gdy modem docelowy nie odbiera.
Disconnect
Rozłączanie połączenia natychmiast po zakończeniu odpytywania podłączonego modułu komunikacji z urządzeniami. Opcja używana we współpracy z ReadDevices.
1 - włączone
0 - wyłączone
MaxConnectionTime
Maksymalny czas trwania połączenia wyrażony w sekundach. Po upływie tego czasu połączenie jest bezwarunkowo przerywane. Opcja stanowi zabezpieczenie przed niekontrolowanym połączeniem lub zawieszeniem się modemu.
ConnectionRetryInterval
Okres pomiędzy nieudaną próbą zestawienia połączenia, a próbą ponowną.
ConnectionAttempts
Maksymalna ilość prób wykonania połączenia z danym numerem, w przypadku, gdy modem docelowy nie odbiera.
Hook
Okres, co jaki sprawdzane jest, czy przyszły nowe wiadomości tekstowe, np. 10 s, 30 s, 1 m, etc.
Mode
Tryb, w jakim odbierane i wysyłane będą wiadomości tekstowe. Dostępne opcje: Pdu, Txt
Remove
Usuwanie wiadomości po ich odczytaniu i przekazaniu na kanał wyjściowy.
1 - włączone
0 - wyłączone
Read
Periodyczne, z okresem zależnym od opcji Hook, sprawdzanie, czy przyszły nowe wiadomości tekstowe.
1 - włączone
0 - wyłączone
folder Numbers
Zawiera definiowane przez użytkownika opcje konfiguracyjne typu string. Nazwa opcji jest opisową nazwą zdefiniowanego połączenia, zaś jej wartością jest numer telefonu, np.
graphic
Tak zdefiniowane numery dostępne są na rozwijanej liście wyboru.


Obsługa modułu

·     Umieszczenie w konfiguracji

Po dodaniu modułu z menu Exchange -> Serial, należy odpowiednio zmapować jego kanały. Kanał com_in łączymy z wyjściem z modułu SerialPort, kanał com_out z jego wejściem. Kanały modem_in i modem_out po zestawieniu połączenia stanowić będą kanał komunikacyjny, do którego można podłączyć np. moduł urządzenia i/lub terminal.

Aby wysyłać wiadomości SMS w trybie tekstowym, należy stworzyć kanał wejściowy typu string, którego nazwa to numerdocelowy_in, np. 606123456_in. Tekst o dozwolonej długości wysłany na ten kanał zostanie dodany do kolejki wiadomości do wysłania. Kanał message_out należy zmapować z modułem obsługującym przychodzące wiadomości SMS.


·    Konfiguracja

Biorąc pod uwagę zastosowanie modułu i konfigurację, w jakiej ma pracować, należy skonfigurować jego parametry pracy.

UWAGA!!!
Błędne podanie numeru Pin spowodować może zablokowanie karty SIM


·    Zestawianie połączeń

Aby zestawić połączenie należy wybrać numer z rozwijanej listy i wcisnąć przycisk "Connect". Jeżeli wszystkie warunki do uzyskania połączenia zostały spełnione, moduł zestawi połączenie z wybranym numerem. Zasygnalizuje to odpowiedni stan opisowy modułu oraz zaświecenie się indykatora "online". Zarówno podczas zestawiania połączenia, jak i w czasie jego trwania operację można przerwać przyciskając przycisk "Abort".

Po zestawieniu połączenia moduł Modem, w zależności od ustawienia opcji konfiguracyjnych, może zainicjować odpytywanie urządzenia przez dołączony moduł, a po zakończeniu rozłączyć połączenie lub je utrzymać. Aby zabezpieczyć modem przed niekontrolowanym utrzymaniem połączenia, a jednocześnie zapewnić ilość czasu wystarczającą do wymiany danych ze zdalnym urządzeniem, należy odpowiednio ustalić parametr MaxConnectionTime.

Połączenia mogą być zestawiane nie tylko z poziomu GUI. Moduł udostępnia funkcję CallNumber, dzięki której można zestawić połączenie z poziomu zewnętrznego managera. Sygnalizacja połączenia jest taka sama, jak w przypadku wybierania numeru z rozwijanej listy.


·    Obsługa wiadomości tekstowych

Aby wysłać wiadomość tekstową pod numer zdefiniowany uprzednio w folderze "Numbers" konfiguracji modułu, należy wpisać w polu edycyjnym treść wiadomości, a następnie wcisnąć przycisk "Send". Wiadomość zostanie dodana do kolejki oczekujących na wysłanie. Kolejnym sposobem na wysłanie wiadomości SMS jest dostarczenie tekstu, który ma zostać wysłany, na kanał wejściowy z numerem telefonu w nazwie.

Moduł Modem udostępnia funkcję sendSMS, która pozwala na zakolejkowanie wiadomości do wysłania z zewnętrznego modułu skryptowego. Tylko przy użyciu tego sposobu możliwe jest wysyłanie wiadomości w trybie Pdu.

Odbieranie wiadomości może odbywać się synchronicznie, poprzez ustawienie opcji Read na 1 i zdefiniowanie okresu odpytywania w opcji Hook, albo asychronicznie, poprzez wywołanie z innego modułu skryptowego funkcji CheckSMS. 

Format wiadomości opuszczającej kanał message_out, w zależności od trybu pracy:

 - Txt: numer_telefonu;data,godzina|tresc_wiadomosci

 - Pdu: tresc_wiadomosci


Funkcje udostępniane przez moduł Modem

·    CallNumber number

Jeżeli modem jest wolny, inicjuje zestawienie połączenia z numerem number, podanym jako argument wywołania. Zwraca kod "calling", jeżeli połączenie zostało skierowane do wywołania lub "busy", jeżeli urządzenie jest zajęte obsługą innego połączenia, bądź jest niefunkcjonalne.

·    AbortCurrentCall

Przerywa aktualnie zestawione, bądź zestawiane połączenie.

·    CheckModemState

Zwraca kod odzwierciedlający aktualny stan modemu: "free", kiedy modem jest wolny, "connected", kiedy zestawione jest połączenie oraz "busy", gdy modem wykonuje jakieś działanie.

·    CheckSMS

Wymusza sprawdzenie, czy na modemie nie pojawiła się nowa wiadomość tekstowa. Jeżeli tak, zostanie ona wysłana na kanał message_out.

·    SendSMS message

Dodaje wiadomość do kolejki wiadomości wychodzących. Argument wejściowy różni się w zależności od tego, w jakim trybie obsługi wiadomości SMS znajduje się moduł. W trybie Txt jest to lista składająca się z dziewięciocyfrowego numeru telefonu oraz treści wiadomości. W trybie Pdu powinna być to gotowa do wysłania wiadomość. Zwraca kod "ok".


Konfiguracje, w jakich pracować może moduł

Dzięki szczegółowej konfiguracji oraz zwielokrotnionym metodom dostępu do głównych funkcjonalności, moduł Modem może znaleźć wiele różnych zastosowań, np.

1)  Po podpięciu kanałów modem_in oraz modem_out do modułu SerialTerminal, wyłączeniu opcji automatycznego odpytywania urządzeń oraz ustawieniu odpowiednio długiego maksymalnego czasu połączenia otrzymujemy konfigurację do zdalnego debugowania urządzeń. Przy takim doborze ustawień użytkownik samodzielnie zestawia i rozłącza połączenia.

graphic


2)  Wykorzystując zewnętrzny moduł managera korzystający z udostępnianych przez moduł Modem funkcji i uaktywniając funkcję automatycznego czytania urządzeń, zbudować można samodzielny system, z zadaną częstotliwością odpytujący zdalne urządzenie i wysyłający alarmowe SMSy do operatora systemu.


graphic



3) Stosując multipleksowanie kanałów modem_in i modem_out oraz nieco bardziej skomplikowany manager, zbudować można system, który przy pomocy jednego modemu odpytywać może wiele urządzeń, dostępnych pod różnymi numerami telefonów.

graphic



Przykładowa konfiguracja

W Menu Start -> ANT Studio -> ANT Exchange -> Examples znaleźć można dwie przykładowe konfiguracje, w jakich pracować może modem.

1. Terminal over Modem

graphic

Jest to ilustracja pierwszego z opisanych wyżej przypadków, kiedy to moduł Modem znajdzie zastosowanie. Konfiguracja zawiera moduł portu szeregowego, moduł Modem oraz SerialTerminal, który służy do ręcznej edycji wysyłanych do zdalnego urządzenia ramek. Połączenia są zestawiane i zrywane przez użytkownika przy pomocy listy wyboru i przycisku w graficznym interfejsie.


2. Modbus over Modem

graphic

W tej konfiguracji użytkownik po wybraniu odpowiedniego numeru i wciśnięciu przycisku Connect sprawi, iż moduł Modem wykona połączenie pod żądany numer, a po jego zestawieniu wymusi odczyt zdalnego urządzenia. Po zakończeniu wymiany danych przez moduł sprzętowy i urządzenie, połączenie zostaje przerwane. W tym celu ustawione są w drzewie konfiguracyjnym odpowiednie opcje. SerialTerminal w tej konfiguracji pełni jedynie rolę obserwacyjną, jego wyjście nie jest zmapowane z żadnym z kanałów.

Warto zwrócić uwagę, iż moduł ModbusMaster ma każdy IOBlock ustawiony w trybie "callback", czyli nie odpytuje urządzenia okresowo, a jedynie na zewnętrzne wymuszenie, za które w tym przypadku odpowiada moduł Modem.