Näytetään tekstit, joissa on tunniste etäohjaus. Näytä kaikki tekstit
Näytetään tekstit, joissa on tunniste etäohjaus. Näytä kaikki tekstit

keskiviikko 25. kesäkuuta 2014

Kiukaan etäohjaus

Kiuashan on Harvian Kivi PI90E jossa sitten ulkoinen ohjauskeskus C150VKK. Tuota tuli aika pitkään internetistä selailtua ja tuon ohjauskeskuksen valitsin, kun se oli ainoa järkevä ohjauskeskus, jota voi ohjata matalajännitteellä (ja on hyvin dokumentoitu, että mitä mikäkin pinni tekee) ja samoin siinä löytyy viikko ajastimet, jos haluat saunan lämpimäksi aina tiettynä aikana. Voihan sitä suomessa joitakin muitakin malleja olla, mutta itse en löytänyt.

Mutta joo siis itse asiaan, ohjauskeskus hyväksyy ohjaussignaalit kiukaan päälle ja pois laittamiseen, ja samoin 24V merkkivalon pinneistä voi katsoa, että onko sauna päällä tai ei. Tässä speksit tarkemmin pinnikohtaisesti:


Varoituksen sanana sitten, että tuon matalajännitepinnirivin vasemmalla puolella ovat sitten noi 400V kolmivaihesähkösokeripalat, joten kannattaa olla vähän varovainen ettei sinne sörki asennusta tehdessä tai muuten pääsee Darwin awardseihin. Rakentelin tuota varten muutaman custom RJ45 kaapelin, että voi tuon ohjauksen viedä suoraan tekniseen tilaan, niin saa kodinhoitohuoneen seinän vähän siistimmäksi. Tässä välissä täytyy tunnustaa, ettei kaikki mennyt kun Strömsössä, kun porasin reikää kanteen Cat kaapelia varten, niin pora imaisi sisäänsä koko lämpötila-anturipiuhan poranterän ympäri aika moneen kertaan... :-]... onneksi oli piuhassa vähän löysää, niin pääsi tekemään uudet kytkennät :) (Muutama ärräpää kyllä ehti päästä suustani)

Minulla onkin kaapissa sadan metrin kela ylimääräistä Cat5 kaapelia ja taitaa olla myös joku 300+metriä ylimääräistä Cat7-kaapelia (jos joku tarvitsee Cat7:aa, niin voin edulliseen hintaan myydä sitä 0.5e/m).

Kaapelin teossa on kahta koulukuntaa, itse teen T-568B mallisia kaapeleita, noissahan on sininen- ja ruskea-kaapelipari käyttämättömänä. Eli tietokonekäyttössä vain puolet kaapeleista on käytössä. Ja toisella puolella voi tehdä omia säätöjä, kuten antaa virtaa laitteille tms. Minun tapauksessani liikutan vapaissa kaapelipareissa saunan etäohjaussignaalia (ohjaimen pinnit 11 ja 12) ja kiukaan status signaalia (ohjaimen pinnit 1 ja 2). Raspberry Pi:n puolella kun pinnit on 3.3V ja saunan laitteessa taisi olla 24V, niin erotin saunan ohjauksen simppelin alle kahden euron relayn taakse (http://www.ebay.com/itm/2-Channel-Relay-Module-Optocoupler-Expansion-Board-Single-chip-Control-3286-/201060117416), ja Rasperryllä ohjaan vaan alla olevaa kytkintä.

Pikkuisen jouduin myös koodaamaan minun GPIO c++ kirjastoani paremmaksi kun defaulttina se GPIO outputkin pisti low arvoon, jolloin Rasperry Pi:n sähkökatko/rebootti tilanteissa, se olisi laukaissut saunan päälle hetkeksi, joten lisäsin kirjastoon tuen pistää GPIO output suoraan high arvoon, jolloin sauna ei turhaan käynnisty rebooteissa. :)

Ja ohessa sitten lyhyt video, että miten homma pelittää. Käyttöliittymän grafiikat on tarkoitus koodata vasta joulukuussa, joten tässä vaiheessa vaan painetaan nappia demopalikkakäyttöliittymältä. Mutta siis Nexus7 tabletissa painetaan nappia, josta menee tieto langattomasti tcp/ip socketin yli Rasperry pi:lle, joka puolestaa kääntää relayn asentoa (yhdistää pinnit 11 ja 12), jolloin sauna käynnistyy (OFF-teksti muuttuu nykylämpötilasta tavoitelämpötilaan). Ainiin ja ohjaus menee verkkokaapelin läpi controllerin oikasta alakulmasta sisään (jonka vielä pätkin vähän lyhyemmäksi piakkoin, videossa vielä vähän löysää).






torstai 29. toukokuuta 2014

Saunan audion etäohjaus

Tähän saakka saunan ja suihkuhuoneen audiot ovat tulleet teknisentilan vahvistimisesta joko 3.5"-audioplugin tai Bluetooth-streamauksen läpi. Yleensä olen käyttänyt Spotify:ta Nexus7-tabletista ja streamannut audion kodinhoitohuoneesta tekniseen tilaan.

Tästä aiheutuu saunoessa semmoinen pulma, mitä en heti ottanut huomioon, että jos saunassa ollessa Spotifyssä tulee hirveää kuraa soittoon, niin joutuu ryntäämään tekniseen tilaan painamaan "Next"-nappulaa.

Ja nyt kun oli ongelma selvillä, niin hullunkiilto heräsi koodarisilmissäni. Ja eikun googlettamaan ja ebayhin ostoksille. Projektissa on tarkoitus käyttää halpoja radiokaukosäätimiä (millä ohjaillaan esim tallin ovia) ja Rasberry pi:llä ottaa signaalit vastaan ja tulkita ne "Play/pause", "Next", "Volume Up" ja "Volume Down" -komennoiksi.

Ensimmäinen ostos minkä löysin ebaystä (ja tilasin näitä toisenkin kun totesin sen toimivaksi). "4CH Wireless RF Remote Control Decoding Receiver Transmitter Module Board IC2272" http://www.ebay.com/itm/131198056389 2.7e/kpl posteineen suomeen, joten puoli-ilmaista.

Tällä on ihan kivat speksit:

Remote control
1.Operating voltage: DC12V (27A/12V battery x1)
2.Operating Current: 10mA @ 12V
3.Radiated power: 10mw @ 12V
4..Transmission distance :50-100M (Open field, the receiver sensitivity of -100dbm)
5.Transmitting frequency: 315MHZ

With decoding receiver board
1.operating voltage DC5V
2.receiver sensitivity is-98db. Leg 7 bits, respectively, VT, D3, D2, D1, D0, the +5 V and GND.
3.VT is a valid signal high output pin Upon receiving a valid signal, the pin output high, may also drive the relay.
4.Size: 6.6*22*41mm

Testeissä tuntui mukavasti toimivan 5V:lla ja jokaisesta neljästä napista triggeröityi 5V D[0-3] pinneille. Rasperry Pi:llä kun tuota haluaa lukea, niin joutuu vielä väliin pistämään 5V->3.3V voltage step down diodit (tai resistoreita sopivasti sarjassa). Joten tilasin ebaystä kasan 3.3V zenereitä.

Tässä harjoituksessa otin yhden Raspberryn ja dedikoin sen nyt langattomien signaalien vastaanottamiseen ja kun laitteessa oli vielä muutama GPIO pinni vapaana, niin samaan syssyyn ohjelmoin tuon myöskin olemaan saunan kiukaan etäohjausserveri(josta erillinen postaus tulevaisuudessa). 5V to 3.3v signaalin muuttamiseksi käytin lähteenä tätä sivua http://jamesreubenknowles.com/level-shifting-stragety-experments-1741. Eli lopulta päädyin noiden neljän 5V signaalipinnin muuttamisen 3.3V:ksi seuraavalla tavalla 3.3V zenereitä käyttäen(osien yhteishinta reilusti alle euron):

Tässä hieno tilannekuva protoboardin testikasauksessa:

Ja sitten kuvaa kun pistin tuon langattoman vastaanottimen ja tupla relayn livenä kiinni raspberryyn. Kauhea piuhameri, mutta toimii(tm). Jossain vaiheessa teen vielä siistityn version.

Kun kytkennät sai toimimaan, niin sitten vuorossa oli sopivan softan koodaaminen. Ekana nopea testi, että hommat toimii; ssh:lla roottina raspberryn sisään ja:
# cd /sys/class/gpio/
# echo 24 > export
# cd gpio24/
# echo in > direction
# cat value
Ja value muuttuu hienosti kaukosäädinta painaessa. Joten voin ruveta turvallisesti aloittamaan oikean c++ ohjelman tekemisen tuota varten. Minulle olikin jo yksi koodinpätkä valmiina BeagleBoard blackia varten, jolla on tarkoitus tulevaisuudessa säätää valoautomaatiota, joten siitä kopioimalla pääsin hyvin vauhtiin ja tunnin jälkeen minulla oli jo serveri, joka tulosti kaukosäätiminen nappien alas- ja ylös-painalluseventit. Sitten tarvitsee vain tehdä palikka läppäriin joka Spotifyta pyörittää, että se myös tekisi haluamani asiat kun kaken nappulaa painaa.

Jokusen tunnin istuin koneen äärellä koodaten sopivaa serveri-clientti systeemiä. Raspberry pi ottaa kiinni kaukosäätimen signaalit, joka lähettää socketin yli ilmoituksen keskusserverille, joka puolestaan kertoo läppärille, että mitä pitää tehdä. Ja tuntuu hienosti toimivan, joten problem solved. Nyt voi saunasta langattomasti ohjata Spotifyn volume, next- ja pause-namiskoja. Radio-ohjauksen ja protolevyn osien hinta alle 10e (omalle koodaustyölle kun ei lasketa hintaa). Ohessa video, jossa demoan kaukosäätimen vaikutusta läppärissä pyörivään Spotifyhin.


Vielä pitää A,B,C,D-namiskojen päälle askarrelle audioikonit, jolloin kaken käyttö on loogisempaa. Eli eka versio näyttää tältä, vielä saatan tehdä inverssi väreillä, että ikonit olisi valkoisia ja tausta kaken ruskea: