Przygotowanie środowiska pracy
Blog Meshcore opublikował przewodnik dotyczący tworzenia węzłów sensorycznych dla sieci MeshCore. Aby rozpocząć pracę, programiści muszą zainstalować VSCode i rozszerzenie PlatformIO, a następnie sklonować repozytorium firmware'u MeshCore za pomocą Git.
Szablon do dostosowania
Punkt wyjścia stanowi przykładowy firmware sensoryczny znajdujący się w folderze /examples/simple_sensor. Plik main.cpp zawiera klasę MyMesh dziedziczącą po SensorMesh, która dostarcza niezbędne funkcjonalności. Większość dostosowań powinna ograniczać się do modyfikacji tego pliku.
Developers muszą wybrać wariant płytki i odpowiednio skonfigurować plik platformio.ini. Dla wielu obsługiwanych płytek istnieją już predefiniowane cele budowania, takie jak [env:Heltec_v3_sensor]. Konfiguracja umożliwia włączenie obsługi konkretnych czujników poprzez flagi kompilacji, w tym GPS, czujniki temperatury i wilgotności (AHTX0, BME280, BMP280, SHTC3, SHT4X), czujniki ciśnienia (LPS22HB, BMP085), czujniki prądu (INA3221, INA219, INA226, INA260) oraz inne urządzenia pomiarowe.
Funkcjonalności węzła sensorycznego
Węzły sensoryczne MeshCore obsługują system alertów o wysokim i niskim priorytecie. Alerty o wysokim priorytecie są ponawiane do czasu otrzymania potwierdzenia, podczas gdy alerty o niskim priorytecie wysyłane są jednokrotnie. Węzły mogą również udostępniać dane telemetryczne, które inne urządzenia w sieci mogą pobierać na żądanie. Wkrótce dostępna będzie funkcja subskrypcji telemetrii push, umożliwiająca węzłowi wysyłanie danych tylko w przypadku zmian wartości przekraczających określony próg.
Węzły mogą gromadzić dane szeregów czasowych przechowywane w pamięci buforowej, a zdalne urządzenia mogą wysyłać zapytania o wartości minimalne, maksymalne i średnie z określonego zakresu czasu. Węzły obsługują również niestandardowe polecenia CLI, umożliwiające zdalne sterowanie urządzeniami takimi jak diody LED czy serwomechanizmy.
