Wprowadzenie¶
Poniższy opis ma na celu zaznajomienie z konfiguracją i podstawowym używaniem GSM Kontrolera v4.2.
Pierwsze uruchomienie¶
Na początku należy włożyć do slotu SIM w GSMv4.2 kartę nanoSIM, podłączyć zasilanie (napięcie 5-55V).
Wkrótce (do 30 sekund) zielona dioda powinna migać 3 razy na sekundę. Oznacza to, że urządzenie poprawnie połączyło się z siecią. Można wtedy przejść do konfiguracji kontrolera.
Problemy przy uruchomieniu¶
Jeśli dioda miga raz na sekundę, oznacza to brak połączenia z siecią. Należy sprawdzić ważność karty.
Jeśli dioda miga raz na 3 sekundy, oznacza to połączenie z siecią, ale brak transmisji pakietowej GPRS. Należy sprawdzić u operatora karty ustawienia APN. Domyślnie GSMv4.2 używa następujących ustawień:
- APN: "internet"
- użytkownik: "" (nie ustawiony)
- hasło: "" (nie ustawione)
Jeśli ustawienia operatora są inne, wyślij SMS na numer karty w kontrolerze GSM o treści 1234:gprsapn="<APN>","<użytkownik>","<hasło>"
, np. 1234:gprsapn="internet","",""
. Po wysłaniu polecenia odczekać kilkanaście sekund i zrestartować kontroler (odłączyć i podłączyć zasilanie lub wysłać polecenie 1234:restart
).
Komunikacja z kontrolerem¶
Do kontrolera GSM v4.2 można wysyłać polecenia na trzy sposoby, które sa opisane poniżej. Lista poleceń jest dostępna tutaj.
Port szeregowy¶
Wymaga połączenia kontrolera z komputerem za pomocą konwertera USB/TTL/UART/RS232. Złącze, na kontrolerze, do którego należy się połączyć jest widoczne na poniższym schemacie pod nazwą Console (połączenie wtykiem JST PHR-3).
Po połączeniu komputera z kontrolerem należy znaleźć adres portu COM pod którym jest dostępny kontroler. W Windowsie można to sprawdzić w Menedżerze urządzeń (Mój komputer > Zarządzaj / Start > Menedżer urządzeń). W tym przypadku jest to COM24.
Do obsługi połączenia można użyć dowolnej aplikacji obsługującej komunikacje UART/Serial. Przykładowo na Windows: PuTTy, ExtraPuTTy, Tera Term, minicom (Linux/OSX), screen (OSX). Osobiście lubię używać do tego narzędzia miniterm zawartego w bibliotece Python pySerial.
W opcjach połączenia należy wybrać szybkość (baudrate) równą 115200.
Przed pierwszym poleceniem należy wprowadzić kod dostępu (domyślnie 1234
). W przeciwnym razie kontroler zwróci stosowana odpowiedź sugerującą podanie kodu. Następnie można wysyłać polecenia, tak jak są przedstawione w liście poleceń.
SMS¶
Polecenia można wysyłać na numer telefonu karty włożonej do kontrolera. Każde polecenie musi być poprzedzone kodem dostępu i :
, np. 1234:version?
.
Aby zmienić kod dostępu należy wysłać polecenie: 1234:code=XXXX
, gdzie XXXX
to nowy czterocyfrowy kod dostępu.
Poza kodem dostępu, możliwe jest dodatkowe zabezpieczenie dostępu do urządzenia poprzez weryfikowanie numerów przysyłających polecenia. W tym celu należy pierw dodać nasz numer telefonu do listy zaufanych numerów poleceniem 1234:number=1:XXXXXXXXX
. Warto upewnić sie, że numer został poprawnie ustawiony, poleceniem 1234:number?1
- w odpowiedzi powinien być ustawiony wcześniej numer. Po potwierdzeniu, ze nasz numer znajduje się na liście zaufanych numerów, można wysłać polecenie 1234:authsms=1
. Od tego momentu, GSMv4.2 będzie przyjmował polecenia tylko od zaufanych numerów (zobacz polecenia number
, numread
), oprócz sprawdzania, czy treść SMSa zaczyna się od kodu dostępu.
Przy komunikacji SMS z kontrolerem ważną opcją jest smsconfirm - określa czy kontroler będzie odsyłał wiadomości zwrotne na polecenia (domyślnie są odsyłane).
MQTT¶
Kontroler GSM v4.2 obsługuje komunikacje przez protokół MQTT, przy czym obejmuje to jego pełna konfigurację w odróżnieniu od poprzedniej wersji v3.
Przed wysyłaniem poleceń należy połączyć kontroler z serwerem MQTT (zobacz opis konfiguracji). Po połączeniu, polecenia należy wysyłać na temat prefix/cmd
, a odpowiedzi z kontrolera będą odsyłane na temat prefix/cmdr
.
W przypadku MQTT polecenia nie muszą zawierać kodu dostępu, ponieważ uwierzytelnianie jest realizowane w samym protokole MQTT, np. version?
.
Konfiguracja klienta MQTT¶
Serwis mqtt.ats.pl¶
GSM Kontroler v4.2 jest przygotowany do współpracy z naszym serwerem mqtt.ats.pl, dzięki któremu można rejestrować odczyty z urządzenia do późniejszego wglądu, skonfigurować go i sterować nim zdalnie za pośrednictwem MQTT.
Instrukcja łączenia z serwisem mqtt.ats.pl
Po połączeniu z serwerem, konfiguracja GSM Kontrolera v4.2 jest dużo prostsza względem poprzedniej wersji v3 - konfiguracja przez stronę WWW, bez podłączania GSM Kontrolera do komputera.
Inny serwer MQTT¶
W razie gdy chcemy połączyć GSM Kontroler z innym serwerem trzeba skonfigurować jego klienta MQTT następującymi poleceniami, które można wysłać za pośrednictwem konsoli lub SMS. Więcej informacji na temat każdego polecenia po kliknięciu na jego nazwę.
mqttconfigdone=1
mqttserver=<ADRES SERWERA>
mqttport=<PORT SERWERA>
mqttuser=<NAZWA UŻYTKOWNIKA>
mqttpass=<HASŁO>
tls=1
(od SW 1.29)mqttid=<PREFIX TEMATÓW>
mqttkeepalive=<PARAMETR KEEPALIVE>
mqttselect=<LISTA INDEKSÓW DANYCH DO WYSYŁANIA>
mqttsend=<INTERWAŁ WYSYŁANIA DANYCH>
mqttread=<ILOŚĆ ODCZYTÓW W WIADOMOŚCI>
Aktualizacja firmware¶
Aktualizację firmware GSM Kontrolera v4.2 wykonuje się przy pomocy połączenia Serial/UART. Do wgrywania firmware jest używany protokół XMODEM, który jest obsługiwany w aplikacji ExtraPuTTy lub Tera Term. Dalsza cześć opisu wykorzystuje ExtraPuTTy.
W programie wybrać typ połączenia na Serial, wprowadzić adres portu oraz prędkość 115200.
Po otworzeniu połączenia przyciskiem Open, wpisać w konsoli (każde polecenie należy potwierdzić klawiszem Enter):
- kod dostępu (domyślnie 1234)
- version - w celu sprawdzenia wersji firmware na urządzeniu
- upgrade - w celu uruchomienia procedury aktualizacji
Rozpocząć wgrywanie pliku firmware, klikając Files Transfer > Xmodem > Send i wybierając lokalizację pliku. Firmware do pobrania tutaj.
Po zakończeniu wgrywania, GSM Kontroler uruchomi się ponownie i wyświetli m.in. informację o wersji firmware. W niektórych przypadkach może być konieczne ponowne skonfigurowanie urządzenia (informacja o tym zwykle w opisie firmware).