Telemetria w Naza v2 + Taranis

FC - wykorzystujące sprzęt firmy DJI

Moderatorzy: moderatorzy2014, moderatorzy

Awatar użytkownika
pawelsky
Posty: 9750
Rejestracja: środa 19 mar 2014, 02:03
Lokalizacja: Polska
Kontakt:

Re: Telemetria w Naza v2 + Taranis

Post autor: pawelsky »

mrozilla pisze:Oczywiście widziałem to jakieś kilkaset razy
To dlaczego nie uzyles?
mrozilla pisze:czy pierwszy program wymaga dopracowania, że gubi dane
Pytaj autora.
mrozilla pisze:czy z programem Mike należy coś zrobić aby go jakoś dostosować do tego
Program Mike'a jest do czegos zupelnie innego.
mrozilla pisze:Próbuję wgrać Twój przykład z posta
NIe wiem co tam masz za bajzel, a Dmerge.ino to z pewnoscia nic mojego.
mrozilla
Posty: 219
Rejestracja: poniedziałek 12 maja 2014, 18:01
Lokalizacja: Polska

Re: Telemetria w Naza v2 + Taranis

Post autor: mrozilla »

Szczerze mówiąc faktycznie był "bajzel" widocznie powstał w między czasie sprawdzania najróżniejszych bibliotek itp., wywaliłem wszystkie dograne pliki, wgrałem na nowo i zgadza się, nie ma takiego pliku w Twoich bibliotekach. Zmieniłem tylko Pin12 na Pin11 i przechodzi weryfikację bez problemu. Zrobiłem przewód do podłączenia RX z D8R-II Plus przez rezystor 4.7k do Arduino i podłączyłem go do PINu 11. TX z GPS do RX w Arduino obok VCC i GND.

Aktualizuję posta ponieważ dobrze zrobiłem ale źle to opisałem.
Pokazało się dużo danych na wyświetlaczu, niestety w domu nie łapie FIXa, ale chyba jest trochę nie tak ponieważ Od V1 do V8 pokazuje się napięcie od 4.07 do 4.14, V9 ma 0, od V10 do V12 nie ma żadnego parametru. T1 pokazuje 26, a T2 -8, na programie, który nie działał do końca akurat te opcje działały i pokazywało ilość satelit oraz FIX, zazwyczaj 3D, czasami pokazywało 4. Pasek paliwa pokazuje około 60%, nie wiem czego to napięcie, czy Li-Po w aparaturze czy Li-Po w F450? Ogólnie kompas też nie aktualizuje parametrów, Spd też na poziomie 194 kts i nic się nie zmienia. Czy te dane ruszą dopiero po złapaniu FIXa czy trzeba jeszcze coś poprawić?

Aktualizacja.
Wyszedłem na zewnątrz, Naza szybko złapała FIX 3D i zapisała pozycję Home ale w kwestii telemetrii nic się nie zmieniło, wygląda to po prostu jakby się nie odświeżała, wszystkie parametry są takie same od włączenia do wyłączenia aparatury bez względu na to czy GPS się porusza czy nie. W sumie wyświetlane są parametry takie jakie są zapisane w programie, koordynaty, pozycja kompasu itp. nie są wyświetlane takie jakie powinny być na żywo.
Awatar użytkownika
pawelsky
Posty: 9750
Rejestracja: środa 19 mar 2014, 02:03
Lokalizacja: Polska
Kontakt:

Re: Telemetria w Naza v2 + Taranis

Post autor: pawelsky »

mrozilla pisze:W sumie wyświetlane są parametry takie jakie są zapisane w programie, koordynaty, pozycja kompasu itp. nie są wyświetlane takie jakie powinny być na żywo.
No ale czego oczekiwales ladujac przyklad? Jak chcesz dane z Nazy to musisz je przekazac zamiast danych przykladowych, chociazby uzywajac NazaDecoder.
mrozilla
Posty: 219
Rejestracja: poniedziałek 12 maja 2014, 18:01
Lokalizacja: Polska

Re: Telemetria w Naza v2 + Taranis

Post autor: mrozilla »

Niestety to był zbyt wczesny entuzjazm, widząc dane pomyślałem, że są właśnie z GPS ale przeglądając kod uświadomiłem sobie, że właśnie te wartości są zapisane w kodzie. Po prostu trochę inaczej zrozumiałem funkcję przykładu niż w rzeczywistości posiada :)

Staram się zrozumiem jak połączyć NazaDecoder z resztą aby uzyskać te dane, ale analizując kod, który obecnie "trochę" działa nie bardzo mi to wychodzi...
Nie wiem dlaczego otrzymuję błędne koordynaty i ogóle jaki jest z nim problem, chyba na początek przydałoby się zrobić bardzo prosty program z podstawowymi informacjami jak właśnie koordynaty, Fix itp. aby w ogóle sprawdzić czy uda się na wyświetlaczu uzyskać właściwą pozycję i inne dane (ale skoro np. wysokość działa, kompas działa, satelity i Fix działa to chyba hardware jest w porządku tylko z programem jest problem?) ale tutaj potrzebna jest znajomość Arduino, ja dopiero od tego projektu zacząłem interesować się kodem więc jest trochę problem.
Może jednym z problemów w tym "działającym" programie jest to, że obsługuje dodatkowo czujniki FAS i FLVS-01, a ja ich nie mam podłączonych, bo nie posiadam takowych i przez to dane są ucinane itp.?
Awatar użytkownika
pawelsky
Posty: 9750
Rejestracja: środa 19 mar 2014, 02:03
Lokalizacja: Polska
Kontakt:

Re: Telemetria w Naza v2 + Taranis

Post autor: pawelsky »

mrozilla pisze:Staram się zrozumiem jak połączyć NazaDecoder z resztą aby uzyskać te dane, ale analizując kod, który obecnie "trochę" działa nie bardzo mi to wychodzi...
Masz tam jak wol pokazane jak to zrobic. Pomijam juz przyklad od samego NazaDecoder...
mrozilla
Posty: 219
Rejestracja: poniedziałek 12 maja 2014, 18:01
Lokalizacja: Polska

Re: Telemetria w Naza v2 + Taranis

Post autor: mrozilla »

Tak i po części dane są uzyskiwane ale nie widzę tam błędu, który powoduje, że nie wszystkie dane otrzymuję jak np. prędkość oraz to, że są uzyskiwane błędne koordynaty GPS, obecnie pokazuje Zatokę Gwinejską.
Pokazywało też na wyświetlaczu skok wysokości o 1 metr jako 0.1 ale w kodzie wystarczyło usunąć jedno 0 i już pokazuje prawidłowo czyli 1.0.
Awatar użytkownika
pawelsky
Posty: 9750
Rejestracja: środa 19 mar 2014, 02:03
Lokalizacja: Polska
Kontakt:

Re: Telemetria w Naza v2 + Taranis

Post autor: pawelsky »

mrozilla pisze:obecnie pokazuje Zatokę Gwinejską.
Sprawdz sobie gdzie wypadaja koordynaty 0,0 to bedziesz wiedzial dlaczego ;-)

Podalem Ci dwie banalnie proste biblioteki (z przykladami) ktorych masz uzyc zeby Ci to dzialalo jak trzeba. Jak sie uparles zeby uzywac kodu od flarssena, to juz Twoja sprawa.
mrozilla
Posty: 219
Rejestracja: poniedziałek 12 maja 2014, 18:01
Lokalizacja: Polska

Re: Telemetria w Naza v2 + Taranis

Post autor: mrozilla »

Faktycznie 0,0 ale na wyświetlaczu były pokazane pewne wartości (dokładnie nie pamiętam jakie) widocznie było to przekonwertowane 0,0.

Jeżeli chodzi o bibliotekę to nie uparłem się tylko po prostu na tą chwilę kod flarssena w ogóle cokolwiek pokazuje. W sumie tak na prawdę wydaje mi się, że kod jaki jest mi potrzebny powinien być sporo krótszy, bo czujników (na razie) nie podłączam, ewentualnie dodałbym termistor jako czujnik temperatury (na pewno też w kodzie trzeba byłoby uwzględnić) ale na razie chcę tylko dane z GPS uruchomić i pomimo, że faktycznie biblioteki zapewne tak jak piszesz nie są trudno to za mało znam programowanie aby zrobić program, który pokaże więcej niż ten gotowiec, który tak obecnie męczę.
Może masz chociaż część takiego prostego kodu, który wyciąga cokolwiek z GPS i nie jest przykładem żeby na jego podstawie spróbować zrobić cokolwiek działającego? W kodzie flarssena nie wiem skąd się biorą niektóre wartości i jakie mają znaczenie dlatego trudno jest coś z tego nowego stworzyć.
Awatar użytkownika
pawelsky
Posty: 9750
Rejestracja: środa 19 mar 2014, 02:03
Lokalizacja: Polska
Kontakt:

Re: Telemetria w Naza v2 + Taranis

Post autor: pawelsky »

mrozilla pisze:Może masz chociaż część takiego prostego kodu, który wyciąga cokolwiek z GPS i nie jest przykładem żeby na jego podstawie spróbować zrobić cokolwiek działającego?
Czyli chcesz przyklad ktory nie jest przykladem :roll:

TIP: Gdybys uwaznie przeczytal ten watek w ktorym piszesz znalazlbys nie tylko przyklad, ale niemalze gotowe rozwiazanie...
mrozilla
Posty: 219
Rejestracja: poniedziałek 12 maja 2014, 18:01
Lokalizacja: Polska

Re: Telemetria w Naza v2 + Taranis

Post autor: mrozilla »

Wrócę jeszcze na chwilę do koordynat GPS, bo wczoraj o pozycji Zatoki Gwinejskiej pisałem i faktycznie o ile 0.0 po przekonwertowaniu pokazywały wartości na wyświetlaczu to w miarę przemieszczania GPS wartości te się zmieniały więc może to nie do końca, że w ogóle nie zwraca wartości tylko albo zwraca przesunięte albo błędne, które w jakiś sposób mimo wszystko reagują na przemieszczanie się modelu.

Jeżeli piszesz o tym wątku to chciałem wgrać kod @matulekpl ale doczytałem później, że on to robił do serii X, a nie D dlatego zaprzestałem ale chyba faktycznie w wolnej chwili sprawdzę jak to wygląda, tylko mam pytanie odnośnie podłączenia, bo jego schemat różni się od mojego ale chyba nie ma różnicy którego VCC, GND i RXI użyję ważny jest tylko pin do RX odbiornika, bo w programie musi być taki sam jak podłączony fizycznie zgadza się? Dodatkowo w tym momencie mam go podłączonego przez rezystor do pinu RX w D8R-II Plus, na schemacie @matulekpl jest dodatkowo do odbiornika doprowadzone GND i połączone z GND Arduino czy lepiej jest podłączyć w ten sposób czy tylko użyć jednego przewodu tak jak mam obecnie?

Edit.
Pytanie o podłączenie nadal aktualne ale wgrałem program, zamieniłem Serial1 na Serial, bo nie przechodziło weryfikacji, zmieniłem PIN2 na PIN11, bo pod ten mam podpięty przewód i niestety nic się nie dzieje, brak telemetrii, a na Arduino świeci jedna dioda, druga w rogu nie miga tak jak przy działającym programie.

Co najmniej dwóm użytkownikom tego forum działa ten kod, a dlaczego u mnie nic nie zwraca, nie mam pomysłów... oczywiście kompiluje i wgrywa bez żadnych błędów.

Kod: Zaznacz cały

#include "NazaDecoderLib.h"
#include "FrSkySportSensorGps.h"
#include "FrSkySportSensorRpm.h"
#include "FrSkySportSensorVario.h"
#include "FrSkySportSingleWireSerial.h"
#include "FrSkySportTelemetry.h"
#include "SoftwareSerial.h"

FrSkySportSensorGps gps;
FrSkySportSensorRpm rpm;
FrSkySportSensorVario vario;
FrSkySportTelemetry telemetry;

void setup()
{
Serial.begin(115200);
telemetry.begin(FrSkySportSingleWireSerial::SOFT_SERIAL_PIN_11, &gps, &rpm, &vario);
}

void loop()
{
if(Serial.available())
{
if(NazaDecoder.decode(Serial.read()) == NAZA_MESSAGE_GPS)
{
gps.setData(NazaDecoder.getLat(), NazaDecoder.getLon(),
NazaDecoder.getGpsAlt(), NazaDecoder.getSpeed(), NazaDecoder.getCog(),
NazaDecoder.getYear(), NazaDecoder.getMonth(), NazaDecoder.getDay(),
NazaDecoder.getHour(), NazaDecoder.getMinute(), NazaDecoder.getSecond());
rpm.setData(0.0, NazaDecoder.getNumSat(), NazaDecoder.getFixType());
vario.setData(NazaDecoder.getGpsAlt(), NazaDecoder.getGpsVsi());
}
}

telemetry.send();
}
Awatar użytkownika
pawelsky
Posty: 9750
Rejestracja: środa 19 mar 2014, 02:03
Lokalizacja: Polska
Kontakt:

Re: Telemetria w Naza v2 + Taranis

Post autor: pawelsky »

mrozilla pisze:Wrócę jeszcze na chwilę do koordynat GPS, bo wczoraj o pozycji Zatoki Gwinejskiej pisałem i faktycznie o ile 0.0 po przekonwertowaniu pokazywały wartości na wyświetlaczu to w miarę przemieszczania GPS wartości te się zmieniały więc może to nie do końca, że w ogóle nie zwraca wartości tylko albo zwraca przesunięte albo błędne, które w jakiś sposób mimo wszystko reagują na przemieszczanie się modelu.
Tak jak pisalem wczesniej, pytaj autora kodu.
mrozilla pisze:Jeżeli piszesz o tym wątku to chciałem wgrać kod @matulekpl ale doczytałem później, że on to robił do serii X, a nie D dlatego zaprzestałem
I naprawde majac te wszystkie przyklady ktore Ci podalem w reku na zasadzie analogii nie jestes w stanie zlozyc tego w jedna calosc?
mrozilla pisze:ale chyba faktycznie w wolnej chwili sprawdzę jak to wygląda
Nie ma to wiekszego sensu bo jak sam slusznei stwierdziles to jest do serii X a nie D.
mrozilla pisze:na schemacie @matulekpl jest dodatkowo do odbiornika doprowadzone GND i połączone z GND Arduino czy lepiej jest podłączyć w ten sposób czy tylko użyć jednego przewodu tak jak mam obecnie?
Wspolna masa musi byc, jak to zrobisz nie ma wiekszego znaczenia.

Siadz spokojnie, przeanalizuj informacje ktore masz i dzialaj z glowa, bo w tej chwili miotasz sie troche na oslep bez wiekszego pomyslunku.
mrozilla
Posty: 219
Rejestracja: poniedziałek 12 maja 2014, 18:01
Lokalizacja: Polska

Re: Telemetria w Naza v2 + Taranis

Post autor: mrozilla »

pawelsky pisze: Wspolna masa musi byc, jak to zrobisz nie ma wiekszego znaczenia.
Wspólna masa na tym złączu G,Tx,Rx w odbiorniku czy ogólnie, bo tutaj tylko Rx mam zawsze podłączone ale w porcie A2 mam przez dzielnik podłączone Li-Po więc masa jest, dopytuję, bo jednak nie chciałbym hardware uszkodzić...

I faktycznie trochę już skaczę w różne strony, bo naprawdę sporo czasu na to poświęciłem i zapewne rozwiązanie jest bardzo proste ale jednak jeszcze do niego nie doszedłem.
Właśnie takim stwierdzeniem, że kod jest w wątku, a potem, że nie ma sensu go sprawdzać, bo jest do serii X gubię się, bo zaczynam za dużo kombinować i nic z tego nie wychodzi, bo nie wiem czy chodzi o ten kod i zmiany na:

Kod: Zaznacz cały

  telemetry.begin(FrSkyTelemetry::SOFT_SERIAL_PIN_12);
ale zmieniając jedną wartość pojawia się błąd, robię include FrSkyTelemetry.h pojawia się kolejny błąd czy w ogóle chodzi o inny kod, który gdzieś przypadkiem pominąłem przeglądając tak wiele razy ten temat. Ciężka sprawa...
Awatar użytkownika
pawelsky
Posty: 9750
Rejestracja: środa 19 mar 2014, 02:03
Lokalizacja: Polska
Kontakt:

Re: Telemetria w Naza v2 + Taranis

Post autor: pawelsky »

mrozilla pisze:Właśnie takim stwierdzeniem, że kod jest w wątku, a potem, że nie ma sensu go sprawdzać, bo jest do serii X gubię się
Chciales przyklad (ktory nie jest przykladem) jak wyciagnac dane z GPSa - to masz. Nie ma sensu go ladowac, ale jest sens mu sie przyjrzec i na zasadzie analogii uzyc biblioteki do serii D. Gotowego rozwiazania ode mnie nie dostaniesz bo niczego sie w ten sposob nie nauczysz...
mrozilla
Posty: 219
Rejestracja: poniedziałek 12 maja 2014, 18:01
Lokalizacja: Polska

Re: Telemetria w Naza v2 + Taranis

Post autor: mrozilla »

Rozumiem Twoje podejście i doceniam, oby przyniosło oczekiwane rezultaty :)
O ile wydaje mi się, że wiem o co chodzi w początku przykładu Twojej biblioteki dla serii D o tyle nie wiem jakie dane powinny być w nawiasach przede wszystkich tutaj: telemetry.setGpsData().

Na tą chwilę mam coś takiego ale widzę po LED w Arduino, że nie wysyła danych, oczywiście na wyświetlaczu brak telemetrii.

Kod: Zaznacz cały

/*
  FrSky Telemetry library example
  (c) Pawelsky 20170831
  Not for commercial use
  
  Note that you need Teensy 3.x/LC or 328P/168 based (e.g. Pro Mini, Nano, Uno) board and FrSkyTelemetry library for this example to work
*/

#include "FrSkyTelemetry.h"
#include "NazaDecoderLib.h"
#if !defined(__MK20DX128__) && !defined(__MK20DX256__) && !defined(__MKL26Z64__) && !defined(__MK66FX1M0__) && !defined(__MK64FX512__)
#include "SoftwareSerial.h"
#endif

FrSkyTelemetry telemetry; // Create telemetry object

void setup()
{
  // Configure the telemetry serial port
#if defined(__MK20DX128__) || defined(__MK20DX256__) || defined(__MKL26Z64__) || defined(__MK66FX1M0__) || defined(__MK64FX512__)
  telemetry.begin(FrSkyTelemetry::SERIAL_3);
#else
  telemetry.begin(FrSkyTelemetry::SOFT_SERIAL_PIN_11);
#endif
}

void loop()
{
  telemetry.setGpsData(NazaDecoder.getLat(), NazaDecoder.getLon(),
                  NazaDecoder.getGpsAlt(), NazaDecoder.getSpeed(), NazaDecoder.getCog(),
                  NazaDecoder.getYear(), NazaDecoder.getMonth(), NazaDecoder.getDay(),
                  NazaDecoder.getHour(), NazaDecoder.getMinute(), NazaDecoder.getSecond());

  telemetry.send();
}
Awatar użytkownika
pawelsky
Posty: 9750
Rejestracja: środa 19 mar 2014, 02:03
Lokalizacja: Polska
Kontakt:

Re: Telemetria w Naza v2 + Taranis

Post autor: pawelsky »

Nigdzie nie dekodujesz danych z Nazy.
ODPOWIEDZ