Jak wysłać wiadomość SMS przez sterownik PLC Astraada One z wykorzystaniem routera Teltonika?
Kontakt w sprawie artykułu: Natalia Kazykalewicz - 2022-12-19
![](https://www.astor.com.pl/poradnikautomatyka/wp-content/uploads/2022/12/image1.jpg)
Z tego artykułu dowiesz się:
- jak skonfigurować router Teltonika i sterownik Astraada One do wysyłania wiadomości SMS,
- jakie parametry powinna mieć taka wiadomość SMS.
Gdy nadzorujemy zakład produkcyjny, chcielibyśmy móc kontrolować dziejące się tam rzeczy 24 godziny na dobę i 7 dni w tygodniu. Nie da się jednak być w wielu miejscach w jednym momencie. Z pomocą przychodzi nam zautomatyzowany system IIoT, składający się z routera Teltonika i sterownika PLC Astraada One. Dzięki niemu o każdej sytuacji alarmowej będziemy poinformowani poprzez wiadomość SMS wysłaną na nasz numer telefonu.
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 Podstawowa konfiguracja routera dla sieci przemysłowej – dostęp do Internetu, publiczny IP, LAN, WiFi, resetowanie routera, DDNS.
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).
![](https://www.astor.com.pl/poradnikautomatyka/wp-content/uploads/2022/12/image1-840x370.jpg)
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.
![](https://www.astor.com.pl/poradnikautomatyka/wp-content/uploads/2022/12/image2.jpg)
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ść SMS będziemy wysyłać na podany numer telefonu poprzez zapytanie HTTP POST/GET do routera. Router Teltonika obsługuje wiele zapytań HTTP – my korzystamy konkretnie z zapytania Send mobile message to a single numer.
![](https://www.astor.com.pl/poradnikautomatyka/wp-content/uploads/2022/12/image3-840x245.jpg)
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.
![](https://www.astor.com.pl/poradnikautomatyka/wp-content/uploads/2022/12/image4-840x259.jpg)
Kod aplikacji wygląda następująco:
![](https://www.astor.com.pl/poradnikautomatyka/wp-content/uploads/2022/12/image5.jpg)
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.
![](https://www.astor.com.pl/poradnikautomatyka/wp-content/uploads/2022/12/image6-840x258.jpg)
Gotowy blok wygląda w taki sposób:
![](https://www.astor.com.pl/poradnikautomatyka/wp-content/uploads/2022/12/image7.jpg)