Smart Home Atmega+ PC alapon

Processing/Wiring (illetve C) nyelvű programozási fogások, tippek. (AVR-Duino, Arduino, EthDuino, Diecimila, Severino, Nano, LilyPad)
Norrisz
DrótVégénSzéndarab
Hozzászólások: 36
Csatlakozott: 2015. szeptember 13. vasárnap, 19:28

Smart Home Atmega+ PC alapon

Hozzászólás Szerző: Norrisz »

Üdv mindenkinek !
A következő ötletről kérnék vélemények. Egy saját fejlesztésű, Pc-n futó alkalmazás USB-n keresztül vezérel egy Atmega 32-t, mely a külső szenzorok által érzékelt adatokat továbbít a program felé. A program a beállított értékek szerint vezéreli a megán keresztül a rákötött dolgokat.( pl. a mért hőmérséklet alapján szabályozza a fűtést, jelenlétkapcsoló jelére kapcsolgatja a világítást, ha a természetes megvilágítás ezt indokolja. ) Amivel még bizonytalan vagyok : milyen kommunikációt kéne kiépíteni a központi vezérlő és a szenzoros kontrollerek között? Egy most átépítés alatt álló lakás lenne a próbakörnyezet (a plussz vezetékek kiépítése megoldható). A vezetékes megoldást szeretném elsősorban, de sok esetben akár 10 méter feletti távolságokat kell áthidalni. Ezt milyen kommunikációval lehetne megoldani? A szenzoros kontrollerek csak logikai magas, vagy alacsony jele nem minden esetben kivitelezhető pl. a mért hőmérséklet értéke, melyet a PC értékel ki. Egy ismerősöm kért meg, hogy találjak ki valamit a lakása okosítására. A PC-s program már ketyeg néhány alapfunkcióval összedrótozva ( 4 bemenet + szabályozott kimenetek, de a mega16 ennél többet is tud, a progi meg egyszerűen bővíthető, személyre szabható). Akinek van ötlete, azt előre is köszönöm.
vargham
Chipgyilok
Hozzászólások: 308
Csatlakozott: 2014. január 8. szerda, 8:32

Re: Smart Home Atmega+ PC alapon

Hozzászólás Szerző: vargham »

Ha én csinálnám: Biztosan kihagynám a PC-t, mindenhová húznék 1-2 ethernet kábelt, a távolabbi pontokat rádión vagy wifin kötném be.
Avatar
SanyiSay
Elektronbűvölő
Hozzászólások: 1031
Csatlakozott: 2009. február 28. szombat, 7:00

Re: Smart Home Atmega+ PC alapon

Hozzászólás Szerző: SanyiSay »

Még egy tipp:

PC szerintem is felejtős. NAS vagy/és Raspberry inkább helyette, ha szükséges. UTP CAT5e vagy ujabb midenhova, egy szép nagy switch, (aztán hozzá rack szekrény :) ) hamár ragaszkodik az ember a kábelekhez. Kommunikáció TCP, így nem gond hogy WFI vagy LAN. Nem árt hogy távolról is karbantarható legyen a rendszer. Nincs szebb mint szétszerelni egy kapcsolót, lámpavezérlőt, vagy redőny elektronikát egy frissítésért. Már pedig fejleszés alatt álló rendszernél ez előfordul. Aztán ha már beindul a fantázia és amúgy sem árt a biztonság, akkor egy elrejtett, tűzbiztos helységbe a "szerverszoba", szünetmentes táppal. Innentől risztó rengszert is vezérelhet, képeket küldve a kéretlen behatolás esetén. (Persze nem árt ha a bejövő internet kábelt is levédjük) Valamint az otthoni média és privát adatmegosztás, biztonsági mentés is megoldva egy szusz alatt. Amihez persze szintén nem feltétel a kábel manapság. AC router, abból meg nem árt valami jobbfle, MU-MIMO kezelő.

Szóvla nehéz felkészülni előre mindenre, ha beindul a fantzia és van idő és pénz, minden megoldható. A nagyobb feladat ezek összehangolása, hogy emberközpontú maradjon a vezérlés, ne egy elbonyolított valami legyen a vége.
Aztán vannak a kész rendszerek (NodeRed, Domoticz, stb) ezeket is érdemes megnézni. Lehet akár ötleteket átvenni.
bagizoltan
Bitmanipulátor
Hozzászólások: 128
Csatlakozott: 2015. december 8. kedd, 19:52

Re: Smart Home Atmega+ PC alapon

Hozzászólás Szerző: bagizoltan »

Az I2C porton keresztül kb 30 méter kábellel kommunikált egy Arduino Uno és egy RTC óra között! Biztosan ismeri a PC program is az I2C kommunikációt, bár valamilyen hardver kelleni fog a PC oldalon! A kábel egy sima riasztó kábel volt, amiben emlékeim szerint nem sodorják az ereket. Sajnos csak próbapadon volt összerakva, hosszútávon nem üzemeltettem. Talán érdemes próbálkozni vele!
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10191
Csatlakozott: 2005. december 9. péntek, 7:00

Re: Smart Home Atmega+ PC alapon

Hozzászólás Szerző: Robert »

Partszélről, inkább alapelveket/ötleteket feldobva:
- ne térj el a gyártói ajánlásoktól, azokat maximálisan tartsd be. Így biztosítható, hogy a legkevesebb misztikus hibád legyen (pl. I2C buszkapacitás miatt max táv: <1m; 1-Wire busz esetén nem hagyjuk ki a CRC-t illetve a reflkexiócsökkentő ellenállásokat, RS-485 esetén nem csillagpontozunk, stb.)
- lehetőleg ne egyedi protokollba gondolkodj. Van már 4-5 féle, amik publikusak, open és megvannak hozzá a (használható/tesztelendő/hozzáférhető) eljáráskönyvtárak.
- szerver-kliens / Host-slave logikában gondolkodj, mert kinövög az egy központi egység mindenre logikát. És nem tudsz bevonni később külső (meglevő, kiforrott) eszközöket: riasztó kezelőpanel, riasztóközpont, kertilocsoló, távelérés, stb
- intelligens végpont: ha lehal a hálózati kapcsolat, akkor NE az utolsó parancs legyen érvényes (pl. a melegíts vizet, kapcsold be a fűtést). A végpontok legyenek intelligensek, amik önállóan is működnek. (Kertilocsoló ne áztassa el a kertet, nézze a vízfelhasználást, napsütést, stb.; lámpt le tudjam kapcsolni ha meghal a központi egység)
- védelmek: áramszünet, villámcsapás, szőketeszt :)
- plusz kábeligény minimalizálása vagy opcionális legyen csak,
- meglevő okosotthon rendszerekhez csatlakoztatható legyen és/vagy annak kiegészítéseként is működhessen,
- távoli elérés/beállítás jogok alapján illetve eseménykor értesítés
- minden adat logolása, rendszerpusztulás/hiba esetén is legyen elérhető
- meglevő eszközök integrálhatóak legyenek: tűzjelző/CO jelző, kazán hibajelkimenet, riasztó, megfigyelrendszer, jelenlétszimuláció, elfolyásmérés, stb.


Protokollok esetén ami előtérbe kerül:
- WiFi/LAN: mindenütt megvan, de tessék alhálózatra kiszervezni - ne a standard filemegosztós, NAS, kifele tárva nyitva hagyott rendszer része legyen. Ahol lehet kábeles net/végpont, de a WiFi esetén a megbízhatóság-csökkenés mellett a kábelezés megúszható.
- RS485: csak busz jellegű, önálló kábelezés kell. Pl. Modbus protokoll javasolt. Bővítési problémáid lesznek.
- CAN busz: komplex, bővítető. Eszközkészlete (okosotthon) még nem sok.
- I2C, SPI, sorosport: korlátaik miatt nem jó (táv, pont-pont, sebesség)
- RF eszközök: nRF24L01, XBee/ZigBee, WiFi (meg kell ismerni, célfeladatra alkalmas lehet), BlueTooth (nem javasolt)
http://www.tavir.hu - a gazda :)
Norrisz
DrótVégénSzéndarab
Hozzászólások: 36
Csatlakozott: 2015. szeptember 13. vasárnap, 19:28

Re: Smart Home Atmega+ PC alapon

Hozzászólás Szerző: Norrisz »

Köszönöm a hozzászólásokat. Mostanság kicsit be vagyok havazva, de amint lesz szabadidőm - ráfekszem a témára. A Pc- re van egy ipari alaplapom( ez szerintem elég megbízható- előtte 7/24-ben ment egy CNC-ben.) Róbert: A szőketeszt a legnehezebb feladat.( mindenki barna rajtam kívűl :) Az RF24L01 piszkálja a fantáziám- lehet hogy ki fogom próbálni... További szép napot mindenkinek !
Norrisz
DrótVégénSzéndarab
Hozzászólások: 36
Csatlakozott: 2015. szeptember 13. vasárnap, 19:28

Re: Smart Home Atmega+ PC alapon

Hozzászólás Szerző: Norrisz »

Üdv mindenkinek!
Elég jól haladok a lakás okosításával. Már van virágöntöző (itt egy kicsit megtréfált a fizika ...), helyiségek világítása ( később még kitérek rá) , hőmérséklet- páratartalom mérés, redőny automatika- igaz ez még csak egy ablakra, riasztó ki- bekapcsolása ( ez a PC-től függetlenül működik, de onnan is lehet irányítani). A PC akadás mentesen fut, a programot pedig fejlesztgetem- ahogy szabadidőm engedi. A világításkapcsolókat lecseréltem 433MHz-en vezérelhető érintéskapcsolókra, amely adott decimális kód küldésével ki- be kapcsolható.( A család szereti mindenhol égve hagyni a világítást- így viszont egy kattintás és probléma megoldva, egyébként éjfélkor, vagy a riasztó aktiválása esetén lekapcsol minden lámpát). A kérdésem a következő lenne: Van olyan soros porton (USB-n) küldhető utasítás - kód, amely reseteli az MCU-t, vagy ezt külön kell leprogramoznom egy adott jelsorozat érkezésére meghívott rutinban. Azért szeretnék ilyen funkciót is beépíteni, hogy pl. naponta a teljes rendszer tiszta lappal induljon a PC-ről vezérelve(ez a PC-n megoldott- minden nap 23 órakor újraindít). A kommunikáció 433 MHz-n (világítás) és RF24L01- n ( minden más) keresztül történik.Ha valakinek lenne még ötlete a bővítésre- funkciókra- azt szívesen fogadom. ( Egyébként tömblakásban lakom, így a fűtés- melegvíz vezérlés nem szükséges) Még egy ötlet a barkácsolni vágyóknak- Egyszer a mosógépünk elúsztatta a lakást, mert leesett a kifolyócsöve, ezért beépítettem egy solenoidot a vízvezetékébe + egy esőérzékelőnek nevezett szenzort(Arduinóhoz kapható), amely ha vizet érzékel a mosógép közelében a padlón, akkor lekapcsolja a gépet és elzárja a vizet. Az egész védelem megoldható pár ezer forintból.
Kellemes Ünnepeket Mindenkinek !
vargham
Chipgyilok
Hozzászólások: 308
Csatlakozott: 2014. január 8. szerda, 8:32

Re: Smart Home Atmega+ PC alapon

Hozzászólás Szerző: vargham »

Lehet resetelni valamelyik nem használt soros vonallal. Arduino a DTR-t használja erre.
Biztos vagy abban, hogy érdemes folyton újraindítgatni?
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10191
Csatlakozott: 2005. december 9. péntek, 7:00

Re: Smart Home Atmega+ PC alapon

Hozzászólás Szerző: Robert »

- A riasztó mozgásérzékelő jelét nyerd ki belőle- ha 1 zóna - 1 szoba. Ekkor van jelenlét/mozgásérzékelésed.
- Konyhában van láng/füstérzékelő? Ide a láng javasolt - a füst az bejelez a rántott húsra :)
- vész esetén SMS küldés is jó lenne vagy ha okostelefon van, akkor push üzenet vagy email vagy bármi. Fel is hívhatna :)
- ébresztőóra: a riasztó hangmodulja lehetne, amúgy pontos időt ad, és a címezhető LED szalagra a reggeli napfelkeltét imitálja.
- a 24 órás restart mennyire egészséges?
- belső eszközlogolás van a holmikban? Eseménysor visszanézés?
- mi van ha a központ lehal? A végpontok nem őrülnek meg? Standalone működésük (vészhelyzeti protokoll) biztosított?


Önreset:
- Watchdogot használsz? Annak lejárhat ai ideje. Ekkor újraindul a holmi (diecimila/demilanove/Promini esetén NE használd - a bootloadere letilt!)
- egyik lábat kösd be a reset kivezetésre. Így ha azon a lábon alacsony szintet adsz ki - resetel a holmi.
- soros kapcsolat felépülése/lebontása. Alapesetben a soros DTR a chip resetjével van összekötve.

Lekapcsolható lámpa:
- nem olcsóbb berakni egy LED-es fényforrást?:)
http://www.tavir.hu - a gazda :)
Norrisz
DrótVégénSzéndarab
Hozzászólások: 36
Csatlakozott: 2015. szeptember 13. vasárnap, 19:28

Re: Smart Home Atmega+ PC alapon

Hozzászólás Szerző: Norrisz »

Köszönöm a mozgásérzékelős tippet Róbert. A 24 órás reset csak működésbiztonság miatt van betéve... A tűzjelző a riasztóra van kapcsolva ami GSM alapú ( riasztás esetén SMS + hívás megoldott) Amúgy minden egymástól független rendszer , csak a PC-ről is távvezérelhető + a helyiségek hőmérséklete - páratartalma leolvasható a számítógépen + a világítások állapota. A PC csak a karmester, de minden ettól függetlenül is működik, így ha a központ behal, akkor sem történik semmi. A világítás kapcsolókat mindenképpen lecseréltem volna ezekre, csak így hogy távvezérelhetőek- miért ne használjam ki. Reklám helye: Ezek a kapcsolók egy edzett üvegből készült - közepén egy állapotjelző LED világítással rendelkező - érintéskapcsolók. Az áruk pedig 10-15 USD. Ennyiért itthon egy sima billenőkapcsolót kapok. Egyébként szinte mindenhol LED világítás van.
Köszönöm mindenkinek a hozzászólásokat- ötleteket. BOLDOG ÚJ ÉVET MINDENKINEK !!
vargham
Chipgyilok
Hozzászólások: 308
Csatlakozott: 2014. január 8. szerda, 8:32

Re: Smart Home Atmega+ PC alapon

Hozzászólás Szerző: vargham »

Reklám helye: Ezek a kapcsolók egy edzett üvegből készült - közepén egy állapotjelző LED világítással rendelkező - érintéskapcsolók. Az áruk pedig 10-15 USD.
Ha már reklám, egy linket is megoszthatnál. :-) Kösz.
Avatar
winnerbt
Elektronbűvölő
Hozzászólások: 907
Csatlakozott: 2007. március 25. vasárnap, 6:00

Re: Smart Home Atmega+ PC alapon

Hozzászólás Szerző: winnerbt »

A kapcsolók távvezérlési protokolját ismered?
Norrisz
DrótVégénSzéndarab
Hozzászólások: 36
Csatlakozott: 2015. szeptember 13. vasárnap, 19:28

Re: Smart Home Atmega+ PC alapon

Hozzászólás Szerző: Norrisz »

A kapcsolók protokolját az arduino 433MHz példaprogijával simán ki tudtam olvasni, hasonlóan, mint az infra távvezérlőknél. Utánna, már csak ki kellett egészíteni, a küldő programot, hogy ha a soros porton a PC-ről megkapja a hozzárendelt asc kódot, akkor küldje ki a rádiós modulon a távirányító gombjának megfelelő decimális kódot. A kapcsolókat az Aliexpresszen vettem Tipusa FUNRY, de van egy LIVOLO-m is, de ezt már sajnos nem küldi az eladó magyarországra. Többféle is létezik belőle. A LIVOLO-nak van magyarországi márkakereskedője is Győrben, de jóval borsosabb áron- viszont van magyar garancia is cserében. Az Aliexpresszről beillesztek egy linket- ahonnan én vettem. Ha valakinek esetleg kedve támad hozzzá:
https://www.aliexpress.com/item/Touch-S ... 0.0.YzlDyZ

Most nézem, hogy egy kicsit megugrott az ára... Már 18 USD-t kérnek érte. Én még a feléért vettem....

Product Details Price Per Unit Quantity Order Total Status

Touch Switch FUNRY ST2 1 gang 1 way EU Standard Glass Switch Panel 170-240V 7-200W/gang 86*86*36mm Single Fire Line Light Switch
Color: white switch remote
Voltage: 170V to 240V

$ 8.10 1 piece $ 8.10 Awaiting Receipt
AliExpress Standard Shipping

Estimated Delivery Time:19-27 Days

Processing Time:5 Days

Product Amount Shipping Cost Total Amount
US $ 8.10 US $ 1.05 US $ 9.15

Itt egy másik link. Innen is vettem egyet, de a szállítási idő 2 hónap volt. Ennél az eladónál, még olcsó.

https://www.aliexpress.com/item/FUNRY-E ... 0.0.LZa4eY
Avatar
winnerbt
Elektronbűvölő
Hozzászólások: 907
Csatlakozott: 2007. március 25. vasárnap, 6:00

Re: Smart Home Atmega+ PC alapon

Hozzászólás Szerző: winnerbt »

Ja, hogy akkor nem ugrókódos vacak, hanem fix infó megy át. Többet is használok, sajnos alternatívat csak az itthoni képviseletnél találtam aranyáron és nem biztos, hogy a mostani vezetékelés jó lenne hozzá...Ha használsz dupla kapcsolót: Az egyik ágban megszakad az áramkör, akkor a visszakapcsoláskor marad bekapcsolt állásban az a kör vagy lekapcsol? (Dupla kapcsoló egyik fogyasztója még relével is kapcsolódna, de ha egyszer kikapcsol, nem kellene visszakapcsolódni a fogyasztónak)
Norrisz
DrótVégénSzéndarab
Hozzászólások: 36
Csatlakozott: 2015. szeptember 13. vasárnap, 19:28

Re: Smart Home Atmega+ PC alapon

Hozzászólás Szerző: Norrisz »

A távirányító kód beolvasása :

/*
Simple example for receiving

https://github.com/sui77/rc-switch/
*/

#include <RCSwitch.h>

RCSwitch mySwitch = RCSwitch();

void setup() {
Serial.begin(9600);
mySwitch.enableReceive(0); // Receiver on interrupt 0 => that is pin #2
}

void loop() {
if (mySwitch.available()) {

int value = mySwitch.getReceivedValue();

if (value == 0) {
Serial.print("Unknown encoding");
} else {
Serial.print("Received ");
Serial.print( mySwitch.getReceivedValue() );
Serial.print(" / ");
Serial.print( mySwitch.getReceivedBitlength() );
Serial.print("bit ");
Serial.print("Protocol: ");
Serial.println( mySwitch.getReceivedProtocol() );
}

mySwitch.resetAvailable();
}
}

A távirányítás nem ugrókódos, hanem fix nyolcjegyű szám.
Így vezérel :

case 97: // ascII „a”
mySwitch.send(16522212, 24); //Kisszoba lampa
delay(100);

break;

Az alternatív kapcsoló nincs lecserélve- az maradt a hagyományos, mert még nem bonyolódtam bele ennyire. De lehet, hogy az marad is.
Találtam egy pár alternatív kapcsolót, de ezek sajna nem távvezérelhetőek, és nem is ismerem őket. Ha gondolod böngéssz közülük.

https://www.aliexpress.com/item/EU-Stan ... eLevelAB=5

https://www.aliexpress.com/item/Touch-S ... eLevelAB=5

https://www.aliexpress.com/item/Smart-H ... eLevelAB=5
Válasz küldése