Arduino z Mavlink - Start

Kliknij i wspomóż mnie :)

C++

Mavlink to protokół komunikacji z małymi pojazdami takimi jak drony, samochody czy szybowce. Wykorzystywany jest on w oprogramowaniu Mission Planner, czyli naziemną stacją kontroli dla dronów. Duża otwartość protokołu oraz wsparcie społeczności pozwala na dostosowanie Mavlink'a na własne potrzeby.

W tym poście skupię się na opisaniu podstaw protokołu Mavlink oraz jak go zaimplementować do Arduino.

Wprowadzenie do protokołu

Wykorzystanie protokołu w praktyce nie jest szczególnie trudne i można implementować go na wielu platformach. Mimo to podstawy działania to zaawansowany temat. Sam postaram się przybliżyć jedynie jego praktyczną stronę.

Dużo więcej na temat samego działania Mavlinka można przeczytać tutaj:

qgroundcontrol.org/mavlink/start
MAVLink and Arduino: step by step
MAVLink Step by Step

Zanim zaczniemy pracować z kodem musimy zadeklarować nasze środowisko.

Na początku importujemy biblotekę Mavlink oraz Arduino po czym definiujemy zmienne reprezentujące nasze urządzenie. Od tego zależne będzie czy protokół poprawnie zinterpretuje dane. Zbiór wszystkich możliwych konfiguracji można odszukać w pliku common.

Plik common

Podstawy komunikacji

Obsługa Mavlink'a wymaga od nas zadeklarowania zmiennej wiadomości oraz bufora. Te zmienne wykorzystywane przy wysyłaniu i odbieraniu komend.

Zasady komunikacji

Urządzenia pracujące z protokołem Mavlink same z siebie nie wysyłają ani nie odbierają żadnych danych. Wszystko co chcemy wykonać musimy zasygnalizować komendą (pack) albo żądaniem (request).

Sygnalizacja połączenia

Mavlink do sygnalizacji stanu połączenia wykorzystuje obiekt heartbeat. W późniejszym kodowaniu jest on raczej niepotrzebny. Z samego pakietu można wydobyć takie informacje jak obecny tryb czy wersję protokołu.

Kilka słów na koniec

Tym tekstem rozpocząłem małą serię o Mavlinku. Mam świadomość jak bardzo temat nie został wyczerpany. W następnych postach zamierzam opisać dokładnie odczyt oraz przesył komend do drona z wykorzystaniem Arduino. Stay tuned!

Dziękuję Ci za przeczytanie tego materiału 😀 Jeżeli spodobało Ci się to o czym piszę, możesz sprawdzić więcej materiałów na blogu lub udostępnić znajomym. Będzie mi bardzo miło 😊

O mnie

Jestem młodym programistą, który dumnie dzierży wiele pasji takich jak bieganie czy piwowarstwo domowe. Jedną z nich jest także programowanie i o tym właśnie zamierzam tutaj pisać.

Zobacz więcej

Najnowsze posty

Kliknij i wspomóż mnie :)

Zostańmy w kontakcie

* Wymagane
Kliknij i wspomóż mnie :)
shop
Otwórz Sklep Play

Zachęcam Cię do odwiedzenia mojej strony na Google Play store i sprawdzenia wszystkich moich aplikacji.