Obsługa SMS w przemysłowych routerach i gateway’ach GSM [z instrukcją konfiguracji]
Kontakt w sprawie artykułu: Łukasz Żabski - 2021-03-17
Z tego artykułu dowiesz się:
- jak wysłać SMS za pomocą wejścia cyfrowego DI,
- jak wysłać SMS za pomocą Modbus TCP/RTU,
- jak wysłać SMS za pomocą komendy HTTP,
- jak sterować wyjściem DO za pomocą SMS (oraz jakie inne akcje SMS są dostępne w przypadku Teltonika TRB245),
- każdy z powyższych punktów zostanie opisany na podstawie przykładowego scenariusza wraz z instrukcją konfiguracji.
Na pewno jako automatyk spotkałeś/aś się z powiadomieniami SMS na produkcji – są dość powszechnie używane w zastosowaniach przemysłowych. Jest to prosta i skuteczna technika informowania odpowiednich osób na temat niepokojącego działania systemu lub podsumowania parametrów pracy systemu/maszyny.
SMS-y mogą być wykorzystane również w sposób „aktywny”, tzn. po wysłaniu SMS’a wykonana zostanie odpowiednia akcja, np. załączenie wyjścia DO, włączenie/wyłączenie WiFi, itp.
Poniżej przedstawię kilka scenariuszy użycia funkcji SMS na przykładzie urządzenia Teltonika TRB245 wraz z instrukcją konfiguracji.
Alarm SMS wywołany wejściem cyfrowym DI
Pierwszy scenariusz przedstawia sytuację, w której występuje zdarzenie alarmowe rejestrowane przez sterownik. W momencie wystąpienia alarmu, aktywowane jest odpowiednie wyjście cyfrowe sterownika, które podłączone jest do wejścia cyfrowego TRB245. Za pomocą wbudowanych funkcji, TRB245 wysyła SMS o odpowiedniej treści do określonego odbiorcy lub grupy odbiorców.
Dodatkowo funkcja I/O juggler wbudowana w urządzenie Teltonika pozwala na zdefiniowanie logiki opartej o wejście cyfrowe, np. dodanie dodatkowych warunków, które muszą być spełnione lub zastosowanie innej akcji niż alarm SMS.
Wyobraźmy sobie, że TRB245 jest podłączone do sterownika, który kontroluje pewne procesy, m.in. reguluje poziom płynu w zbiorniku. W przypadku przekroczenia ustalonego poziomu płynu, zostaje wywołany alarm wizualny w postaci lampy i/lub syreny, ale również operator zostaje powiadomiony o zdarzeniu za pomocą SMS. Kiedy stan się ureguluje, zostanie wysłany ponowny SMS, który informuje o powrocie do normy.
Konfiguracja:
Gateway powinien zostać tak skonfigurowany, aby uzyskać połączenie z operatorem sieci komórkowej. Połącz się z urządzeniem za pomocą portu Ethernet. Uruchom WebUI wpisując w pole adresu przeglądarki 192.168.1.1 (domyślne IP TRB245).
Zaloguj się jako admin używając domyślnego hasła admin01. Przy pierwszym uruchomieniu wymagana jest zmiana domyślnego hasła w celu bezpieczeństwa.
Przejdź 4 kroki kreatora konfiguracji.
Krok 1: Wybierz z listy Time Zone odpowiednią strefę czasową. Zsynchronizuj zegar z czasem przeglądarki przyciskiem SYNC WITH BROWSER. Z listy Mode wybierz opcję Advanced – odsłoni ona wszystkie funkcje WebUI. Przejdź do następnego kroku przyciskiem NEXT.
Krok 2: Ustaw adres IP i maskę podsieci. Pamiętaj, aby TRB245 i sterownik znajdowały się w tej samej podsieci. Skonfiguruj DHCP zgodnie z polityką bezpieczeństwa w swoim systemie (z reguły włączone DHCP oznacza niższy poziom bezpieczeństwa, ale większą wygodę). Przejdź do następnego kroku przyciskiem NEXT.
Krok 3: Wpisz kod PIN do karty SIM (jeśli karta jest „bezpinowa” pozostaw pole PIN puste). W trybie Auto APN Gateway automatycznie dobierze APN (np. „internet”). Jeśli korzystasz z prywatnego APN lub publicznego IP dezaktywuj opcję Auto APN, z listy APN wybierz Custom i wypełnij pozostałe pola zgodnie z zaleceniami operatora sieci komórkowej. Przejdź do następnego kroku przyciskiem NEXT.
Krok 4: W trybie Enabled TRB245 spróbuje połączyć się do systemu RMS raz na kilka minut, w trybie Standby raz na 6 godzin. Jeśli jesteś pewny, że nie będziesz korzystać z systemu RMS możesz wyłączyć usługę. Zakończ kreator i zapisz konfigurację przyciskiem SAVE & APPLY.
Za wejście cyfrowe do wysyłania SMS posłuży wejście Configurable Input/Output 4 (pin 4, złącze D3). Takie zastosowanie pinów nie wymaga zmian względem domyślnej konfiguracji. Jeśli chcesz wykorzystać inne piny upewnij się, że są odpowiednio skonfigurowane w zakładce Services -> Input/Output -> Status.
Po podstawowej konfiguracji Gateway’a możesz przejść do konfiguracji akcji wykonanej na podstawie wejścia cyfrowego TRB245. Przejdź do zakładki Services -> Input/Output -> I/O Juggler. Zacznij od zdefiniowania akcji w zakładce ACTIONS. Nadaj akcji odpowiednią nazwę i wybierz typ SMS (innymi dostępnymi akcjami jest restart urządzenia, uruchomienie skryptu, wysłanie e-mail, zmiana karty SIM – konfiguracja będzie analogiczna). Stwórz akcję przyciskiem ADD.
Wpisz treść wiadomości SMS. Korzystając ze zmiennych systemowych możesz zawrzeć we wiadomości dodatkowe informacje, np. aktualną godzinę lub informacje statusowe. Wpisz numer telefonu, na który zostanie wysłana wiadomość. Jeśli chcesz wysyłać wiadomości do grupy osób, zdefiniuj grupę w zakładce System -> Administration -> Recipients i wybierz stworzoną grupę wybierając z listy Recipients opcję Group. Okna Conditions i Execution Delay są opcjonalne.
Analogicznie stwórz drugą akcję SMS, która poinformuje o powrocie poziomu płynu do normy.
W tym momencie powinieneś mieć zdefiniowane dwie akcje SMS. Jeśli Twój system wymaga dodatkowych akcji stwórz je w ten sam sposób.
Przejdź do zakładki GENERAL. Z listy Role wybierz wejście cyfrowe, które będzie podłączone do wyjścia sterownika. Stwórz instancję przyciskiem ADD. Aktywuj instancję przełącznikiem Enabled. Pole Trigger interval zabezpiecza przed zbyt częstym wysłaniem SMSów. Wpisz jaki może być najkrótszy czas (w sekundach) między wysłaniem alarmowych wiadomości. Z listy Trigger wybierz opcję Rising – akcja wykonywana jest na zbocze narastające. Z listy ADD actions wybierz akcję SMS_alarm (akcję, która jest wykonywana w przypadku alarmu. Jeśli zdefiniowałeś więcej akcji, które mają być wykonane, też je zaznacz). W tym miejscu możesz zaznaczyć dodatkowe warunki, które muszą być spełnione. W przytoczonej sytuacji nie występują dodatkowe warunki – krótko opiszę je na końcu tego rozdziału. Zapisz instancję przyciskiem SAVE & APPLY.
Postąp analogicznie przy drugiej instancji na zbocze opadające Falling z akcją SMS_w_normie.
Gdy wszystkie kroki są wykonane, uruchom działanie funkcji za pomocą przełącznika „Enable” i zapisz przyciskiem SAVE & APPLY. Przetestuj działanie funkcji.
Zakładka CONDITIONS pozwala na zdefiniowanie dodatkowych warunków, które muszą zostać spełnione. Takimi warunkami mogą być stany wejść/wyjść, czas (minuta, godzina, dni tygodnia/miesiąca/roku) lub kombinacja warunków w logice BOOL.
Alarm SMS wywołany przekroczeniem dopuszczalnej wartości rejestru Modbus TCP/RTU
Drugi scenariusz przedstawia sytuację, w której TRB245 kontroluje zadany parametr sterownika za pomocą Modbus TCP (dla Modbus RTU scenariusz i konfiguracja jest analogiczna). W momencie przekroczenia ustalonego progu, wysyłany jest alarm SMS.
Wyobraź sobie sytuację, podobną do scenariusza pierwszego – sterownik kontroluje pewne procesy, m.in. poziom płynu w zbiorniku. W przeciwieństwie do scenariusza pierwszego, sterownik nie jest wyposażony w wyjście cyfrowe, ale ma wbudowaną funkcję Modbus TCP Server.
Teltonika TRB245 jako Modbus TCP Client będzie monitorować rejestr sterownika, który reprezentuje poziom płynu w zbiorniku. W momencie przekroczenia ustalonej wartości zostanie wysłany alarm SMS. Kiedy stan się ureguluje, zostanie wysłany ponowny SMS, który informuje o powrocie do normy.
Konfiguracja:
Przejdź podstawową konfigurację Gateway’a zgodnie z pierwszym scenariuszem. Upewnij się, że TRB245 i sterownik znajdują się w tej samej podsieci IP (lub poprawność połączenia szeregowego dla Modbus RTU).
Przejdź do zakładki Services -> Modbus -> Modbus TCP Master. Dodaj instancję sterownika Modbus za pomocą przycisku ADD.
Uruchom funkcję przełącznikiem Enabled. W pole Name wpisz nazwę, według której będziesz identyfikować urządzenia. Uzupełnij informacje na temat Modbus zgodnie z ustawieniami na sterowniku: Modbus ID, adres IP, port. W pole Period wpisz jak często (w sekundach) będzie odpytywany sterownik. Uzupełnij jak długo TRB245 będzie czekać na odpowiedź w polu Timeout.
Zjedź niżej do obszaru ALARMS CONFIGURATION. Dodaj nowy alarm przyciskiem ADD.
Aktywuj instancję alarmu przełącznikiem Enabled. Wybierz funkcję i rejestr, który chcesz obserwować. Ustal warunek alarmu w polach Condition i Value. W tym scenariuszu przekroczenie wartości 5000 na rejestrze 3010 wywoła alarm. W polu Action frequency wybierz opcję First Trigger – oznacza to reakcję tylko przy pierwszym przekroczeniu wartości (UWAGA – wybór Every trigger może spowodować wysłanie bardzo dużej ilości SMS-ów!!).
Możesz dodatkowo zabezpieczyć się przed wysłaniem SMS-ów „nie częściej niż” – w tym celu aktywuj opcję Redundancy protection, a w polu Redundancy protection period wpisz jaki będzie minimalny czas między wysłanymi wiadomościami SMS. Z listy Action wybierz SMS. W pole Message wpisz treść wiadomości SMS i numer odbiorcy w pole Phone number. Zapisz alarm przyciskiem SAVE & APPLY.
Analogicznie dodaj Alarm z SMS-em informującym o powrocie do normy. Użyj warunku Less than.
Konfiguracja jest gotowa. Zapisz przyciskiem SAVE & APPLY. Przetestuj działanie systemu.
Alarm SMS wysłany za pomocą komendy HTTP
Co zrobić, gdy sterownik nie ma wbudowanego ani wyjścia cyfrowego ani nie obsługuje protokołu Modbus?
Trzecią możliwością wysłania SMS jest komenda http. W tym przypadku jedynym połączeniem między urządzeniami jest kabel Ethernet. TRB245 cały czas oczekuje na otrzymanie komendy http w odpowiedniej formie. Gdy komenda jest zidentyfikowana, zostaje przetłumaczona na wiadomość SMS i wysłana.
Sytuacja jest analogiczna do pierwszego scenariusza – sterownik kontroluje poziom płynu w zbiorniku. W przypadku przekroczenia ustalonego poziomu płynu, zostaje wywołany alarm wizualny w postaci lampy i/lub syreny, ale również operator zostaje powiadomiony o zdarzeniu za pomocą SMS. Tak samo może zostać wysłany SMS potwierdzający powrót do normy – cała logika zależy od sterownika.
Podstawową różnicą między tym a pierwszym scenariuszem jest połączenie Ethernet zamiast wejścia/wyjścia cyfrowego oraz konfiguracja alarmów w sterowniku zamiast w Teltonika TRB245.
Konfiguracja:
Przejdź podstawową konfigurację Gateway’a zgodnie z pierwszym scenariuszem. Upewnij się, że TRB245 i sterownik znajdują się w tej samej podsieci IP.
Przejdź do zakładki Services -> Mobile Utilities -> SMS Gateway. W zakładce POST/GET aktywuj funkcję przełącznikiem Enable. W polach User Name, Password oraz Confirm Password wpisz dane, które będą wykorzystane do autoryzacji użytkownika (dla tego przykładu użytkownik user1, hasło user_pass.
Konfiguracja jest gotowa. Wyślij testową wiadomość za pomocą komendy:
http://192.168.1.1/cgi-bin/sms_send?username=user1&password=user_pass&number=123456789&text=test alarmu
Komend http można użyć do odczytania wiadomości ze skrzynki, usunięcia wiadomości ze skrzynki, lub wysłania SMS do grupy odbiorców (najpierw zdefiniuj grupę w zakładce System -> Administration -> Recipients). Opis wszystkich dostępnych komend znajdziesz w bazie wiedzy producenta.
Wykonanie akcji za pomocą SMS
Czasami poza raportami SMS potrzebne jest zdalne wykonanie akcji. Operator, chcąc wykonać daną akcję, wysyła SMS o określonej formie i z odpowiednią autoryzacją. Teltonika TRB245 po otrzymaniu SMS i zatwierdzeniu użytkownika wykonuje wskazaną akcję. Możliwości jest wiele: od restartu urządzenia, przez załączenie wyjścia cyfrowego po włączanie/wyłączanie VPN (pełna lista w bazie wiedzy producenta).
Podstawowym i najprostszym przykładem użycia SMS i wyjścia cyfrowego będzie załączanie i wyłączanie silnika/pompy. Pamiętaj, że wyjście typu Open Collector ma ograniczenie 30 V, 300 mA i konieczne może być zastosowanie przekaźnika lub wprowadzanie sterownika w tryb specjalny, np. tryb serwisowy. Nic nie stoi na przeszkodzie, aby gateway pełnił równocześnie funkcje opisane w jednym z poprzednich scenariuszy.
Konfiguracja:
Przejdź podstawową konfigurację Gateway’a zgodnie z jednym z powyższych scenariuszy. Zgodnie z konfiguracją z pierwszego scenariusza wejście Configurable Input/Output 4 (pin 4, złącze D3) posłuży za wejście cyfrowe do wysłania SMS, natomiast wyjście Configurable Input/Output 2 (pin 2, złącze D1) posłuży za wyjście cyfrowe potwierdzające przeczytanie alarmu. Takie zastosowanie pinów nie wymaga zmian względem domyślnej konfiguracji. Jeśli chcesz wykorzystać inne piny upewnij się, że są odpowiednio skonfigurowane w zakładce Services -> Input/Output -> Status.
Przejdź do zakładki Services -> Mobile Utilities -> SMS Utilities. Zobaczysz wiele akcji, które domyślnie są skonfigurowane. Przejdź do edycji akcji „Io set” naciskając ikonę ołówka (jeśli chcesz, aby akcja miała inną nazwę, usuń istniejącą akcję Io set i stwórz nową przyciskiem ADD na dole strony).
Pierwsza akcja posłuży do uruchamiania pompy. Wybierz odpowiednie wyjście cyfrowe z listy rozwijanej I/O. Z listy State wybierz opcję High. W polu SMS text wpisz słowo klucz, które w wpisane w wiadomość SMS w połączeniu z hasłem dostępu admina uruchomi daną akcję. W zakładce Authorization możesz zmienić metodę autoryzacji akcji. Domyślnie autoryzacja odbywa się za pomocą hasła dostępowego admina i jest to zalecana konfiguracja. Innymi opcjami jest numer seryjny lub brak autoryzacji. Zapisz konfigurację przyciskiem SAVE & APPLY.
Zjedź na dół strony SMS Utilities. Dodaj nową akcję, która wyłączy pompę. Nadaj odpowiednią nazwę w polu SMS TEXT i z listy rozwijanej ACTION wybierz opcję Change I/O state. Stwórz akcję przyciskiem ADD.
Z listy rozwijanej I/O wybierz to samo wyjście cyfrowe, które uruchamia pompę. Tym razem z listy rozwijanej State wybierz opcję Low. W polu SMS text wpisz słowo klucz, które wyłączy pompę. Z ustawieniami autoryzacji postępuj identycznie jak powyżej. Zapisz konfigurację przyciskiem SAVE & APPLY.
Konfiguracja jest gotowa. Przetestuj działanie funkcji wysyłając SMS w formie hasło słowo_klucz (np. gdy hasło admin to Test1234, treść wiadomości powinna wyglądać następująco: Test1234 zalacz).
Podsumowanie
Współczesne routery i gateway’e mają wiele możliwości działania za pomocą SMS. Niekiedy więcej niż jedna opcja może zostać wykorzystana jednocześnie.
Podsumowując cechy każdego z opisanych rozwiązań:
Alarm SMS wywołany wejściem cyfrowym Teltonika TRB245 – stosunkowo uniwersalne podejście. Sterownik musi posiadać wyjście cyfrowe o odpowiednich parametrach. Konfiguracja od strony sterownika ograniczona do minimum.
Alarm SMS wywołany przekroczeniem dopuszczalnej wartości rejestru Modbus TCP/RTU – w systemach automatyki sterowniki często korzystają z protokołu Modbus. Wówczas dodatkowa konfiguracja nie jest wymagana. Jedno urządzenie Teltonika umożliwia stworzenie wielu alarmów dla więcej niż jednego sterownika. Dla bardzo dużej ilości alarmów konfiguracja może stać się mało przejrzysta i kłopotliwa w zarządzaniu.
Alarm SMS wysłany za pomocą komendy http – obsługa komend http jest wymagana od strony sterownika. Konfiguracja od strony gateway’a ograniczona do minimum. Cała logika po stronie sterownika może okazać się przydatna w powtarzalnych rozwiązaniach oraz w przypadku zmiennych numerów telefonów i/lub treści wiadomości. Jeśli tylko logika sterownika na to pozwoli, to możliwe będzie wpisanie wartości zmiennej w treść wiadomości.
Wykonanie akcji za pomocą SMS – odwrócona logika względem trzech pozostałych scenariuszy. Bardzo przydatna funkcja, która dotyczy nie tylko wejść/wyjść cyfrowych, ale również akcji typu restart urządzenia.
Dziękuję za wiedzę której szukałem.