Arduino -kotiautomaatio

Terve kaikille

Nyt on päästy Arduinon loistavaan maailmaan käsiksi parin päivän harjotusten kanssa. Todella näppärä laite verrattuna noihin “raakoihin” AVR:iin. Nyt on testailtu ledien ajoa erilaailla pwm ajolla, parin servon ohjailua ja koodin muuttelua hieman, sarjanporttiin kirjottelua, ds1820 anturin lukua ja lcd testausta.

Mietin tuossa onko Arduinolle jotain valmiita suosittuja esimerkkejä kotiautomaatioon liittyen. Esim. lämpötilojen valvontaan/kännykällä valvontaan. Vielä parempaa jos jollain foorumilla tälläinen projekti työn alla tai on ollut jossain vaiheessa :slight_smile: Jos löytyisi linkkejä tai neuvoja asiaan liittyen, niin olisin erittäin kiitollinen.

Servoilla ohjailua kiinnostais kans opetella lisää pitää vaan kehittää joku laite missä niit tarvisi :slight_smile: Robotinkin “hyötykäyttö” on hieman vaikeaa.

Kyllä Arduinolla voi tehdä vaikka mitä. Ja todettakoon samaan hengen vetoon, että raaka AVR antaa kontrollin kehittäjälle. Kumpikaan ei ole huono vaihtoehto

Kotiautomaatiosta sen verta, että pitää miettiä mitä tekee. Säätääkö lämpöä, valoja, sähköä jne. Miten säädettävään kohteeseen liitytään. Ja mitä jos järjestelmä sekoaa, niin miten tilanne otetaan haltuun. Miten järjestelmä menee rikki ja niin pois päin. Sitten on vielä miten sitä säädetään. ATK:sta sarjanarulla ja sitten webbisivut tehdään ohjaamaan niitä ja tämän jälkeen tullaan langattomalla verkolla sivulle ja sanotaan vedä vessa. Toinen vaihtoehto on bluetooth ja oma softa. Silloin ohjelmiston kehitys jakautuu kahteen paikkaan ainakin.

Mikäli halutaan hienoja käppyröitä ja kaikkea muuta sellaista niin tarvitaan se oikea ATK ja omaa softaa taas. Vaatimukset luovat tavat millä tehdään temput järjestelmään ja tavat luovat toteutuksen. Toteutuksista sitten voi löytää esimerkkejä.

Itse olen tässä tekemässä halogenivaloille. Niitä ohjataan ModBus protokollalla ja treenasin ATMega88:n päälle opinnäytetyötäni varten tuon protokollan. MythTV himmentää valot pois toistettaessa jotain ja LIRC komentaa myös niitä. Samalla tuli tehtyä palikka symoniin (ATK:n datakäppyröiden piirtelijä) ja nyt voin seurata verkon taajuutta ja valojen päälläoloa käppyrästä. Pieni ongelma tuossa on se, ettei se toimi.

Jos oikeasti haluaisi kotiautomaatiota tehdä, tulisi sähköt tehdä aivan toisin. Jokainen pistorasia olisi ohjattavissa ATK:lla ja valot himmennettävissä samoin. Lisäksi ATK saisi tietoonsa kulunvalvonnan, ja ohjaisi ilmastoinita ja lämmitystä. ATK tässä yhteydessä voi olla kaupallinen logiikka tai jotain aivan muuta. Sen jälkeen tarvitsisi luoda hyvät säännöt ja ihmiselle rajapinnat.

Tämä on vaikea alue ja suosittelen, että istut hetkeksi alas, otat kynän ja paperia ja mietit mitä haluat, millaisia juttuja tarvitsisi tapahtua ja niin pois päin. Kyllä me sitten ammumme ne alas, ehdotamme parannuksia ja kaikkea sellaista. Tämähän nyt ei tietenkään vastannut kysymykseesi mitenkään.

Kiitoksia vastauksesta tässä olis hieman mietteitä projektiin liittyen. Juuh ymmärrän että osaavissa käsissä AVR on paljon ”tehokkaampi” alusta kun arduino, mutta arduinon helppokäyttöisyyden takia se sopii itselle todella hyvin. Mielenkiinto koodiin puretumiseen ja selvittämiseen on ihan eri tasolla kun kaikki pelaa ilman ylimääriä error viestejä ja example koodeja on millä voi ensiks koittaa toimiiko oma lisälaite edes (servo, lämpömittari tms)

Pahoittelut oma selittely oli ehkä hieman suppea asiaa on tullu jossain määrin mietittyä loppu toteutusta tekisin varmaan pikku hiljaa ensiksi koittaisi saada vaan pwm ajon toimimaan ja lämpötila anturit lukemaan vaikka ulko/sisä ehkä saunan lämpötilan. Sitten siitä kehittäisi koko ajan niin paljon kun taidot ja arduino antaa periksi. Tarkoituksena olisi säätää ainoastaan jotain ”tunnelma” valaistusta eli ledinauhoja käytännössä. Lämpö ja muut toimii kerrostalon puolesta (ei pääse tekemään servoilla säätösysteemeitä pannuhuoneeseen :S) Toki servoja mielellään käyttäisi jos keksisi käyttöä.

Itse säätäjänä arduino ei alussa varsinkaan toimi juuri muissa hommissa kun ainoastaan valojen säätö, ehkä sitten jotain ymppäyksiä että arduino tajuais kun muu valot sytytetään niin sytytettäs myös ledinauhat tms. Säätäminen yms kodin hallinta on siksi myös tässä tapauksessa melko pientä ettei noissa rikkoontumis tilanteissa käy mitään erikoisempaa. Kerrostalossa tietysti muutenkaan vaikeempi tehdä täyttä automaatio hommaa, pitäis sitten vaihtaa kaikki pistorasiat yms seuraamaan sitä niin kuin sanoitkin. Nettiä aattelin että voisi käyttää alussa ainoastaan esim. kämpän tarkkailuun (rajakytkimet ikkunoissa/ovessa) valojen seuranta, lämpötila. Mitä voisi esim. selaimella tarkkailla kännykällä/tietokoneella netin yli ja katsoa onko kaikki ok kämpillä.
Mietteissä oli myös jos teho loppuu yhdistää kaksi arduino 1028 eikös nämä osaa toimia keskenään, muistaakseni jossain oli yhdistetty 3kpl arduinoja toimimaan yhtenä tehokkaampana kokonaisuutena.

Siihen liittyykin isoin mietteeni mitä piti tehdä, eli käyttäisi jotain isoa grafiikkanäyttöä eteisessä laitteen hallintaan kotona (jos ei ole kotona niin jossain vaiheessa voisi rakentaa tuolla network shiedillä tuon edellä kuvaillun valvonta softan selaimella tarkastettavaksi.
Mutta mitäs ammattilaiset on mieltä tuosta isosta grafiikkapaneelista. Värejä en tarvitse eli kaksivärinen näyttö mikä saisi olla 2-3” vastaava laajakuva näyttö. Ei välttämätöntä mutta koko luokka saisi olla siinä main. Mielestäni nuo isoimmat arduinoon suoraan myytävät näytöt on jotain perus ohjainta käyttäviä max 160x120 resoluutiolla olevia itse resoluutio riittäisi mutta nuo ovat yleensä jotain vanhemman kännykän näytön kokoisia fyysisiltä mitoiltaan. Jos tuollaista löytyisi tarpeeksi isona ja arduino jaksaisi pyörittää sitä niin voisi harkita myös resistiivisti kosketuspaneelia näytön päälle, mutta se on sellainen mahdollisuus sitten jos olisi tarpeeksi iso näyttö ja arduino jaksaisi tuota pyörittää. Mietin että jos tehot on ongelma niin toimisiko tuo silleen että yksi arduino pyörittäisi pelkkää näyttöä ja toinen arduino lukisi antureita, ajaisi pwm ulostuloja, tarkkailis analog/digital inputteja. hoitais network shieldiä yms? (Eikös arduinot pysty keskustemaan toisiensa kanssa esim sarjaliikenteellä ? (0,1 pinnit tx rx?)

Käppyröille ei oo välttämätöntä tarvetta eikä taida sellasiin riittää tuolla arduinossa teho, jos niitä haluisi tarkkailla esim pelkästään selaimesta käsin. Ainoo mitä tulee mieleen sen paremmin asiasta tietävänä että arduino tallentaisi arvoja vaan esim. 5min välein tai jotain muistikortille ja sitten webliittymä lukisi tietyn määrän ”pisteitä” muistikortilta ja piirtäisi pc:n voimin sen käyrän sinne pc:n näytölle niistä pelkistä luvuista mitä luettas arduinolta.

Itsellä on ps3 toistimena niin tuo ei sen paremmin varmaan osaa kertoa ulos mitään sellaista että himmentäis valoja ja tässä tilanteessa vielä tarkoitus pitää katto yms. valot koskemattomana. Toi viimeisinhän on melko yleistä aina kun jotain yrittää :smiley: Mut kyllä ne yleensä aina selviää kun jaksaa tarpeeks kauan painia S:

Tuo on täysin totta. Kerrostalossa tuon voi melkeimpä unohtaa eli parempi vaan tehdä tällainen omiin taitoihin paremmin sopiva koti”automaatio”
Nyt sitten ottaisin vastaan näitä alas ampusimia vastaan :smiley: Toivottavasti jollain on mielenkiintoa lueskella teksti läpi ja auttaa alottelevaa asian tiimoilta. Vastasi kysymykseen ihan sopivasti osasimpa kertoa hieman tarkemmin omista suunnitelmista jos se auttaisi kertomaan enemmän onnistumis mahdollisuuksista, tuo grafiikkanäytön liittäminen on nyt kysymys yksi, eli voisiko sellaisen hankkia, onko sellaisia olemasas mitä arduino jaksaa pyörittää yms… Tietysti valmis ohjauskirjasto olis loistava

No aloitetaan sitten sillä. http://www.arduino.cc/en/Tutorial/DimmingLEDs näyttäisi olevan jokin RGB himmennin. En katsonut mikä se tarkalleen oli. Tuolla voi alkaa värittelemään.

Sitten se anturi. Millainen se on? Onko se NTC, digitaalinen mittari vaiko jotain muuta.Jokin valoisuutta tutkiva anturi olisi tietenkin hyvä myös saada. ADC taitaa olla se mitä tarvitsee opetella.

Tuo olisi fiksuinta sitten jo toteuttaa jollain PC:llä, minne saisi virallisen webbipalvelimen… Itse en haluaisi altistaa pientä ja viatonta mikrokontrolleria pelottavalle Internetille. Tai sitten tarvitsee tietää miten tuollainen tehdään oikein ja kauniisti, ettei kukaan pääse muuttamaan tietoja tai muutakaan.

Tästä en tiedä.

Lääpintänäyttö tuo sitten aivan erilaisen tavan ohjaukseen. Mikäli ennen oli nelinappinen ohjaus ja sitten on kosketusnäyttö niin koko ruutu tarjoaa ohjausta järjestelmään ja järjestelmän osattavien temppujen määrä kasvaa ylös, alas, eteen ja taakse ohjailusta huomattavasti.

Lisäksi näytön tarjoama informaatio vähenee. Ei voi piirtää pieniä kuvia ja olettaa ihmisen tökkivän niitä sitten nuppineulalla.

Onnistuu. Mutta millaisella protokollalla sitten viestittelee asioita, on taas yhden illan kiikkutuolissa istumisen paikka.

Voisiko javascriptillä luoda nuo käppyrät? silloinhan annettaisiin taas laskenta reippaammalle selaimelle.

Sony häviää hakkereille. Kunhan se revitään auki niin hyvin, että Sony ei voi enää mitenkään korjata laitettansa, ostan minäkin PS3:n ja ajan siinä ties mitä omia ohjelmiani. Se vain tarkoittaa tykin ja valkokankaan vaihtoa. Kalliiksi tulee. Törkään USBiporttiin Teensyn ja pari muuta palikkaa niin taas on juhlat sisäverkossa.

Niin nimenomaan kun yrittää. Silloin kun yrittää, lopputuls on räpellys. Kun tekee niin se menee kerralla kunnolla lepikkoon tai sitten toimii. Tosin tuo on sellainen uhraan aikaa sille joka kuukauden kolmas tiista jos sataa projekti.

http://www.arduino.cc/playground/Code/GLCDks0108

Meinasin tilata http://www.lcd-module.com/products/dog.html itselle tuollaisen ison näytön. Se ei ole suuren suuri ja kytkennästäkään en tiedä. Mutta protokollla oli ihan fiksun nälköinen ja voisi sillä varmaan jotain tehdä. Noita voi saada Elfalta, koska sen katalookista otin pointterin :slight_smile:

Ja ajatusten muotoilemisesta sen verran… Minun kissani muuten tietää todella paljon huonoja ohjelmointi ja elektroniikkaideoita. Yleensä selitän sille mitä haluan ja usein huomaan, että ajatukselle saa laittaa leiman hylätty karvakomiteassa päälle. Jos tuosta pääsen eteenpäin niin silloin laskujen takapuolelle alkaa ilmestymään hyödyllisiä viivoja ja ajatuksia. Jälleen selitän karvakomitealle, miten jokin toimii ja korjaan. Vasta sitten esitän asiat ihmisille. Pitävät sillä tavalla fiksumpana, mutta kissa tietää totuuden. Ja hullunahan tai hands freehen puhuvana pidettäisiin jos yksikseen höpöttäisi.

Juuh ledien fading hommat on jo hallussa ja koodi on valmiina. Vaikkakin sitä varmaan hiotaan vielä parempaan suuntaan lopulliseen versioon. Ja katsoo nyt joutuuko hommaa ajamaan jollain muulla kun pwm ulostuloil vai jääkö ne pinoutissa vapaaksi.

Ds1820 toimii antureina ja niille on myös koodi tehty vie kylläkin jonkin verran tilaa, mutta niin taitaa nuo digitaali anturien libraryt vielä aina tietyn verran. Toisaalta samalla vedolla saa sitten yhteen pinouttiin monta anturia, tarkkoja lukeamia ja anturien lisääminen ei koodin kokoa käytännössä kasvata juurikaan.

Tuo network shield oli sikäli mielessä että jos websivuilta seurataan ainoastaan lukemia duinosta eikä voida kirjottaa duinoon päin niin eikö riskit ole sillä selvät. Vai onko isompi ongelma saada tuo siihen tilaan ettei sinne pääse sisään muuttelemaan arvoja.

Toi palvelinkin olisi mahdollista. Mahtaako Kapsi.fi:n palvelut riittää tollasen kötöstyksen pyöritykseen vai onko siellä jotain rajoitteita mikä tuon estäisi. Kotona ei kone kuitenkaan pyöri lähellekkään aina, eikä yleensä varsinkaan silloin kun tota “diagnostiikkaa” voisi tarkkailla.

Juuh tuo varmasti monipuolistaa käyttöä hurjasti ja tuo isojen nappien homma on täysin totta, siksipä juuri isohko näyttö oli haussa. Mutta tällä hetkellä tilanne jää siihen että kosketusnäytön mahdollisuus on, mut eihän pakko ole käyttää. Jos saisi jotkut järkevät napit rakennettua hallintaan.

Mun mielestä noille tx/rx linjoille on omat kirjastonta ja examplensa arduinoon että pääsee käyttämään kahta arduinoa “yhtenä” kokonaisuutena. Mut täytyy niitä paremmin selvitellä mitä vaihtoehtoja on ja mitä pinoutteja jaa käytettäväksi.

Juuh jotain tollasta mietin että olisko javalla tai flashilla tms helppo tehdä sellainen että verkon kautta pystyis lukemaan pelkästään jotkut “taulukot” missä olisi lämpötila arvoja tietyn ajan välein tms. Esim. tonne sd kortille olisi varmaan suhteellisen helppo jotain dataa tallentaa “logi” muotoisena. Tuon vaikeudesta ei olekkaan sitten mitään hajua java/flash on ainakin täysin pimeitä alueita itselle :slight_smile:


Itse tilasin tälläisen näytön ja muutamia antureita (valo, hall, virta, ir “veräjä”) iteadstudio.com/store/index.php? … ucts_id=54

Katsotaan saisko tolla jotain aikaseks täsmäis noihin omiin hakuehtoihin aika hyvin. Löytyy vielä plussana rtc piiri, sd korttiluku ja kosketusnäyttö. Katsotaan saako siihen mitään eloa kun saapuu joskus toisaalta, vielä on megakin matkalla tänne. Sen aikaa täytyy harjotella ton 328:n kanssa ja miettiä toteutusta.

[quote]

Tarkat arvot mun karvaisessa kääntöpuolessa. DS1820 tarkkuus on muistaakseni 0.5 astetta suuntaan tai toiseen ja siihen päälle lämpökapasiteetti ja lämmönsiirtovastus. Eli hienosti saatu N-bittinen vastaus sisältää kohinaa pienimmissä biteissä ja lämpötilan muuttuessa anturi (kuten kaikki lämpömittarit) tulevat viiveellä. Mutta kyllä se silti on hyvä anturi. Muistaa vain suodattaa mittaustuloksia vaikka yksinkertaisella keskiarvoituksella. Tai unohtamalla desimaalit.

Ehkä tämän voi taikoa jotenkin näin: Kapsin kone lienee staattisessa IP-osoitteessa, joten jos kapsin palvelimella ajaa jotain skriptiä, joka noutaa portista X kotoa datan ja parsii siitä datan läjään niin voi olla voitto. Sitten ADSL modeemista tulimuuriin kolo kapsia varten ja porttiforwardaus päälle. Ongelmaksi jää silloin kapsin suunnalta tuleva kohina, mutta se ei liene mahdottoman iso. Ja jos tekee vielä niin, että datat voidaan lukea vain kymmenen minuutin välein niin kontrollerin DOSsaus on paljon hankalampaa.

Toisaalta voisi rakentaa palvelun, joka otta vastaan UDP paketin kapsin päässä ja ottaa siitä sitten datat ja parsii. Tällöin ei jäisi paluu reittiä, joka tarvitsisi jotenkin suojata ja kontrolleri voisi olla kiltisti sisäverkossa. UDP on siitä karvainen, ettei ole yhteyttä ja viestin välityksestä ei jää tietoja. Eli datalle sanotaan, mene tuonne ja hei hei. Sen jälkeen toivotaan parasta. Palvelun kuuntelupäässä on sitten mietittävä, miten noita vastaanotetaan.

Joka puoles minuutti esimerkiksi paketti liikkeelle niin se voisi onnistua.

Ainakin SP-elektroniikalla on tyylikkäitä vandaalinkestäviä vajaan kympin maksavia kytkimiä. Niissä on valo ja ne ovat mukavia käyttää. Lisäksi näyttävät söpöiltä ja viestivät samallla laitteen olevan robustisti rakennettu.

Jos data valuu kapsin palvelimelle niin taikasana on rrdtool. symonista http://www.xs4all.nl/~wpd/symon/ voi lunttailla miten noita tehdään. Tai itse olen sieltä aina luntannut. Ehkä on parempia paikkoja. Käytän tuota softaa, kun se on helppo ja näppärä. Pyörii Linuxin päällä ja BSD:ssä.

Erittäin hyviä suunnitelmia.