JSON w GPRS-A – jak wydobyć wartość temperatury z czujek?


Dariusz Bembenek
W firmie zajmuje się sprawami technicznymi, które dotyczą systemów alarmowych. Prowadzi warsztaty z systemów Perfecta oraz Integra.
Kontakt
Kolejna pozycja dedykowana dla instalatorów, którzy oprócz codziennej „rutynowej” konfiguracji chcą wycisnąć z urządzenia tyle, ile daje fabryka.
Tym razem zaglądając pod maskę modułu GPRS-A zobaczymy, jak moduł radzi sobie z wysyłaniem danych w formacie JSON. W ramach testu skorzystamy z aplikacji „Hercules” jako serwera odbierającego dane z modułu i podłączonych do niego czujek DS-T1.
INTRO: Jak przygotować moduł do pracy w ramach IoT? Format JSON.
Do konfiguracji modułu GPRS-A służy darmowy program GX Soft. Standardowa konfiguracja nas nie interesuje, natomiast skupimy się na konfiguracji parametrów GPRS, które posłużą do połączenia modułu z internetem.

W module GPRS-A włączamy obsługę karty SIM, podajemy parametry APN (APN, użytkownik, hasło) dla danego operatora oraz włączamy opcję „GPRS włączony„. Adres serwera DNS (8.8.8.8) możemy pozostawić niezmieniony. Dla naszej testowej karty (T-Mobile), APN to „internet”, natomiast pola „Użytkownik” i „Hasło”pozostawiamy puste.
Kolejnym krokiem będzie włączenie funkcji IoT. Przechodzimy do zakładki: FUNKCJE -> IoT.

Na screenie widać, że została włączona funkcja IOT oraz wybrany jest format JSON. Do pełni szczęścia należało jeszcze podać adres IP serwera (czyli komputera, na który dane będą wysyłane z modułu) oraz numer portu (ten port należy przekierować u siebie na routerze).
Po prawej stronie widzimy pole „Ramka”. Tutaj został zaznaczony tylko „Stan czujników 1-Wire”, „Napięcie zasilania” oraz „IMEI”. Właściwie to w tym miejscu widać, jakie informacje moduł może cyklicznie wysyłać na zewnątrz. Nas interesują tylko wspomniane wyżej pozycje.
GX Soft pokazuje potencjalną ramkę w formacie JSON. Wartości temperatur (S1…S8) oraz napięcia zasilania (P) zostały przemnożone przez 1000.
{
„IMEI”:”864502035209121″,
„S1”:29750,
„S2”:28250,
„S3”:0,
„S4”:0,
„S5”:0,
„S6”:0,
„S7”:0,
„S8”:0,
„P”:12262
}
Ostatni ważny parametr: częstotliwość wysyłania danych. Tutaj parametr nazywa się „Polling„. W przykładzie ustawiam wysyłanie raz na 10 sekund. W docelowym rozwiązaniu wartość ta może być inna.
Gotowe! Zakładając, że wcześniej podłączyliśmy czujniki temperatury do GPRS-A, teraz co 10 sekund moduł wyśle ramkę TCP na podany adres IP i port. Reszta po stronie naszej aplikacji.
Przeprowadzamy test w programie Hercules. Analiza ramki w formacie JSON.
Na początek, zanim stworzymy własną aplikację na system Windows, zobaczymy wyniki w ogólnodostępnym programie, który może pełnić rolę serwera. Tam zobaczymy, jak wygląda ramka w formacie JSON, którą wysyła moduł GPRS. Będzie to program „Hercules”. Na poniższym filmie pokazano, w jaki sposób skonfigurować program Hercules do pracy w ramach serwera TCP.
Jak zaznaczono w powyższym filmie, program Hercules stanowi tylko „bazę” do dalszej analizy protokołu. W programie tym możemy podejrzeć, jak wygląda faktyczna ramka wysyłana przez moduł GPRS-A i na tej podstawie będziemy w stanie zaprojektować docelowe rozwiązanie.
dalsze działania po stronie integratora
Już wiemy w jaki sposób skonfigurować moduł GPRS-A, aby ten cyklicznie wysyłał ramkę danych w formacie JSON zawierającą m.in. wartości temperatur (max. 8). Teraz instalator, integrator, programista może zaprojektować własny system, w którym te temperatury będą wyświetlane, przetwarzane itp.
Dobrym punktem wyjścia może być system „Node-Red”, który można zaimplementować na Windowsie a także na znanej platformie Raspberry PI. Jest to jednak osobny wątek, który wykracza poza ramy tego artykułu. Jeżeli będzie zainteresowanie zgłębieniem wiedzy w zakresie modelowania systemów w środowisku Node-Red, stworzymy osobny artykuł bądź serię artykułów na ten temat.
Powiązane produkty

GPRS-A moduł komunikacyjny GPRS
Parametry techniczne:
- Ilość numerów powiadomień: 8
- Ilość wejść: 8
- Ilość wyjść: 4
- Zdalna konfiguracja: Tak
- Zasilanie: 12 V DC (±15%)
- Wymiary: 83 x 65 x 23 mm
- Waga: 0.110 kg
Powiązane porady
Pomiar temperatury przez moduł GPRS-A
Oprócz znanej nam wszystkim funkcjonalności modułu GPRS-A (powiadomienie SMS, CLIP, sterowanie SMS itp.), moduł ten umożliwia również pomiar temperatury z maksymalnie 8 czujników. Artykuł rozpracuje to zagadnienie. Jakie czujki i jak je podłączyć? Producent w swojej ofercie posiada gotową propozycję czujnika (DS-T1) z kilkumetrowym przewodem (3m), przy czym „pod maską” tego czujnika znajdziemy bardzo popularną … Czytaj więcej »
Integracja z centralą INTEGRA – generator sumy kontrolnej dla protokołu integracji
Udostępniony przez Satel protokół integracji dla central INTEGRA (moduły ETHM-1 Plus oraz INT-RS Plus) wymaga obliczenia właściwej sumy kontrolnej CRC. Ta suma kontrolna bywa problemem, szczególnie na początku przygody z integrowaniem systemów. Artykuł ma ułatwić start osobom, które chcą docelowo przygotować własną aplikację i własne algorytmy liczące sumę kontrolną. Dokumentację protokołu integracji można pobrać poniżej: … Czytaj więcej »
Integracja centrali INTEGRA z zewnętrznym programem – protokół integracji ETHM-1
Moduł ethernetowy ETHM-1 Plus oprócz standardowych funkcji i możliwości, udostępnia specjalny protokół integracyjny. W naszych zasobach dostępny jest również artykuł, który zawiera program do liczenia sumy kontrolnej. Polecamy to narzędzie jako pomocnik przy pisaniu własnej aplikacji. Link do wspomnianego programu dostępny jest na dole tego artykułu. ETHM-1 plus – ethernetowy moduł komunikacyjny Protokół integracyjny został stworzony … Czytaj więcej »