radiový prenos a spracovanie udajov

Sekcia určená pre Arduino nadšencov

Moderátor: Moderátori

fagi
Stály člen
Stály člen
Príspevky: 110
Dátum registrácie: 23 Máj 2015, 18:09

radiový prenos a spracovanie udajov

Príspevok od používateľa fagi » 13 Máj 2017, 20:12

Zdravím vospolok a všetkých odborníkov na fóre či by ste dopovedali na moje skromne otazky :)

takže experimentuje s radiovým prenosom udajov a mám 2 moduly RTX-868-FSK a taktiež mám 2 arduina a snažím sa o prenos udajov medzi nimi, hardverovo mi všetko ide aj softverovo ak mi treba odoslat iba jednu hodnotu, je to ok otazka je ako prenášat viac udajov a korektne ich sparcovat ?

arduino 1 vysiela každých 100ms sparvu v tvare : S1,a,120,b,111,c,240 rýchlostou 4800baudov a,b c su hodnoty premenných ktore prenasam

arduino2 spracuej a odošle mi do pc spracovane hodnoty premenných abc
kod :

int a;
int b;
int c;
int led = 13;
char inchar;
void setup()
{
Serial.begin(4800);
}
void loop()
{
if (Serial.available()) {
digitalWrite(led, HIGH);
inchar=Serial.read();
}
else {
digitalWrite(led, LOW);
}
if(Serial.find("S1")){
Serial.find("a");
a = Serial.parseInt();
Serial.find("b");
b = Serial.parseInt();
Serial.find("c");
c = Serial.parseInt();
}

Serial.print(a);
Serial.print(" ");
Serial.print(b);
Serial.print(" ");
Serial.print(c);
Serial.println(" ");
}



ak prepojim tx rx priamo drotikom(samozrejme mam aj GND spojene)
vysledok je :

120 111 240
120 111 240
120 111 240
120 111 240
proste bez chýb

ale cez rf moduly :

120 111 240
120 111 200
120 111 240
120 111 240
120 1 240
12 1 20
120 111 0
120 111 240
120 111 24
120 111 24
120 111 240
120 111 240
12 111 24
120 1 240
120 11 240
120 111 240
120 111 200
120 111 240
120 111 240

proste niekde sa to pokazí (rušenie, velka vzdialenost od seba ) otazka je: harverovo asi nejde zlepšit to ale softverovo ako inak odseparovat jednotlive premenne aby bol prenos paketu spolahlivejši prípadne chybný paket neakceptovat(kontrolný sucet?) a teraz naco to chem :D chem si spravit dialkovo ovladaneho robota ktoreho budem takto ovladat, klasicky by stačilo napr. odošle 1..dopredu,2..dozadu,3dolava.... a tak ale ked chem este tam napr. roboticku ruku tak musím odoslat sučasne viac udajov a nieled diskretných (dopredu, dozadu, vpravo...)ale aj spojite poloha serva1,2,3 a robot bude odosielat udajne spat zo senzorov, etse otazka čo je lepšie ak sa vysiela udaje stále v napríklad každých 100ms alebo len ak treba vykonat akciu ponut sa pohnut ramenom ?
0

Používateľov profilový obrázok
Kado
Power user
Power user
Príspevky: 1625
Dátum registrácie: 02 Sep 2007, 00:00
Bydlisko: PB
Vek: 40

Re: radiový prenos a spracovanie udajov

Príspevok od používateľa Kado » 13 Máj 2017, 20:33

skus ist s baudrate este nizsie, napr na 1200Bd, a este ti doporucujem pripojit na konci spravy nejaky kontrolny sucet, nejake CRC, aby si mal zabezbecene spracovanie korektnych dat
0
Návrh zapojení s jednočipovými mikropočítačmi, tvorba programového vybavenia pre mikropočítače
http://www.jk-elektronika.info/index.html

predaj !!
http://svetelektro.com/modules.php?name ... 54#p549154

fagi
Stály člen
Stály člen
Príspevky: 110
Dátum registrácie: 23 Máj 2015, 18:09

Re: radiový prenos a spracovanie udajov

Príspevok od používateľa fagi » 13 Máj 2017, 20:43

tak teraz som to skusil dat na 1200 a ide to ok ale mam to na stole vedla seba realne chem mat dosah väčší max 10 m neviem kolko zvládu tie moduly no a potom nižšie s baud rate ist nechemaby to nemalo oneskorenie ako robot na marse :lol:
0

Používateľov profilový obrázok
lucky62
Zaslúžilý člen
Zaslúžilý člen
Príspevky: 1151
Dátum registrácie: 14 Feb 2012, 20:16
Bydlisko: Liptovský Mikuláš, SK

Re: radiový prenos a spracovanie udajov

Príspevok od používateľa lucky62 » 13 Máj 2017, 21:43

Implementuj si tam nejaký komunikačný protokol s potvrdzovaním.
Keď tam dáš len kontrolný súčet, čo s tým urobí robot? Keď dáta nebudú v poriadku tak ich zahodí, ale nič nevykoná a na vysielacej strane o tom nemáš informáciu...

Možno nájdeš už niečo hotové.
0
....môj bazar....

...Nikdy sa nehádaj s blbcom...

Používateľov profilový obrázok
Kado
Power user
Power user
Príspevky: 1625
Dátum registrácie: 02 Sep 2007, 00:00
Bydlisko: PB
Vek: 40

Re: radiový prenos a spracovanie udajov

Príspevok od používateľa Kado » 14 Máj 2017, 09:07

ved si vypocitaj kolko trva poslanie tvojich dat rychlostou 4800Bd a 1200Bd, osobne si myslim, ze to vadit nemoze, dokonca mozes ist este nizsie, na 600Bd :|
0
Návrh zapojení s jednočipovými mikropočítačmi, tvorba programového vybavenia pre mikropočítače
http://www.jk-elektronika.info/index.html

predaj !!
http://svetelektro.com/modules.php?name ... 54#p549154

fagi
Stály člen
Stály člen
Príspevky: 110
Dátum registrácie: 23 Máj 2015, 18:09

Re: radiový prenos a spracovanie udajov

Príspevok od používateľa fagi » 15 Máj 2017, 14:31

dobre ako si mám predstavit ten protokol s potvrdzovaním ? napríklad pošlem 2 rovnaké pakety a porovnám ich ? alebo z vyslané udaje odošlem spät k vysielaču či sa zhoduju a ak hej tak ich spracuje ? alebo akceptovat hodnoty ktoré v mojom definovanom rozmedzí 0-255 a ak je mimo vyšle pravu o chxbnom prenose ? alebo daju sa inplementova samoopravne algorytmy :lol: :lol: alebo ako to funguje napríklad v vifi Bluetooth sa len pýtam alebo dalšia ozaka ako by sa dalo sledovat kvalita signálu kedy by sa robot už neprímal udaje z vysielača a dal by som aby bol v autonomnom režime :D už by som vela chel :mrgreen:
0

Používateľov profilový obrázok
Sl@Vo
Stály člen
Stály člen
Príspevky: 391
Dátum registrácie: 05 Feb 2008, 00:00
Vek: 31
Kontaktovať používateľa:

Re: radiový prenos a spracovanie udajov

Príspevok od používateľa Sl@Vo » 15 Máj 2017, 14:56

Pozri si, co je to CRC. Je to cislo, ktore sa posiela na konci spravy a je to sposob, ako dokazes relativne jednoducho zistit, ci sa ti niekam nestratil nejaky bit zo spravy.

Ak sprava dorazi, spocitas jej CRC a porovnas ho s hodnotou, ktora prisla na konci spravy.
CRC sa rovnaju, posles spravu "ok" (samozrejme s CRC) do tvojho "dialkoveho ovladania".

DO aj robot vedia ze maju aktualne data.

Ak sa CRC nerovnaju, posles spravu "fail", co znamena, ze DO musi znova poslat spravu.

Samozrejme, DO (sender), si musi pamatat, aku spravu naposledy posielal, aby ju pripadne vedel zopakovat.

Takto sa budu spravy posielat, kym nebudu spravne.
S
0
Sl@Vo

Napísať odpoveď
  • Podobné témy
    Odpovedí
    Zobrazení
    Posledný príspevok