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 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 ?
radiový prenos a spracovanie udajov
Moderátor: Moderátori
Re: radiový prenos a spracovanie udajov
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
http://www.jk-elektronika.info/index.html
predaj !!
http://svetelektro.com/modules.php?name ... 54#p549154
Re: radiový prenos a spracovanie udajov
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
0
- lucky62
- 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
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é.
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
Re: radiový prenos a spracovanie udajov
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
http://www.jk-elektronika.info/index.html
predaj !!
http://svetelektro.com/modules.php?name ... 54#p549154
Re: radiový prenos a spracovanie udajov
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 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 už by som vela chel
0
- Sl@Vo
- 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
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
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
-
- Podobné témy
- Odpovedí
- Zobrazení
- Posledný príspevok