Reklama: Chcesz umieścić tutaj reklamę? Zapraszamy do kontaktu »
Veichi
Powrót do listy artykułów Aktualizowany: 2012-07-02
iMod – Nowa funkcjonalność: dwukierunkowa komunikacja SMS

Moduł telemetryczny iMod ma możliwość wyposażenia go w modem GSM/GPRS/EDGE Class 10 pracujący w trzech zakresach (900/1800/1900 MHz). Modemy te sprawdzają się idealnie w instalacjach, gdzie informacje zebrane przez urządzenie przesyłane są na dalekie odległości.

Jedną z podstawowych funkcjonalności modemów tego typu jest możliwość wysyłania oraz odbierania SMS-ów. Moduł telemetryczny iMod zapewnia pełną, dwukierunkową komunikację z użytkownikami oraz innymi urządzeniami.


Dwukierunkowa komunikacja SMS

Wbudowany mechanizm bramki SMS, pozwala na wysłanie wiadomości o dowolnej treści, bez ograniczeń. Treść SMS-a może zawierać aktualną wartością parametrów modbusowych, bądź wcześniej zdefiniowaną, w pełni konfigurowalną wiadomość tekstową. Dodatkowo istniej możliwość rozbudowy bramki SMS o reakcję na otrzymane wiadomości za pomocą prostych skryptów shell-owych, co pozwala na zarządzanie maszynami i instalacjami z telefonu komórkowego.

 

Wysyłka sms-ów na zdarzenie z platformy iMod


Wysyłka SMS-ów na zdarzenie z platformy iMod


1. Konfiguracja kanału powiadomień.

Wysłanie SMS-a z iModa na zdarzenie jest bardzo proste – wystarczy w odpowiedni sposób skonfigurować plik MainConfig.xml. Aby to zrobić, należy zdefiniować kanał powiadamiań – message-channel według przykładu poniżej

W kanale powiadomień SMS można definiować dowolną liczbę odbiorców, ważne, aby zwrócić uwagę na numer kierunkowy kraju, do którego zostanie wysłany SMS. Oczywiście iMod nie ma ograniczeń również co do zdefiniowania ilości kanałów, tak więc użytkownik uzyskuje możliwość zdefiniowana kilku grup odbiorców.

 

2. Konfiguracja treści komunikatu.

Drugim krokiem jest zdefiniowanie treści komunikatu. Dokonuje się tego według przykładu poniżej:

Treść komunikatu może być statyczna tak jak powyżej, może być również dynamiczna wykorzystując makra:

  • REG_NAME[id] – nazwa parametru o danym id
  • REG_VALUE[id] – aktualna wartość parametru o danym id
  • REG_UNIT[id] – symbol jednostki parametru o danym id
  • REG_LABEL[id] – etykieta parametru o danym id

 

3. Konfiguracja parametru.

Trzecim krokiem jest odpowiednie zdefiniowanie parametru oraz zdarzenia, po którym zostanie wysłany SMS. Istnieje możliwość zdefiniowania 4-ech typów zdarzenia:

  • OnChange – Zdarzenie generowane gdy wartość pomiędzy odczytami przekroczyła zadaną histerezę
  • NoChange – Zdarzenie generowane gdy wartość pomiędzy odczytami parametru nie zwiększyła się o zadaną histerezę
  • HiAlarm - Zdarzenie generowane gdy wartość parametru przekroczy ustawiony próg
  • LoAlarm - Zdarzenie generowane gdy wartość parametru spadnie poniżej zadanego progu

Parametrem o ID 100 jest dioda wejście cyfrowe DI1. Zdarzenie zostało zdefiniowane w ten sposób, aby na zmianę stanu wejścia cyfrowego, został wykorzystany kanał SMS_sender do wysłania wiadomości SMS o treści zapisanej w Message_1.

 

Reakcja platformy iMod na komunikat SMS


Reakcje platformy iMod na komunikat SMS

iMod posiada możliwość reagowania na SMS-y przychodzące. W tym celu należy wykorzystać odpowiednio skonfigurowany plik MainConfig.xml oraz prosty skrypt shell-owy. Skrypt wyłącza diodę USER LED w momencie, kiedy na urządzenie zostanie wysłany SMS o treści USER_LED=0 oraz załącza w momencie gdy w treści wiadomości SMS będzie znajdować się zapis USER_LED=1.

 

1. Konfiguracja kanału źródłowego oraz parametru User Led

W pliku MainConfig.xml należy dodać source-channel, który umożliwi dostęp do zasobów sprzętowych.

Należy również odpowiednio zdefiniować parametr określający diodę User Led w celu przypisania jej adres modbusowy 100.

 

2. Przygotowanie skryptu Shell'owego

Kolejnym krokiem jest przygotowanie skryptu shell-owego powodującego zmianę wartości diody w zależności od treści SMS-a.

 


Schemat blokowy przedstawiający logikę skryptu shell'owego

W pierwszej kolejności skrypt sprawdza ilość plików znajdujących się w katalogu /tmp/sms/incoming/, odczekuje 5 sekund i sprawdza ponownie ile znajduje się w nim plików. Jeśli ilość plików wzrosła, oznacza to że w międzyczasie NPE odebrał wiadomość SMS. Warunek ten jest opisany w dalszej części skryptu. W tej sytuacji skrypt odszukuje ostatnio zmodyfikowany plik i oznacza go jako parametr $C.

Kolejnym krokiem jest sprawdzenie treści odebranego SMS-a. W skrypcie powyżej, stan parametru diody User Led może przyjąć wartość 1 lub 0 w zależności od zapisu jaki znajduje się wiadomości SMS.

Jeżeli w treści SMS-a widnieje zapis USER_LED=0, za pomocą aplikacji modmas zostaje zmieniona wartość parametru modbusowego o id 100 na stan 0. Parametr ten według wcześniejszej konfiguracji, przypisany jest do diody User Led, co powoduje, że dioda zgaśnie. Jeśli w treści SMS-a istnieje ciąg znaków USER_LED=1, dioda User Led zostanie załączona. W przypadku innej treści wiadomości, na konsoli zostanie wyświetlona informacja SMS message is wrong.

 

3. Uruchomienie skryptu Shell'owego

W definicja kanału skryptowego została podana ścieżka w którym znajduje się plik skryptu oraz odstępy czasu co jaki skrypt będzie wykonywany. Dla tego przypadku czas ten wynosi 10 s.

Należy również stworzyć wirtualny parametr, który będzie wywoływał skrypt.

Wykorzystanie skryptów znajduje szerokie zastosowanie. Dwukierunkowa komunikacja SMS wprowadza możliwość nie tylko zdalnego kontrolowania pracy instalacji automatyki, ale również sterowania zasobami przy pomocy krótkich wiadomości tekstowych SMS wysyłanych z telefonu.

 

Czytaj cały artykuł: http://www.a2s.pl/imod-dwukierunkowa-komunikacja-sms-a-2297.html

Zobacz urządzenia z serii iMod: http://www.a2s.pl/platforma-seria-imod-nowosc-c-834_1933_107_1984.html

Dodał:
TECHBASE

Czytaj także