Konfiguracja routera Teltonika
W tym przykładzie wykorzystano router RUTX 11, jednak dla wszystkich routerów rodziny Teltonika konfiguracja jest jednakowa.
Należy zacząć od dobrej praktyki i wykonać podstawową konfigurację, która została przedstawiona w artykule Kurs zdalnego dostępu do maszyn i stanowisk produkcyjnych dla automatyków od podstaw
Następnie konfigurujemy POST/GET bramki SMS. Aby to zrobić, przechodzimy do zakładki SERVICES -> MOBILE UTILITIES -> SMS GATEWAY i kolejno wykonujemy następujące czynności:
- ustawienie Enable na On,
- wpisanie nazwy użytkownika (User name) i hasła (Password).
Należy pamiętać, że aby wysłać wiadomość SMS przez sterownik na numer telefonu użytkownika, router musi być podłączony do sieci GSM.
Konfiguracja sterownika Astraada One
Sterownik musi być w tej samej podsieci, co router, aby mogły się „widzieć”. Ponieważ nasz router ma adres IP 192.168.0.1/24, należy w ustawić adres sterownika na 192.168.0.X, gdzie X jest dowolną liczbą od 1 do 254 z uwagi na maskę sieci. Nasz sterownik ma adres IP 192.168.0.14.
Następnie należy przejść do zaprogramowania sterownika.
Wykorzystujemy środowisko narzędziowe Codedys, które można pobrać bezpłatnie ze strony firmy ASTOR.
Będziemy wykorzystywać bibliotekę HTTP Client, z której przede wszystkim będziemy korzystać.
Dostępna jest ona pod linkiem: https://forge.codesys.com/prj/codesys-example/http-client-exa/home/Home/.
Wiadomości SMS będziemy wysyłać na podany numer telefonu poprzez zapytanie HTTP POST/get do rutera. Router Teltonika obsługuje wiele zapytań HTTP- my korzystamy z zapytania Send mobile message to a single numer.
Ma ono postać:
http://192.168.0.1/cgi-bin/sms_send?username=uzytkownik&password=XXXX&number=0048AAABBBCCC&text= textmessage
gdzie:
- 192.168.0.1 to IP routera,
- uzytkownik to nazwa użytkownika ustawiona wcześniej w SMS POST/GET SETTING,
- XXXX to hasło ustawione wcześniej w SMS POST/GET SETTING,
- 0048AAABBBCCC to numer telefonu (00 jest stałe, a 48 to prefiks krajowy),
- textmessage to tekst wysyłanej wiadomości SMS.
Numer telefonu i tekst wiadomości chcemy móc zmieniać podczas działania programu. Dlatego w utworzonym w projekcie POU wykorzystamy do tego następujące bloczki:
- FIND,
- LEN,
- REPLACE.
Znajdujemy w podanym wyżej ciągu URL ciąg numeru telefonu 'AAABBBCCC’ i zamieniamy go na nasz numer telefonu, który jest przechowywany w zmiennej numer. Następnie w tym ciągu już z naszym numerem telefonu robimy to samo z tekstem wiadomości SMS: znajdujemy ciąg 'textmessage’ i zamieniamy go na naszą wiadomości, która przechowywana jest w zmiennej tekst.
Kod aplikacji wygląda następująco:
W ostatnim kroku przechodzimy do zaimplementowania bloku z biblioteki HTTP Client, który będzie wysyłał zapytanie HTTP.
W zmiennej sURL mamy nasz cały ciąg HTTP GET już w poprawnym numerem telefonu i wiadomością. Za pomocą zmiany zmiennej on (z TRUE na FALSE) wysyłamy zapytanie HTTP. W zmiennej httpo możemy podejrzeć wysyłany przez nas ciąg znaków.
Gotowy blok wygląda w taki sposób: