Úsporná komunikace na vyžádání

Dotazy na technické problémy, vlastní řešení technických problémů

Moderátor: Moderátoři

Odpovědět
Zpráva
Autor
Uživatelský avatar
p4ul
Příspěvky: 317
Registrován: 29 srp 2007, 02:00

Úsporná komunikace na vyžádání

#1 Příspěvek od p4ul »

Ahoj, nevíte o nějakém úžasném (=malinkém, levném, úsporném) modulu, ktyrý by uměl komunikovat na vyžádání? Tj. jeden modul připojený k PIC by byl jakoby v uspaném stavu a jen detekoval nějaký wake up signál nebo zprávu a po přijetí by odeslal data druhému modulu, který by sloužil pro příjem dat a vysílání zprávy pro vyžádání.

Chtěl bych si zbastlit různé čidla (teplota, vlhkost) a uvažuju, že by to bylo ve formě malé krabičky s baterkou, ale nechtěl bych, aby každých třeba 10s vysílala data, jen je ukládala do paměti a až po příchodu zprávy by je začala vysílat. Ušetří se tím baterie i okolí od zbytečných elmag. signálů.

Uživatelský avatar
monterjirka
Příspěvky: 2761
Registrován: 14 čer 2003, 02:00
Bydliště: Blížejov

#2 Příspěvek od monterjirka »

To chceš posílat po "drátu" nebo bezdrátově?
PIC můžeš poslat do stavu SLEEP a když mu před tím nastavíš probuzení při změně stavu na portu, pošleš mu "změnu", může ti něco "změřit", poslat zprávu a zase usnout

Uživatelský avatar
Zaky
Příspěvky: 6129
Registrován: 30 říj 2010, 02:00
Bydliště: Praha

#3 Příspěvek od Zaky »

Nikdo ti nebrání jakémukoli modulu z nadřazeného procesoru vypínat úplně napájení a zapnout ho jen na dobu potřebnou pro odeslání požadovaných dat. Přijímací strana samozřejmě musí běžet stále, protože neví, kdy se bude vysílat. Musíš počítat s tím, že přenos může nedopadnout kvůli rušení, pokud budeš mít víc čidel, může dojít ke kolizi vysílání více čidel a tak.

termit256
Příspěvky: 10071
Registrován: 06 pro 2007, 01:00

#4 Příspěvek od termit256 »

Pokud to ma byt na vyzadani, musi bezet prijmac ktery ma relativne velkou spotrebu coz je k nicemu. Dela se to tak, ze se uspi vse krome timeru a packet se vysila v casovych intervalech dle potreby. U teploty ti staci treba jednou za 5 minut. S obcasnou ztratou musis pocitat a pripadne zkratit interval. Takhle se dostanes s vydrzi baderie o nekolik radu dal nez kdyz bude stale poslouchat prijimac.

Uživatelský avatar
ZdenekHQ
Administrátor
Administrátor
Příspěvky: 25593
Registrován: 21 črc 2006, 02:00
Bydliště: skoro Brno
Kontaktovat uživatele:

#5 Příspěvek od ZdenekHQ »

p4ul píše:Ahoj, nevíte o nějakém úžasném (=malinkém, levném, úsporném) modulu...
Znám jeden malinký (cca 15x25mm), celkem úsporný modul na 868Mhz, který je určený (mimo jiné) pro telemetrii, ale když Ti napíšu cenu, budeš mě dva dny honit s klackem po lese... :lol:
Pro moje oslovení klidně použijte jméno Zdeněk
Správně navržené zapojení je jako recept na dobré jídlo.
Můžete vynechat půlku ingrediencí, nebo přidat jiné,
ale jste si jistí, že vám to bude chutnat[?
]

Uživatelský avatar
ross4435897
Příspěvky: 426
Registrován: 10 lis 2009, 01:00
Bydliště: Brno

#6 Příspěvek od ross4435897 »

neco na bazi ESP8266 by mohlo neco podobneho umet ... prikladu na "wake-up" se da najit na netu myslim dostatek ... kdyz tak dokumentace :)

Uživatelský avatar
PeteBurns
Zablokován
Zablokován
Příspěvky: 2576
Registrován: 08 říj 2007, 02:00

#7 Příspěvek od PeteBurns »


Uživatelský avatar
p4ul
Příspěvky: 317
Registrován: 29 srp 2007, 02:00

#8 Příspěvek od p4ul »

Když vidím ty čínské modulky za pár korun, raději mi tu cenu ani nepiš Zdenku :D

Je to moc pěkné, akorát ten wifi modul, žere 100mA i když nevysílá. Představoval jsem si dostatečný dosah tak 10m a ty wifi moduly umí kilometr. Je mi jasné že tím spaním se dost ušetří. Ja chci ušetřit i to vysílání, protože většinu času se číst data nebudou. Takže PICko sejme třeba teplotu, uloží ji, uspí se. Přijímací modul bude taky uspaný, za čas se na chvíli probudí, zjistí jestli nepřijímá nějaký kód a zase se uspí. Nebude ale hned vysílat. Pokud budu chtít přečíst data, tak budu chvíli vysílát daný kód (třeba minutu) než dojde k připojení a pak bude probíhat normální obousměrná komunikace až se pošlou všechny data.

Představoval, že by se přijímací modul probudil jen když se na anténě naindukuje nějaké napětí a teprve pak by přijímal a zjišťoval jestli něco zajímavého nepřijímá. Čili jakoby na vyžádání a ne na pravidelné vzbuzení časovačem. Přišlo mi to, že mít pasivní anténu, trochu zesílit signál a pokud překročí nějakou mez, tak teprve na chvíli zapnout jiný přijímací modul s jinou anténou (pokud uplynula nějaká předepsaná doba), mi přišlo jako dobrý nápad. Ale asi není, když to teda nikdo nedělá a radši vysílá pravidelně. Takhle by nemusel vysílat vubec. Ale vím, že si to představuju moc jednoduše.

btw: díky za modulky, prozkoumám je...

Uživatelský avatar
Zaky
Příspěvky: 6129
Registrován: 30 říj 2010, 02:00
Bydliště: Praha

#9 Příspěvek od Zaky »

Představuješ si to hodně jednoduše, 433MHz je bezlicenční pásmo, vysílá tam kde co a je v tom pořádný guláš, takže představa aktivace od měření RSSI, je úplně mimo, bude se ti to budit pořád, nehledě na to, že pasívně žádný signál nezměříš.

Uživatelský avatar
ross4435897
Příspěvky: 426
Registrován: 10 lis 2009, 01:00
Bydliště: Brno

#10 Příspěvek od ross4435897 »

ad ESP8266 ... je potreba cist ze ...

<i>
Current Optimization:
As the ESP8266 has a combined HF and application processing on a single MCU the Wifi operation take most of the 100+ mA during normal operation, even it is not transmitting any data. Two reduce the power there are two options: switching off the HF part (yes there is LUA command) or putting the ESP8266 (like the lander on the comet) into a deep sleep mode - switching off all components except a timer for waking up the ESP8266: roughly 88uA is the current consumption during deep sleep. A huge difference!
</i>

Uživatelský avatar
PeteBurns
Zablokován
Zablokován
Příspěvky: 2576
Registrován: 08 říj 2007, 02:00

#11 Příspěvek od PeteBurns »

nRF24L01 - Single Chip 2.4GHz Transceiver

Product Specification, Key Features:
• Worldwide 2.4GHz ISM band operation
• Ultra low power operation
• 11.3mA TX at 0dBm output power
• 12.3mA RX at 2Mbps air data rate
• 900nA in power down
• 22μA in standby-I

Applications
• Ultra low power sensor networks

Nevrav, ze toto nemoze vyhovovat ;)

termit256
Příspěvky: 10071
Registrován: 06 pro 2007, 01:00

#12 Příspěvek od termit256 »

Pokud to ma poslouchat, tak to asi ve standby byt nemuze. Staly odber cca 10mA je na bateriovou aplikaci silene moc.

Pokud nechces pouzit pevne intervaly vysilani, muzes zkusit vysilat jen pri zmene teploty o nejakou hodnotu. MCU se treba kazdou minutu probere, rychle zmeri teplotu a pokud se lisi od minuleho mereni o vic jak treba 0.3C, odvysila. Mereni je otazka par us, vysilani ms. Spocitej si spotrebu z baterie a porovnej s tim kdyz bude prijimac stale poslouchat. Budes radove jinde. Pokud budes cekat na povel, musi MCU temer neustale bezet a porovnavat prijate data. V tom bezlicencnim pasmu porad neco vysila a pokud ne, prijimace zvysi citlivost a na vystupu je neustale nejaky sum. Myslet si ze prijde packet jako po drate a pak dlouho nic je iluze. Rekl bych ze tuto myslenku bys mel opustit. Nekde mam i prubehy z logickeho analyzatoru na 315MHz, ale je to jak rikam.

Nenapsals jak casto chces hodnoty odecitat a jakou ocekavas odezvu, smysl by to melo snad jedine pokud bys chtel vysilat jednou za mesic a odezva by nemusela byt okamzita. Ale taky bys to musel spocitat. Nez se prijimac probere a naladi, chvili to trva apod.

Uživatelský avatar
p4ul
Příspěvky: 317
Registrován: 29 srp 2007, 02:00

#13 Příspěvek od p4ul »

PeteBurns: Jasne ze vyhovuje. Pokud nRF24L01 umi poslouchat pri 22 uA tak neni co vymyslet. Diky!

ross4435897: cetl jsem, proto jsem taky psal o tech 100 mA

Zaky: njn :oops: diky za vysvetleni

termit256: mereni by probihalo asi tak 1x/10s a ukladala by se do pameti. Pak asi 1x za den by se odeslala do pc. Kdyby byly potreba cerstve data behem dne, tak by se musel modul nejak povzbudit k poslani dat driv.

Uživatelský avatar
PeteBurns
Zablokován
Zablokován
Příspěvky: 2576
Registrován: 08 říj 2007, 02:00

#14 Příspěvek od PeteBurns »

:) To ale nie je chyba modulu, ze ho nevies spravne pouzit :) Ako si uz zistil, tak, ako si to vymyslel ty, sa to v praxi vobec nepouziva, preto nikto od modulu nevyzaduje, aby bol nonstop na prijme ;) Kedze mas na oboch stranach procesory, zosynchronizujes ich prvu komunikaciu a potom uz nie je ziadny problem zadefinovat, kedy sa maju znovu spojit a udrziavat obcasnu komunikaciu automaticky ;)

Uživatelský avatar
Zaky
Příspěvky: 6129
Registrován: 30 říj 2010, 02:00
Bydliště: Praha

#15 Příspěvek od Zaky »

Na snahu o synchronizovanou komunikaci je třeba dát ale pozor, protože pokud vypadne přenos dat, což se běžně děje, synchronizace se rozpadne a pak stejně nezbývá, než příjem zapnout dočasně na tak dlouho, až se komunikace zase podaří a tudíž opět zasynchronizuje.

Odpovědět

Zpět na „Poradna“