LAMS: system do monitoringu rozgrywki ASG na STM32

W sierpniu 2018 roku, na poligonie w Wędrzynie, odbyła się trzecia edycja imprezy ASG pod nazwą Asgard (https://asgard.events/). Jest ona jedną z imprez airsoftowych, w których gracze podzieleni na dwie strony i wyposażeni w repliki broni palnej wykonują zadania zlecone przez swoich dowódców, dążąc do pokonania strony przeciwnej. Z elektronicznego punktu widzenia, nie byłoby w tym wydarzeniu nic szczególnego, gdyby nie fakt, że podczas imprezy został wykorzystany nowoczesny system do monitorowania pola gry w czasie rzeczywistym o nazwie LoRa Asissted Monitoring System, czyli w skrócie LAMS. Zanim jednak przejdziemy do wyjaśnienia fenomenu tego systemu, cofnijmy się w czasie i poznajmy jego korzenie.

 

Asgard Revival (08. – 11. września 2016)

Niedługo przed pierwszą edycją Asgardu zaplanowaną na wrzesień roku 2016, w warszawskiej drużynie ASG – BPAT, której członkowie uczestniczą w organizacji imprezy, rodzi się pomysł stworzenia urządzenia, wysyłającego SMS do sztabów obu stron konfliktu z informacją o przejęciu, bądź utracie nad nim kontroli, po wciśnięciu jednego z dwóch przycisków. Urządzenie powstaje na bazie zestawu deweloperskiego 32L152CDISCOVERY z mikrokontrolerem STM32L152RC i dołączonym do niego modemem SIM900. Otrzymuje ono nazwę kodową GAMS (GSM Asissted Monitoring System).

Chrzest bojowy podczas gry, w której bierze udział ok. 300 uczestników kończy się sukcesem, ale odsłania też słabe strony przyjętego rozwiązania. Uzależnienie od zasięgu sieci GSM, często bardzo słabego na poligonach wojskowych, zdecydowanie ogranicza możliwości urządzenia, a konieczność użycia stosunkowo drogich modemów wymagających dodatkowo zarejestrowanych kart SIM negatywnie wpływa na jego skalowalność. Biorąc pod uwagę powyższe niedogodności, wynikające bezpośrednio z przyjętego rozwiązania opartego o sieci GSM, członkowie specjalnie powołanej jednostki BPAT R&D Departament, decydują się na przejście na inną technologię – LoRa. Oparty na niej system zadebiutuje już niecały rok później jako LAMS, czyli LoRa Asissted Monitoring System.

 

Asgard City (27. – 30. kwietnia 2017)

Pierwsza wersja systemu LAMS powstaje w ciągu niecałych sześciu miesięcy. W tym czasie przeprowadzone są testy zasięgu modemów firmy Semtech z serii SX127x w połączeniu z mikrokontrolerami STM32F103C8 i przygotowane zostają prototypy urządzeń, posiadające poza modemem radiowym i mikrokontrolerem także kartę SD i zasilanie bateryjne.

Od strony programowej powstaje stos radiowy, w którym każdy węzeł może pełnić rolę przekaźnika, oraz implementujący system potwierdzeń i retransmisji zgubionych pakietów zwiększający niezawodność komunikacji. Od strony funkcjonalnej zostają przygotowane cztery typy urządzeń: Host, Flaga, Przekaźnik i Sztab. Łącznie na terenie gry, w której bierze udział ok. 600 graczy, znajduje się 14 urządzeń, a odległość pomiędzy najdalszymi punktami wynosi 2,4 km.

Komunikacja między nimi jest możliwa dzięki odpowiednio zaprojektowanej strukturze sieci, w której pakiety z danymi mogą być przekazywane przez  każde z urządzeń według wcześniej zaplanowanej ścieżki. Ostatecznie LAMS odnosi pierwszy sukces, który dodatkowo motywuje inżynierów z BPAT R&D Department do dalszej rozbudowy systemu przed kolejna edycją Asgardu.

 

Asgard Siege (09. – 12. sierpnia 2018)

Kolejne miesiące pracy nad LAMSem owocują dalszymi ulepszeniami i funkcjami. Przede wszystkim powstają dwie nowe klasy urządzeń – Trigger i Exec, które umożliwiają wyzwalanie zdarzeń na polu gry za pomocą przełączników, lub bezpośrednio przez organizatorów. Część oprogramowania zostaje przeniesiona na nową platformę – zestawy B-L072Z-LRWAN1 otrzymane od firmy STMicroelectronics w ramach wsparcia projektu. Piętnaście nowych płytek deweloperskich zwiększa niezawodność systemu i przyspiesza pracę nad kolejną jego wersją.

LAMS uzyskuje też możliwość odtwarzania dźwięku za pośrednictwem modułów mp3 i wzmacniaczy audio. Łącznie na terenie gry rozstawionych jest 21 urządzeń, z których korzysta ok 1000 graczy. Kolejny rozdział w historii systemu do monitorowania pola rozgrywki zostaje zamknięty, jednak jest on jedynie wstępem do dalszych prac przed kolejnymi edycjami Asgardu.

Tak wygląda krótka historia jednego z najbardziej rozbudowanych systemów elektronicznych używanych podczas rozgrywek ASG. Przyjrzyjmy się zatem jego poszczególnym elementom.

 

Host

Centrum dowodzenia całego systemu umożliwiające monitorowanie wszystkich węzłów w sieci, ich konfigurację oraz zbieranie danych. Jest on zbudowany z zestawu B-L072Z-LRWAN1 podłączonego do komputera (fotografia 1) za pośrednictwem wirtualnego portu szeregowego i aplikacji PC odpowiedzialnej również za archiwizację danych w lokalnej bazie danych i w chmurze (rysunek 2).

Fot. 1. Host, czyli centrum dowodzenia całego systemu podczas instalacji w terenie

Rys. 2. Aplikacja Hosta do monitorowania sieci, analizy i archiwizacji danych

 

Przekaźnik

Służy wyłącznie do przesyłania dalej pakietów w celu pokrycia całego pola gry. Urządzenia oznaczone jako przekaźniki nie mają dodatkowych funkcji podczas rozgrywki, jednak dzięki nim możliwe jest pokrycie całego obszaru o powierzchni wynoszącego ok 2500x1000m. Węzły na terenie gry rozmieszczone są tak jak na rysunkach 3 i 4.

Rys. 3. Obszar gry z zaznaczonymi węzłami sieci

Rys. 4. Obszar gry z zaznaczonymi węzłami sieci (część miejska)

 

Sztaby

Moduły umieszczone w sztabach obu grających stron wyświetlają stan flag na polu gry (fotografia 5). Mogą być one odświeżane po wpisaniu hasła, lub w czasie rzeczywistym po zdobyciu Dekodera. Jako jedyne w całej sieci są oparte na komputerach Raspberry Pi z dołączonym modemem SX127x.

Fot. 5. Stan flag na polu gry wyświetlany przez moduły sztabowe

 

Flagi

Urządzenia rozstawione w terenie i przejmowane przez graczy obu stron. Informują one Hosta o każdej zmianie właściciela. Używaliśmy dwóch wersji sprzętowych flag: oparte na zestawie B-L072Z-LRWAN1 (fotografia 6) oraz na mikrokontrolerach STM32F103C8 z zewnętrznym modemem SX127x (fotografia 7).

Fot. 6. Flaga z modułem B-L072Z-LRWAN1

Fot. 7. Flaga z mikrokontrolerem STM32F103C8 i zewnętrznym modemem SX127x

 

Trigger – Dekoder

Urządzenie zawierające osiem przełączników wielopozycyjnych, za pomocą których można ustawić hasło (fotografia 8). Ustawienie poprawnej kombinacji jest sygnalizowane światłem. Do tego celu jest używany pojedynczy LED na płycie czołowej i lampy LED-owe na zewnątrz budynku. Przejęcie dekodera włącza tryb automatycznej aktualizacji stanu flag w Sztabach.

Fot. 8. Moduł dekodera z zewnętrznymi lampami LED-owymi

Trigger – Przełącznik

Zmiana stanu przełącznika umożliwia wyzwolenie efektów na polu gry, m.in.:

  • odtworzenie komunikatów dźwiękowych i
  • zapalenie lub zgaszenie światła w jednym z budynków (fotografia 8).

Fot. 8. Przełącznik sterujący innymi urządzeniami

Exec – Player

Odtwarza na żądanie pliki mp3 za pomocą modułu DFPlayer, wzmacniaczy audio i trzech głośników. Zbudowany z mikrokontrolera STM32F103C8 i modemu SX127x (fotografia 9).

Fot. 9. Player z podłączonymi głośnikami

Exec – Light

Umożliwia zdalne sterowanie światłem podłączonym do sieci 230V (fotografia 10).

Fot. 10. Moduł light z podłączoną żarówką zasilaną z sieci 230V

System składający się z wymienionych typów urządzeń działał nieprzerwanie przez 30 godzin rozgrywki toczącej się na poligonie w Wędrzynie. Na 21 aktywnych urządzeń składały się następujące moduły:

  • 1 Host
  • 2 Sztaby
  • 3 Przekaźniki
  • 10 Flag
  • 2 Przełączniki
  • Dekoder
  • Exec Player
  • oraz Exec Light

Mimo dużej złożoności systemu LAMS nie jest to zdecydowanie jego ostateczne forma. Kolejne edycje Asgardu z pewnością przyniosą nowe wyzwania, którym będą musieli sprostać inżynierowie z BPAT R&D, dzięki którym Asgard już dziś można uznać ze jedną z najbardziej innowacyjnych imprez ASG na świecie.

Krzysztof Chojnowski & Marcin Beresiński

Autor: STM32eu