Vítejte na Elektro Bastlírn?
Nuke - Elektro Bastlirna
  Vytvořit účet Hlavní · Fórum · DDump · Profil · Zprávy · Hledat na fóru · Příspěvky na provoz EB

Vlákno na téma KORONAVIRUS - nutná registrace


Nuke - Elektro Bastlirna: Diskuzní fórum

 FAQFAQ   HledatHledat   Uživatelské skupinyUživatelské skupiny   ProfilProfil   Soukromé zprávySoukromé zprávy   PřihlášeníPřihlášení 

RF komunikace

 
Přidat nové téma   Zaslat odpověď       Obsah fóra Diskuzní fórum Elektro Bastlírny -> Teorie
Zobrazit předchozí téma :: Zobrazit následující téma  
Autor Zpráva
marzou



Založen: Jun 24, 2007
Příspěvky: 130

PříspěvekZaslal: pá březen 06 2009, 17:46    Předmět: RF komunikace Citovat

Zdravím všechny Bastlíře, zejména odborníky na rádiovou komunikaci!

Pracuji teď na vývoji dvou zařízení, které spolu komunikuji rádiově.
Potřeboval bych vyřešit algoritmus jejich komunikace.

Nadřízené zařízení (Master=>Mástr) vždy pošle příkaz podřízenému zařízení (Slave=>Slávek), to vykoná nějakou činnost a výsledek své práce pošle zpět nadřízenému zařízení.

Problém je v tom, že nelze zaručit, že pokud jedno zařízení vyšle zprávu druhé ji 100% přijme ve správné podobě nebo že ji přijme vůbec (správnost zprávy je samozřejmě zajištěna kontrolním součtem).

Je proto nutné, aby např. Mástr vysílal příkaz opakovaně, ale jak dlouho? Než tuto zprávu Slávek přijme a pošle mu odpověď. Ale tuto odpověď je opět nutno vysílat opakovaně, než jí přijme Mástr. Ale jak se o příchodu odpovědi k Mástrovi dozví Slávek aby přestal vysílat? Mástr mu opět pošle zprávu? Takhle by se to ale mohlo opakovat do nekonečna což není moc dobréSmile


1. přístup:
Mástr začne vysílat opakovaně příkaz Slávkovi a zároveň začne poslouchat odpověď od Slávka. Slávek přijme příkaz, zjistí co má dělat a začne vykonávat danou činnost. Po vykonání činnosti začne Slávek vysílat Mástrovi odpověď a zároveň poslouchá, zda-li mu Mástr neposílá další příkaz. Pokud Mástr zachytí odpověď o vykonání činnosti Slávkem, přestane vysílat příkaz na tuto činnost a může vysílat příkaz k jiné činnosti. Slávek samozřejmě vysílá odpověď dokud mu nepřijde příkaz k jiné činnosti, jedině tak se doví, že Mástr výsledek jeho činnosti obdržel………………..

Tento přístup je docela fajn, ale problém je v tom, že se neustále něco vysílá. Pokud je Slávek „lenoch“, Mástr může vyslat několik stovek, tisíců…………stejných příkazů, neboť nemůže vědět, jestli Slávek zprávu dostal, nebo už činnost vykonává, ale ta trvá více času.

Mástr bude brát energii ze sítě, ale Slávek pouze z baterií, takže by se měl šetřit a vysílat co nejméně.


Vylepšený 1. přístup:
Poté co Mástr obdrží zprávu od Slávka, okamžitě mu pošle nějaký příkaz, aby Slávek vysílat přestal a začal pracovat, ten příkaz může být i ve stylu „zatím nic nedělej, jen naslouchej, pokud bych něco potřeboval“. To by spotřebu Slávka snížilo. Další snížení spotřeby by mohlo být příkazem „Slávku, x sekund, minut….. mi nenaslouchej, zkus to třeba za x sekund, minut….“


Pokud má někdo lepší nápady jak Slávkovi co nejvíce ušetřit baterie, nechť se ozve, budu moc rád Smile
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Andrea



Založen: Sep 07, 2007
Příspěvky: 9340

PříspěvekZaslal: pá březen 06 2009, 18:00    Předmět: Citovat

Tak ať Slávek potvrdí okamžitě Mástrovi, že příkaz obdržel a pak ho může vykonávat jak je třeba dlouho. Totéž zprávu Slávka o dokončení příkazu ať Mástr ihned potvrdí.
Na to potvrzování se dá použít podobný algoritmus jako je použit na USB:
Stanice A pošle paket stanici B, ta ho ihned potvdí stanici A. Pokud se ztratí nebo poškodí paket na cestě od A k B, B nic nepotvrdí a stanice A pošle po nastavené době (timeout) paket znovu. Pokud se ztratí potvrzení od stanice B k A, tak stanice A pošle paket znovu (stejně jako když se ztratil od A k B, protože z pohledu A je to totéž, nepřišlo potvrzení). Stanice B ho už jednou dostala v pořádku, takže ho jen potvrdí stanici A a pokračuje v jeho vykonávání.
Počet pokusů o poslání je dobré omezit a indikovat nedosažitelnost stanic.
(Datové pakety jsou na USB číslovány 0 a 1. To stačí k zaručení, že se nepomíchají ani nevezmou dvakrát)
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Crifodo



Založen: Oct 11, 2005
Příspěvky: 15005

PříspěvekZaslal: pá březen 06 2009, 19:03    Předmět: Citovat

Strategie dost závisí na faktických podmínkách.
1) Je možné nebo nutné dodržovat pro komunikaci nějaká časová okénka nebo může nastat kdykoliv? pokud se dá komunikovat v oknech, dá se udržet dlouhodobě u obou synchronní hodiny?
2) vysíláš na jediné frekvenci nebo duplexně?
3) lze předpokládat lepší výkon a antény u Mástra nebo je to jedno?
4) máš nějaký předpoklad že v komunikaci jsou pravděpodobné výpadky?
podle toho je pak možné uvažovat dál o účinném a úsporném protokolu.
O filozofii komunikace by mohli vyprávět konstruktéři meziplanetárních sond, je fakt že někdy dokázali úplný zázraky...
Třeba se stupněm neúspěšných pokusů měnit četnost poměrů p/v nebo modifikovat výkon, monitorovat rušení atd.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Odeslat e-mail
marzou



Založen: Jun 24, 2007
Příspěvky: 130

PříspěvekZaslal: pá březen 06 2009, 20:07    Předmět: Citovat

Andrea napsal(a):
Tak ať Slávek potvrdí okamžitě Mástrovi, že příkaz obdržel a pak ho může vykonávat jak je třeba dlouho. Totéž zprávu Slávka o dokončení příkazu ať Mástr ihned potvrdí.
Na to potvrzování se dá použít podobný algoritmus jako je použit na USB:
Stanice A pošle paket stanici B, ta ho ihned potvdí stanici A. Pokud se ztratí nebo poškodí paket na cestě od A k B, B nic nepotvrdí a stanice A pošle po nastavené době (timeout) paket znovu. Pokud se ztratí potvrzení od stanice B k A, tak stanice A pošle paket znovu (stejně jako když se ztratil od A k B, protože z pohledu A je to totéž, nepřišlo potvrzení). Stanice B ho už jednou dostala v pořádku, takže ho jen potvrdí stanici A a pokračuje v jeho vykonávání.
Počet pokusů o poslání je dobré omezit a indikovat nedosažitelnost stanic.
(Datové pakety jsou na USB číslovány 0 a 1. To stačí k zaručení, že se nepomíchají ani nevezmou dvakrát)


Díky za odpověď, zamyslel sem se nad tím:


Mástr…..…………………………………………..........Slávek

………………………<Mástr chce uvařit oběd>
vysílá, přijímá …..………………………………….nevysílá, přijímá
uvař……………….----------------------------->


…………………<Slávek odpovídá, že rozumněl>
vysílá, přijímá ……………………………………….vysílá, přijímá
………….<----------------------------- …..OK, uvařím


……………………...<Mástr děkuje Slávkovi>
vysílá, nepřijímá……………………………………..vysílá, přijímá
díky za ochotu ……----------------------------->
za 5 minut se ozvu
a požádám tě o jídlo


……………………….<Slávek obdržel poděkování>
vysílá, nepřijímá………………………………...…….nevysílá, nepřijímá


….o 5 minut později
…………….se algoritmus opakuje, místo odpovědi „OK, uvařím“ Slávek pošle jídlo


Výsledek výše uvedeného algoritmu:

Jediná činnost během 5-ti minutového čekání je vysílání Mástra, protože ten nezjistí, zda Slávkovi došlo poděkování. Slávek to ovšem ví a proto přestane odpovídat Mástrovi, že rozumněl . Od Mástra se také dozvěděl, že ho kontaktuje až za 5 minut, proto přestane naslouchat. Ale od kdy je těch 5 minut? Vždyť Slávek neví, po jaké době zaslechl Mástra, že se mu za 5 minut ozve! Pokud ho zaslechnul po 4min 59s, Mástr bude poté 4min 59s žádat o jídlo, než se Slávek po 5 minutách ozve. Což není na závadu Mástr, stejně vysílá neustále.

Jiný případ:

Mástr tedy posílá Slávkovi zprávu, že se za 5 minut ozve a požádá ho o jídlo. Tuto zprávu ale vysílá pouze 5 minut, protože pak ho bude žádat o jídlo. Slávek zprávu s 5 minutovým čekáním neobdrží, zprávu se žádostí o jídlo obdrží zaručeně, ta se bude vysílat neustále.
Slávek ovšem nepřestane naslouchat i během přípravy oběda, což ho snad tolik zdržovat nebude:)


Doufám, že moje myšlenkové pochody jsou i v této večerní době správnéSmile. S tím neustálým vysíláním Mástra se asi nedá nic dělat?
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
marzou



Založen: Jun 24, 2007
Příspěvky: 130

PříspěvekZaslal: pá březen 06 2009, 20:27    Předmět: Citovat

Strategie dost závisí na faktických podmínkách.
1) Je možné nebo nutné dodržovat pro komunikaci nějaká časová okénka nebo může nastat kdykoliv? pokud se dá komunikovat v oknech, dá se udržet dlouhodobě u obou synchronní hodiny?

Možné to je, nutné to není. Důležitá je jenom úspora energie Slávka – měl by co nejméně přijímat a ještě méně vysílat. Synchronní hodiny nejsou.


2) vysíláš na jediné frekvenci nebo duplexně?

Na jedné frekvenci.


3) lze předpokládat lepší výkon a antény u Mástra nebo je to jedno?

Nepředpokládal sem to, ale v případě nutnosti by se to dalo zajistit.


4) máš nějaký předpoklad že v komunikaci jsou pravděpodobné výpadky?
podle toho je pak možné uvažovat dál o účinném a úsporném protokolu.

V komunikaci výpadky určitě jsou, samozřejmě jejích četnost stoupá se vzdáleností mezi Mástrem a Slávek či s překážkami, které jsou mezi nimi, nebo s rychlostí přenosu dat. Zatím nemám představu při jaké četnosti výpadků (vzdálenosti mezi nimi, rychlosti přenosu) bych to chtěl provozovat.


Zatím je vše v oblasti experimentu momentálně mám vyzkoušeno, že z budovy do otevřeného prostoru na vzdálenost asi 50m při rychlosti přenosu 4.8kbps to pracuje průměrně s 50% úspěšností, měřeno po dobu 1s, např. během 0.01s ta úspěšnost v % může být několikanásobně menší.

Další zajímavost je ta, že se to do určité vzdálenosti drží téměř na 100% a pak to rychle klesá. Do nějakých 40m jsem tam měl téměř 100%, na 60m asi 10%. I když je taky fakt, že mi tam potom clonil ještě barák souseda, takže uplně optimální podmínky nebyly:)


Výrobce RF transceiveru uvádí 1.2kbps na 300m v otevřeném prostoru, ale nevím jestli je to důvěryhodná informace. Jinak to pracuje na 868MHz, anténu mám zatím pouze kus drátu s délkou 85mm.


Jinak ještě pokukuju po RF transceiveru co má 1.2kbps na 3km, kdyby bylo potřeba něco silnějšího:)
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Bernard



Založen: May 27, 2005
Příspěvky: 3647

PříspěvekZaslal: pá březen 06 2009, 21:52    Předmět: Citovat

Ten přístup 1 mi silně připomíná tónovou signalizaci v analogové telefonní síti, tzv. vázaný R2 kód. Zprávu tvoří dvojtónový signál a postup je:

1. Nikdo nic nevysílá - klid
2. M -> S: Mástr začne a trvale vysílá svoji zprávu
3. S -> M: Slávek začne a trvale vysílá svoji potvrzovací zprávu
4. M : Slyší potvrzovací zprávu a přestane vysílat
5. S : Slyší, že Mástr přestal, tak přestane taky.
Následuje bod 1 nebo 2.

Je to jen pro inspiraci, v RF přenose se to může komplikovat, chce to úplný duplex.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
marzou



Založen: Jun 24, 2007
Příspěvky: 130

PříspěvekZaslal: pá březen 06 2009, 22:24    Předmět: Citovat

Bernard napsal(a):
Ten přístup 1 mi silně připomíná tónovou signalizaci v analogové telefonní síti, tzv. vázaný R2 kód. Zprávu tvoří dvojtónový signál a postup je:

1. Nikdo nic nevysílá - klid
2. M -> S: Mástr začne a trvale vysílá svoji zprávu
3. S -> M: Slávek začne a trvale vysílá svoji potvrzovací zprávu
4. M : Slyší potvrzovací zprávu a přestane vysílat
5. S : Slyší, že Mástr přestal, tak přestane taky.
Následuje bod 1 nebo 2.

Je to jen pro inspiraci, v RF přenose se to může komplikovat, chce to úplný duplex.


Tohle by bylo celkem ucházející, zde je ale problém, že když Mástr přestane vysílat, Slávek se o tom nedoví. Respektive, co když Mástr vysílá, ale Slávek ho jen neslyší.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Zmije



Založen: Jun 30, 2005
Příspěvky: 1568
Bydliště: Pardubický kraj

PříspěvekZaslal: pá březen 06 2009, 22:35    Předmět: Citovat

Tak musí mastr udržovat komunikaci, jednou za uherský rok poslat zprávu. ps: co se inspirovat metodou CSMA/CD jako na ethernetu po koaxu?
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Odeslat e-mail
Bernard



Založen: May 27, 2005
Příspěvky: 3647

PříspěvekZaslal: pá březen 06 2009, 22:42    Předmět: Citovat

Když Mástr vysílá a Slávek neslyší, po časovém dohledu se vyhodnotí chyba přenosové cesty a někam se hlásí. Slávek, když nic neslyší, je spokojen, má klid.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
marzou



Založen: Jun 24, 2007
Příspěvky: 130

PříspěvekZaslal: so březen 07 2009, 13:12    Předmět: Citovat

Zmije napsal(a):
Tak musí mastr udržovat komunikaci, jednou za uherský rok poslat zprávu. ps: co se inspirovat metodou CSMA/CD jako na ethernetu po koaxu?


To co sem uváděl ve druhém příspěvku, by se dalo považovat za určitou inspiraci CSMA. CSMA je ale navržená pro co nejvyšší využití přenosového pásma, já potřebuji co nejvyšší využití baterií Slávka (neříkám, že to spolu v určitých bodech nesouvisí).

Dalším otázkou je velikost toho uherského roku, asi by se jeho délka měla měnit v závislosti na úpěšnostech přenosu. Pokud přenos není úspěšný rok prodloužím, nebo ho prodloužím třeba po 10 pokusech o přenos. Asi by měl mít nějakou maximální dobu.

Ale podle jaké strategie délku roku stanovit?

Například vyšlu 10 příkazů v době 10s, nedorazí žádná odpověď, vyplatí se na 10s vysílání přerušit? Bude pak větší pravděpodobnost, že příkaz dorazí? než kdybych poslal hned 11-tý bez čekání?


Bernard napsal(a):
Když Mástr vysílá a Slávek neslyší, po časovém dohledu se vyhodnotí chyba přenosové cesty a někam se hlásí. Slávek, když nic neslyší, je spokojen, má klid.


Chyba se vyhodnotit může, ale co s takovým vyhodnocením dělat?
Slávek asi spokojenej bude, ale Mástr ne, protože má pro něj nejspíše práci:)
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Zobrazit příspěvky z předchozích:   
Přidat nové téma   Zaslat odpověď       Obsah fóra Diskuzní fórum Elektro Bastlírny -> Teorie Časy uváděny v GMT + 1 hodina
Strana 1 z 1

 
Přejdi na:  
Nemůžete odesílat nové téma do tohoto fóra.
Nemůžete odpovídat na témata v tomto fóru.
Nemůžete upravovat své příspěvky v tomto fóru.
Nemůžete mazat své příspěvky v tomto fóru.
Nemůžete hlasovat v tomto fóru.
Nemůžete připojovat soubory k příspěvkům
Můžete stahovat a prohlížet přiložené soubory

Powered by phpBB © 2001, 2005 phpBB Group
Forums ©
Nuke - Elektro Bastlirna

Informace na portálu Elektro bastlírny jsou prezentovány za účelem vzdělání čtenářů a rozšíření zájmu o elektroniku. Autoři článků na serveru neberou žádnou zodpovědnost za škody vzniklé těmito zapojeními. Rovněž neberou žádnou odpovědnost za případnou újmu na zdraví vzniklou úrazem elektrickým proudem. Autoři a správci těchto stránek nepřejímají záruku za správnost zveřejněných materiálů. Předkládané informace a zapojení jsou zveřejněny bez ohledu na případné patenty třetích osob. Nároky na odškodnění na základě změn, chyb nebo vynechání jsou zásadně vyloučeny. Všechny registrované nebo jiné obchodní známky zde použité jsou majetkem jejich vlastníků. Uvedením nejsou zpochybněna z toho vyplývající vlastnická práva. Použití konstrukcí v rozporu se zákonem je přísně zakázáno. Vzhledem k tomu, že původ předkládaných materiálů nelze žádným způsobem dohledat, nelze je použít pro komerční účely! Tento nekomerční server nemá z uvedených zapojení či konstrukcí žádný zisk. Nezodpovídáme za pravost předkládaných materiálů třetími osobami a jejich původ. V případě, že zjistíte porušení autorského práva či jiné nesrovnalosti, kontaktujte administrátory na diskuzním fóru EB.


PHP-Nuke Copyright © 2005 by Francisco Burzi. This is free software, and you may redistribute it under the GPL. PHP-Nuke comes with absolutely no warranty, for details, see the license.
Čas potřebný ke zpracování stránky 0.15 sekund