Klient APRS na Arduino

I znowu, zarzucić tylko temat i kilka dni z głowy 😊 Tak się stało podczas niedawnej wizyty u Piotra SP2LQP, który wyjął moduł sieciowy ethernet W5100 na Arduino i zaproponował aby w wolnej chwili zainteresować się tematem postawienia klienta APRS, który został opisany na łamach Świat Radio 1/2020. Wsparciem, było tez otrzymanie od Piotra pierwowzoru artykułu, który został opublikowany w CQ DL 7-2019, którego autorem jest Franz DL6FCD.

Czemu nie, znowu coś nowego jednak z góry zastrzegłem, że nie zajmę się wcześniej tematem niż za dwa tygodnie.

… i komu ja to chciałem powiedzieć. Na drugi dzień zamówiony był już cały zestaw czyli: Arduino Uno, moduł sieciowy ethernet W5100 oraz czujnik BME280.

W międzyczasie pościągałem już oprogramowanie do skomunikowania Arduiono ze strony www.arduino.cc oraz wszystkie potrzebne pliki, a zwłaszcza biblioteki, które umieszczone są na https://github.com/fgaletsee/ArduPRS. W bibliotekach przygotowanych przez Franza mamy do wyboru cztery wersje tzn:

  • nurCallTest (którego nie testowałem)
  • Call
  • Event
  • WX

Na początek wypróbowałem dwa moduły Call oraz Event. Z tym pierwszym udało mi się dojść do porozumienia i obecnie wysyła ramki oraz widać go na mapie jako SP2RTA-1 natomiast drugi na razie nie chce współpracować. Czwartym z modułów, który „daje” najwięcej na razie się nie zająłem na poważnie gdyż oczywiście chciałem być mądrzejszy i zamiast standardowego czujnika, który jest zaimplementowany w skrypcie czyli BMP180 kupiłem bardziej rozbudowany dla którego skrypt będzie trzeba zmodyfikować lub trzeba będzie kupić taki dla którego skrypt został napisany.

Oczywiście nie obyło się bez problemów, bo przecież po to się tym „bawimy’ aby się czegoś nauczyć. Pierwszym z problemów było brak uwierzytelnienia na serwerach APRS – informacja Verified – No. Nigdzie nie mogłem znaleźć miejsca na wpisanie kodu uwierzytelniającego nasz znak, który deFacto można wygenerować na stronie http://apps.magicbug.co.uk/passcode/.  

Napisałem w tej sprawie do Franza DL6FCD i w odpowiedzi otrzymałem informację iż kod powinien być generowany automatycznie przez skrypt. Niestety tak nie było ale i z tym sobie poradziłem poprzez wpisanie go „na stałe” w pliku APRSIS.cpp. W późniejszym czasie przy odrobinie wolnego czasu postaram się sprawdzić gdzie tkwi błąd.

Drugim może nie problemem ale mała uwaga co do wpisania współrzędnych. Nie sugerujmy się zapisem w formacie „4817.96N”, „01054.70E”. Nie są to współrzędne GPS lecz stopnie, minuty i sekundy (SMS) zapisane w nieco innym formacie. Zapis 4817.96N odpowiada N 48°17’96’’. Uważać trzeba przy drugim z zapisów gdzie przed wartością stopni należy wpisać „zero” 01054.70E =  E 10°54’70’’

Po kilku próbach (no może kilkunastu …) Arduino ruszyło tak jak to było zakładane i ostatecznie zaczęło wysyłać poprawną informację o pozycji SP2RTA-1.

Następnym etapem będzie uruchomienie wysyłania dodatkowych informacji meteorologicznych jakie panują na moim balkonie po zakupie odpowiedniego czujnika bądź po zmodyfikowaniu kodu.

Uruchomiony klient APRS
Uruchomiony klient APRS

Cdn ….

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

Witryna wykorzystuje Akismet, aby ograniczyć spam. Dowiedz się więcej jak przetwarzane są dane komentarzy.