Skocz do zawartości

Pomocna odpowiedź

Napisano

Witam.

Mam problem ze stworzeniem kodu do wykorzystania danych odbieranych przez Arduino z modułu BLE hc-10. Mianowicie korzystam z aplikacji na androida Dabble, dzięki której wysyłam dane poprzez moduł bluetooth do Arduino Uno. Po wciśnięciu jednego przycisku w tej aplikacji uzyskuje szereg takich wartości.image.thumb.png.d4dba4459449b67732e6cfd89dad2886.png  

Wartości te dotyczą stanu przycisków w aplikacji. Moim problemem jest to że nie wiem jak odwołać się np. do stanu piątego przycisku na którym jest 2. Np. chciałbym do zmiennej a przypisać wartość piątego przycisku a do zmiennej b czwartego przycisku. Wie ktoś może jak rozwiązać ten problem? Poniżej kod programu

image.thumb.png.9e6b3160447c822b14b9685553c43efd.png

Jeśli dane wysyłasz w taki sposób to dość ciężko będzie wydobyć tę "2", bo nie możesz jej odróżnić od innych wysyłanych wartości. Musiałbyś zakładać, że zawsze wszystkie informacje dotrą w całości do Arduino, a tak często nie będzie. Masz możliwość zmiany formatu wysyłanych danych?

Jeżeli chodzi o zmianę formatu to pewnie musiałbym się zagłębić w programowanie aplikacji na telefon z której te dane wychodzą a tego narazie nie chciałem jeszcze ruszać.

  • 4 tygodnie później...

Musisz dokładnie wiedzieć ile danych jest wysyłanych i w jakim formacie, jak jest oznaczony początek i koniec transmisji, czy ewentualnie ilość przesłanych bajtów jest stała. Bierzesz przykład z Arduino IDE Serial Event, gdy następuje początek transmisji łapiesz bajty do tablicy, gdy jest ich tyle ile trzeba ustawiasz flagę, że ramka kompletna, w loop masz polecenie if(flaga==1) funkcjaKtoraCosZTymZrobi(); - sprawdzasz czy zebrane dane w ogóle mają jakiś sens, napełniasz swoje zmienne.

Wszystko sprowadza się do lepszego poznania zarówno tej aplikacji w Androidzie jak i Arduino.

  • Lubię! 2

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • Utwórz nowe...