Ilmalämpöpumpun etäohjaus Arduinolla ja älypuhelimella

  • Viestiketjun aloittaja Viestiketjun aloittaja Deleted member 1344
  • Aloituspäivämäärä Aloituspäivämäärä
Vs: Ilmalämpöpumpun etäohjaus Arduinolla ja älypuhelimella

Toni sanoi:
Miten ihmeessä tuon infrapunan kantamaa saisi kasvatettua? Parhaimmillaan mä pääsen nyt johonkin 4 metriin, mutta ILP:n oma kake ohjaa vaivatta yli 10 metrin päästä.

Liitteessä on IR-lähetinosa Panasonicin kaukosäätimestä, eli siinä IR LED SID303:aa ohjataan transistorilla, käyttöjännite on 3 volttia ja etuvastus 2.2 ohmia. Eikä tuo SID303 ole edes mikään erikoinen teholedi, datasheetin mukaan maksimivirta on 100 mA, aallonpituus 940 nm. Olen koittanut tarjota isompaakin virtaa Arduino-kytkiksessä trankun läpi, mutta kun ei niin ei.

Virtaa vaan lisää, ledit kestää lyhytaikaisesti enemmänkin, esim. tuo SID303 IRfp = 1000 mA.

Ja jos kuvan piiristä laskee niin I ~ 1,5 V / 2,2 ohm = 680 mA kun olettaa että trankku ohjataan kyllästystilaan
jossa sen kollektorilla ~ 0,1 V ja SID303 myötäsuuntainen jännite ~ 1,4 V.

Toki powerin kykyä kannattaa tarkastella.

Mahdollisesti ledin suuntaavuus on parempi.
 
Vs: Ilmalämpöpumpun etäohjaus Arduinolla ja älypuhelimella

Sitten kun kytkystä on otettu kaikki niin voisko olla että orkkis kaken pulssit itsessään ois aavustuksen erillaisia ja se näkyy pidempänä kantamana ?

Oletko känny kameralla verrannut kumpi ledi loimottaa kirkkaammin ? Tuo kameran läpi kattominen on kätevä kikka muuttaa IR näkyvään muotoon :)
 
Vs: Ilmalämpöpumpun etäohjaus Arduinolla ja älypuhelimella

mstr sanoi:
Virtaa vaan lisää, ledit kestää lyhytaikaisesti enemmänkin, esim. tuo SID303 IRfp = 1000 mA.

Siinähän se ratkaisu oli koko ajan mun silmien edessä. Koitin jo ratkaista kondensaattorin avulla, mutta mihinkään järkevän kokoiseen kondensaattoriin ei saa niin paljoa varausta että sillä ampuisi koko IR-koodin. 4 kappaletta 10 ohmin vastuksia rinnan etuvastukseksi antoi noin 8 metrin kantaman, se taitaa riittää mökille. Arduinon poweri tulee USB:n kautta (Nokian kännykkälaturi lupaa 5V ja 1A) ja ledille virrat siis Arduinon 5V nastasta, jonka taas pitäisi tulla suoraan USB:stä tässä tapauksessa.
 
Vs: Ilmalämpöpumpun etäohjaus Arduinolla ja älypuhelimella

Onko noita SPACE ja MARK arvoja avattu jossain? Ihan kylmiltään on melko hankala hakea arvoja kohdilleen, jotta saisi decoodauksen toimimaan kunnolla, kun tällä hetkellä ainoastaan BIT MARK, ZERO SPACE, ONE SPACE kohtiin tulee arvot. Samoin onko tuosta kirjaston tekemisestä tulossa tutoriaalia.
 
Vs: Ilmalämpöpumpun etäohjaus Arduinolla ja älypuhelimella

Hidasta on kun ihan harrastuspohjalta tehdään :)

Mutta aloitetaan vaikka tuosta infrapunaprotokollasta. Siinä siis pätkitään 38 kHz infrapunakantoaaltoa, siten että vastaanotin antaa ykköstä kun kantoaalto on päällä, ja vastaavasti nollaa kun kantoaalto ei ole päällä (eli ledi on kokonaan pimeänä). Ykköstila on nimeltään 'MARK' ja nollatila on 'SPACE'. Informaatio on koodattu näiden merkkien pituuksiin, ja tietysti joka toinen merkki on jokin SPACE ja joka toinen jokin MARK.

Lähetys alkaa niin että lähetetään 'HEADER_MARK' ja 'HEADER_SPACE'. Tämän jälkeen alkaa varsinainen informaatio, siten että ensin tulee 'BIT_MARK' ja sen jälkeen joko 'ZERO_SPACE' (joka edustaa nollaa) tai 'ONE_SPACE' (joka edustaa ykköstä). Ja sitten uusi 'BIT_MARK', seuraava bitti jne. Lähetys päättyy siihen että lähetetään 'BIT_MARK' ja sen jälkeen lähetin menee pois päältä.

Joissakin protokollissa on toistoa, tyypillisesti niin että on tauko (jota olen nimittänyt 'MSG_SPACE') ja uusi headeri + uudet bitit.

Tällä softallahan mä olen näitä koodeja lukenut, siis Arduino + IR-vastaanotinmoduli: https://github.com/ToniA/Raw-IR-decoder-for-Arduino

Arduinon rajallinen RAM-muisti tuotti ongelmia, ei oikein saa pitkää IR-koodia talteen aikaleimoineen. Siksi tuossa pitää kokeilla sopivat #define-arvot jotta merkit tulkitaan oikein. Riittää että arvaus osuu riittävän lähelle, nuo ovat vain rajoja eri merkkien tulkinna välille, kun alkaa olla edes siellä päin, softa kyllä kertoo mitä mikin merkki oikeasti on.
 
Vs: Ilmalämpöpumpun etäohjaus Arduinolla ja älypuhelimella

Kiitos tuo selventää jo kovasti. Itse aloitin adafrutin koodilla joka antaa on&off ajat pelkästään, ja nyt kun tuon sinun käyttämän koodin kanssa aloittelen protokollan selvittelyä, niin täytyy alkaa paneutumaan taas noihin binääreihin pitkästä aikaa. Työn alla Olimpian jäähdytyskuutio. Ei varsinaisesti ilppi, ja sillä tuon kirjaston luonti ei ihan vielä ole ajankohtainen, kunhan ensin saa tärkeimmät komennot toimimaan.
 
Vs: Ilmalämpöpumpun etäohjaus Arduinolla ja älypuhelimella

Moi!

Hienosti lähti Mitsun pumppu pelaamaan Tonin Arduino ohjeilla.
Siitä kiitos ja kumarrus. Ison työn olette tehneet.

Rupesin innostapiukeena selvittämään Ultimaten pumpun ir-koodia, koska valmiit kirjastot ei sitä tukeneet.
Kaukosäätimen malliY512F http://www.ultimatemarket.com/files/innoros/html/Yleisasennusohje.pdf.
En kuitenkaan saa mitään järkevää pihalle tuolla ir-decoderilla.

Number of symbols: 38
Symbols:
Hh00hh000000000000000000000000h0h00h0
Timings (in us):
PAUSE SPACE: 0
HEADER MARK: 5765
HEADER SPACE: 1902
BIT MARK: 429
ZERO SPACE: 280
ONE SPACE: 1119
00,00,00

Mitsun kaukosäätimestä tulee ihan oikeat arvot.

Osaisikohan joku neuvoa mitä voisin kokeilla?
 
Vs: Ilmalämpöpumpun etäohjaus Arduinolla ja älypuhelimella

Kiva että tästä on apua. Ja iso kiitos kuuluu myös niille foorumilaisille jotka ovat avustaneet mm. Mitsun koodien tulkinnassa.

Tuo IR-koodien lukija tarvitsee sen verran apuja että sille pitää arvata pulssipituuksien rajoja. Ks. rivit 48-71 tästä: https://github.com/ToniA/Raw-IR-decoder-for-Arduino/blob/master/rawirdecode.ino

Jos mikään noista valmiista seteistä ei kelpaa, niin sitten pitää vain löytää sopivat arvot, joilla siis erotetaan eri IR-merkit toisistaan. ATmega328:n muisti on niin pieni etten oikein keksinyt muutakaan ratkaisua.
 
Vs: Ilmalämpöpumpun etäohjaus Arduinolla ja älypuhelimella

Kiitos vastauksesta.

Täytyy testata eri arvoilla.
Toivottavasti jossain vaiheessa rupeaa tulemaan järkeviä arvoja.
 
Vs: Ilmalämpöpumpun etäohjaus Arduinolla ja älypuhelimella

Tämän sivun ohjeilla pääsin itse näppärästi noiden pulssipituuksien jäljille. Kirjasto jäi tekemättä toistaiseksi.
 
Vs: Ilmalämpöpumpun etäohjaus Arduinolla ja älypuhelimella

Tuttavan mökillä on Ultin 12 Pro Plus Inverter sekä varashälytin jossa on ylimääräisiä relelähtöjä (Celotron hälytin jossa neljän releen lisärelekortti). Ennestään tuo relekortti etäohjasi lämmitystä ja kolme relettä oli vielä käyttämättä. Nyt sitten kaksi relettä ohjaa Ultia Arduinon välityksellä:
  • Pumpun voi sammuttaa SMS:llä (rele 1 vetää)
  • Pumpun voi komentaa normaalilämmitykselle (rele 1 vetää / rele 2 ei vedä)
  • Pumpun voi komentaa ylläpitolämmitykselle (rele 1 vetää / rele 2 vetää)
Laitoin koodin esimerkiksi HeatpumpIR-kirjastoon: https://github.com/ToniA/arduino-heatpumpir/blob/master/examples/MideaRelayControl/MideaRelayControl.ino
 
Vs: Ilmalämpöpumpun etäohjaus Arduinolla ja älypuhelimella

Fujitsun toteutuksesta löytyi pari bugia, mutta nyt nekin on testattu oikeaa rautaa vastaan (Fujitsu AWYZ14). Testaaja löytyi muuten Sloveniasta asti, itse olin liian laiska kömpimään läppärin kanssa pannuhuoneeseen (josta siis löytyy tuo mun DIY VILP:n sisäyksikkö).

Samaten tässä on pikkuhiljaa selvitetty Samsung-ILP:n protokollaa, tarkka malli on Samsung AQV12PSBN / AQV09ASA.
 
Vs: Ilmalämpöpumpun etäohjaus Arduinolla ja älypuhelimella

Taas alkaa kelit mennä lämmityskauden puollelle ja oman panan "nettikake" saanut pikkuisen päivitystä.
Tuossa kesällä ukkonen otti ja täräytti sen verran piikkiä että ethernet shield porsi ja adsl modeemista hajos vain virtalähde.
No nyt huomasin sitten että aika taajaan tuntui tuo netti puoli jumivan(jopa kerran vuorkokauteen) ja jostain syystä ekaksi tuli mieleen että mahtaakohan tuohon default 80 porttiin olla vähän mailmalta rummutusta. Joten testin vuoksi näppäsin palomuurista portin kiinni ettei julkisesta netistä enään päässyt läpi, ja vuola 7 päivää nettikake ollut up_AND_running.
No tänään sitten tuunasin portit uusiksi ja samalla vähän muutakin webduinon default juttuja meikkasin eri nimisiksi(en tiedä auttaako mitään) mutta nyt sitten taas ollaan kokeeksi julkisessa netissä ja katotaan kuin kauan pysyy nyt rullaamassa.

Tonihan muistaakseni viritteli jonkun watchdogin ottaan kiinni nuo jumit ?
 
Vs: Ilmalämpöpumpun etäohjaus Arduinolla ja älypuhelimella

Mysql kirjastossa oli hyvä metodi tuohon ethernet puolen jumien tarkkailuun, lyhykäisyydessään jos viidellä yrityksellä ei saatu yhteyttä palvelimeen, watchdog teki buutin. Jos esimerkiksi pollaisi jotain osoitetta tietyn väliajoin ja sillä valvoisi ethernet puolen toimintaa?
 
Vs: Ilmalämpöpumpun etäohjaus Arduinolla ja älypuhelimella

Vähän samanlaiseen ratkaisuun päädyin minäkin pikku googlailujen jälkeen.
Otin käyttöön ICMPPing kirjaston ja sen ohjaamana jos yhteys reitittimeen kadotetaan niin tehdään verkko puollelle uudelleen initialisointi.
 
Vs: Ilmalämpöpumpun etäohjaus Arduinolla ja älypuhelimella

Ei kukaan ole miettinyt koko lämpöpumpun ohjauksen tekemistä Open source pohjalta esim arduinolla tai rasperyllä? Tietämättömyyteni tietenkin yksinkertaistaa asiaa tyhmyyden potenssilla, mutta montako muuttujaa kompuran ja venttilien ohjauksessa oikein on? Jeremy Clarksonin äänellä: "how hard it can be?".

En äkkiseltään nimitäin löytänyt googlella yritelmää aiheesta, luulisin että Te jotka olette tämän kotiautomaation ja ilpi etäohjauksen kimpussa tehneet aivan mahtavaa työtä ja ennen kaikkea paljon, niin olisitte saattaneet törmätä sellaiseen?
 
Vs: Ilmalämpöpumpun etäohjaus Arduinolla ja älypuhelimella

triheadwolf sanoi:
mutta montako muuttujaa kompuran ja venttilien ohjauksessa oikein on?
Aika monta.
Tuohon kun lisää vielä sulatukset sekä kaikki kuviteltavissa olevat olosuhteet niin yksinkertaisestakin tulee helposti monimutkainen. Kaupallisissakin tuotteissa tuntuu olevan bugeja jotka tulevat esille vain määrätyissä olosuhteissa jota sunnittelija ei ole ehkä osannut huomioida eikä edes kuvitella.
Mutta onhan noita omia ohjauksia foorumin propellipäät kehitelleet ainakin jossain määrin, en tiedä sitten ovatko juuri sellaisia mitä peräänkuulutit.
 
Vs: Ilmalämpöpumpun etäohjaus Arduinolla ja älypuhelimella

Täällä on pari kuukautta pyörinyt on/off kapillaari vilp täysin arduinon ohjaamana. Melkein päivittäin löytyy paranneltavaa. Vähän monimutkaisempi systeemi sillä samassa on myös vesitakan ohjaus + muuta kivaa. Toisaalta inverteriin+eviin verrattuna vielä suht simppeli.

Noissa kaupallisissa ilpeissä ja vilpeissä on myös kattava vikadiagnostiikka joka on kotikonstein monimutkainen toteuttaa.
Kokemuksesta voin kertoa että arduinon kanssa saa tapella paljon anturiarvojen keskiarvoituksen ja virhelukemien kanssa.

Jos puhutaan invertteri ilpistä niin ohjattavia lähtöjä ovat kompura (taajuus), evi (melkein aina askelmoottori),4-tie venttiili, ulkoyksikön puhallin, sisäyksikön puhallin, mahdolliset sulatus/lämmitysvastukset.
Mitattavia arvoja ja erilaisia muuttujia varmasti parikymmentä viimeisen päälle viritetyssä systeemissä.

En oikein näe hyötyä alkaa tekemään alusta alkaen uutta softaa ilmasta ilmaan pumppuun. Sulatuksia , päälle/pois toimintaa ja tehoa voi huijata, paljon vähemmällä vaivalla. Monissa pumpuissa toimintatavat on dokumentoitu hyvin service manuaaleissa joita tulkitsemalla voi hakea oikeat huijausarvot...
 
Vs: Ilmalämpöpumpun etäohjaus Arduinolla ja älypuhelimella

Itse ajattelin vilppiä ohjattavaksi varaajan lämmitykseen. En ole oikein löytänyt sopivaa tuotetta jossa olisi kompura ja elektroniikka sisällä, ulkona vain puhallin ja kenno sekä sulatus. Lämpimällä puolella ei tarvitse olla mitään, eli korkeintaan levylämmönvaihdin. Kaikki tuntuu olevan pakettiratkaisuja varaajineen ja ulkoyksikköineen. Mielestäni paras ratkaisu koostuu moduuleista, jossa jonkin yhden osan hajoaminen ei johda törkyhinnoiteltujen valmistajakohtaisten varaosien pariin tai pahimmassa tapauksessa koko törkyhintaisen laitoksen uusimiseen.

Jos tuollaisen katkokäyntikoneen saa yksi, vaikkakin varsin pätevä tvhula1 toimimaan, niin en pitäisi invertterikonettakaan ylivoimaisena jos tekijöitä on useampi asiasta innostunut ja pätevä henkilö tekemässä. Vaativaa se on varmasti, sitä en epäile. Ensimmäisenä voisi lähteä tuosta kompuran ja 4-tieventtiilin ohjauksesta, niiden keskinäisistä riippuvuuksista ja järjestelmän suojaamisesta itsetuholta. Sen päälle sitten voi rakentaa lämmityslogiikan ja optimoinnin. Esimerkiksi. No, kunhan haaveilen.
 
Vs: Ilmalämpöpumpun etäohjaus Arduinolla ja älypuhelimella

Tuosta älypuhelinsoftasta, Windows Phonen avaaminen itse kehitetyille softille on nykyään ilmaista, samoin kuin kehitystyökalut. Tarvitaan vain Visual Studio Express 2012 for Windows Phone tai Visual Studio Express 2013 for Windows. Live-tunnuksella saa avattua yhden puhelimen (per tunnus), johon voi sitten asentaa itse kääntämiänsä appiksia.

Sorsathan löytyvät täältä: https://github.com/ToniA/wp8-heatpumpcontrol
 
Vs: Ilmalämpöpumpun etäohjaus Arduinolla ja älypuhelimella

Mielenkiintoista.
Mitäs selkeitä etuja tuo json:in päälle viritetty ohjaustapa tuo verrattuna sippeliin webbi sivuun ?
Ite ust hankin 635 lumian ja kävi mielessä että pitäiskö ottaa tuo windowsphone koodaaminen jollain tapaa haltuun.
 
Vs: Ilmalämpöpumpun etäohjaus Arduinolla ja älypuhelimella

dbwarrior sanoi:
Mielenkiintoista.
Mitäs selkeitä etuja tuo json:in päälle viritetty ohjaustapa tuo verrattuna sippeliin webbi sivuun ?
Ite ust hankin 635 lumian ja kävi mielessä että pitäiskö ottaa tuo windowsphone koodaaminen jollain tapaa haltuun.

Eiihän tuo ole kuin standardoitu tapa siirtää tietoa tässä tapauksessa.. json-urlin kirjoittaa vaikka käsin kun hommaa testaa. Valmiit kirjastot ja silleen.. ei tarvitse perusasian kanssa jumpata.
 
Vs: Ilmalämpöpumpun etäohjaus Arduinolla ja älypuhelimella

Ite tuossa pohdin että:
Plussat:
+ saapi näyttävää UI jälkeä nopsaan
+ siirettävä data määrä on pieni

Miikat:
- pitää olla se aplikaatio asennettuna että pääsee touhuaan, ei riitä pelkkä selain.

Pitäänee kokeilla jossain käänteessä.
 
Vs: Ilmalämpöpumpun etäohjaus Arduinolla ja älypuhelimella

Jos kaksi 'tietokonetta' vaihtaa tietoa keskenään, on kätevää käyttää jotain standardiformaattia, löytyy valmiiksi kirjastoja jne. JSON on ihan näppärä, siinä ei ole liikaa 'lihaa luiden ympärillä', verrattuna vaikkapa XML-formaattiin.

Olen just integroimassa ILP:n ohjausta Domoticz-kotiautomaatioon, ja tuo mun alkuperäinen Arduino-serveri toimii ihan sellaisenaan. Lähetyspää voi olla yksinkertaisimmillaan esim. tällainen shell-skripti Linuxissa (mulla Raspberry Pi):
#!/bin/sh

echo '{"command":"command","fan":4,"identity":"02:26:89:B3:13:C5","mode":2,"model":"panasonic_ckp","power":'$1',"temperature":24}' | socat -v - UDP4:192.168.0.255:49722,broadcast

Ja Domoticz-puolella Lua-skripteissä jotain tähän tyyliin ('identity' tulee olemaan Domoticzin 'User variable' jolloin saan molempia ohjattua samalla skriptillä jne):
print("ILP päälle")
os.execute('scripts/lua/heatpump.sh 1')
--
print("ILP pois päältä")
os.execute('scripts/lua/heatpump.sh 0')
 
Vs: Ilmalämpöpumpun etäohjaus Arduinolla ja älypuhelimella

Hmm.. Mitsun FD25 tottelee jo jotain komentoja, mutta plasma, area, installation position ja wide vane bitit on vielä hakusassa. Missähän ne mahtaa olla tuossa 17 tavun protokollassa? Useampikin ketju on ja joku löytyi jossa ne oli mutta koodi oli ympäristölle jota ei mulla tai kavereilla ole.
 
Vs: Ilmalämpöpumpun etäohjaus Arduinolla ja älypuhelimella

On niin mielenkiintonen projekti tämä, että piti itselläki tilata Kiinasta muutamalla eurolla Arduino Uno klooni ja Ethernet-shield.
Sain ajettua nuo koodit onnistuneesti Arduinoon aloituspostauksen ohjeiden mukaan. IR-lediä ei ole tähän hätään saatavilla, mutta ainakin web-palvelin toimii.
Kysymys kuuluu, että onko kukaan testannut tuota Panasonic MKE-sarjan ilppien kanssa?
Tarkoitus olisi ohjata mökin Panasonic CS-NE9MKE ilppiä netin kautta. Toki tuohon pitäisi saada vielä joku salasanasysteemi suojaksi, jos tuon ulkomaailmalle aukaisee.
 
Vs: Ilmalämpöpumpun etäohjaus Arduinolla ja älypuhelimella

Vastaan itselleni, että toimii! Sain IR-ledin ja pääsin testaamaan. Ledi suoraan pinneihin kytkettynä otti komennot muutaman metrin päästä. Pitää vetää ledi pumpun etupaneelin sisäpuolelle vastaanottimen eteen ja laittaa vastus siihen ettei kärähdä.
Koodia voisi muokkailla kunhan koodaustaidot kehittyy. Kokemusta ohjelmoinnista ei juuri ole. Ainakin tuohon pitää lisätä komennot peruslämmön ylläpidolle.
 
Vs: Ilmalämpöpumpun etäohjaus Arduinolla ja älypuhelimella

Hieno homma että toimii! Käsittääkseni MKE:llä pitäisi toimia sama ylläpitokomento mitä NKE:lläkin, eli voit pyytää joko +8 tai +10 astetta.

Mulla on käytössä tuo 'arduino-wp-heatpump-controller', eli ohjaan pumppuja JSON-muotoisilla viesteillä.
 
Vs: Ilmalämpöpumpun etäohjaus Arduinolla ja älypuhelimella

Onko LUA scriptillä helpompaa tai muuten vain parempi tapa kommunikoida arduinon kanssa kuin JSON rajapinta mikä domotcz:ssa on?

Tälä hetkellä arduino korttini lähettää JSON viestin: GET /json.htm?type=devices&rid=10 HTTP/1.1

Jolloin domoticz vastaa takaisin instrumentin tiedot.

Vastaavasti komennolla: GET /json.htm?type=command&param=udevice&idx=7&nvalue=0&svalue=40;1.6 HTTP/1.1

Voi asettaa instrumentille "mittausarvoja".

Tällä hetkellä systeemissäni on kaikki instrumentit virtuaalisia.
 
Vs: Ilmalämpöpumpun etäohjaus Arduinolla ja älypuhelimella

kutteri sanoi:
Hmm.. Mitsun FD25 tottelee jo jotain komentoja, mutta plasma, area, installation position ja wide vane bitit on vielä hakusassa. Missähän ne mahtaa olla tuossa 17 tavun protokollassa? Useampikin ketju on ja joku löytyi jossa ne oli mutta koodi oli ympäristölle jota ei mulla tai kavereilla ole.

Ei tähän olisi kellään ensikäden tietoa ? Kyseessä siis FD25 jossa nuo asetukset jää nollille. Bitit on kuvattu tuolla http://www.anvianet.fi/nwalker/files/ControlFD_serial_communication.pdf ketjussa http://lampopumput.info/foorumi/index.php?topic=18119.0 mutta ympäristöä en saa kasaan vinkkariin.
 
Vs: Ilmalämpöpumpun etäohjaus Arduinolla ja älypuhelimella

Piti sitten tämäkin itse selvittää:

area byte 13 bit 0, 1 (0x80)
plasma byte 15 bit 1 (0x40)
h-vane byte 8 bit 0, 1, 2, 3
clean byte 14 bit 5
i-see byte 6 bit 1
installation position byte 14 bit 3, 4

FD25 kake KM09D
 

Liitetiedostot

  • KM09D.jpg
    KM09D.jpg
    76,9 KB · Lukukerrat: 507
Vs: Ilmalämpöpumpun etäohjaus Arduinolla ja älypuhelimella

Boatman sanoi:
Onko LUA scriptillä helpompaa tai muuten vain parempi tapa kommunikoida arduinon kanssa kuin JSON rajapinta mikä domotcz:ssa on?

Tälä hetkellä arduino korttini lähettää JSON viestin: GET /json.htm?type=devices&rid=10 HTTP/1.1

Jolloin domoticz vastaa takaisin instrumentin tiedot.

Vastaavasti komennolla: GET /json.htm?type=command&param=udevice&idx=7&nvalue=0&svalue=40;1.6 HTTP/1.1

Voi asettaa instrumentille "mittausarvoja".

Tällä hetkellä systeemissäni on kaikki instrumentit virtuaalisia.

Arduinon tapauksessa kannattaa vilkasta mysensors-kirjastoa. On melko näppärä keksintö.
Rakentelin just ite ekan servomoottorilla varustetun sälekaihtimen tähän tapaan. Ei oma prokkis, mutta vastaava. Domoticz tukee mysesonsors -verkkoa suoraan.

e: Tämä siis jos tykkää langattomista systeemeistä.
 
Vs: Ilmalämpöpumpun etäohjaus Arduinolla ja älypuhelimella

Nykyteknologialla tästä saisi muuten todella pienen ja ennenkaikkea edullisen WLAN-ohjatun härvelin. Pitäisiköhän rakentaa demolaite :)
  • ESP8266 mikrokontrolleri Ebaystä EUR 2.67, free shipping
  • Arduino Nano EUR 3.23, myös free shipping
Mulla on nyt tuollainen ESP8266 tässä pöydällä (tai itse asiassa ostin samantien 5 kappaletta), varsin mielenkiintoinen noin postimerkin kokoinen laite. Lyhyesti kuvailtuna 'mikrokontrolleri jossa sisäänrakennettu WLAN'. Muutamalla komponentilla ja varsin lyhyellä Lua- tai Arduino Wiring (C++) koodinpätkällä voisi tehdä vaikkapa 1wire-lämpöanturia lukevan laitteen joka vaikkapa twiittaa lämpötiloja. Tai lukee sähköyhtiön mittarin ledin välähdyksiä ja siirtää tiedot WLAN-yhteyden yli kotiautomaatiolle tai vaikkapa emoncms.org:lle.

Ikävä kyllä näyttää vähän siltä, että sen kanssa ei saa mitenkään helposti lähetettyä pitkiä IR-koodeja tarkalla ajastuksella, kun tuo WiFi-stack tarvitsee CPU-aikaa vähän väliä. Eikä tuon piirin hardis-PWM taida olla oikein selvillä NodeMCU tai Arduino-puolen softille (kyllä, Arduino IDEen on portattu tuki ESP8266:lle). Mutta eipä tuollainen Arduino Nanokaan paljoa maksa, etuna tulisi vielä se, että se voisi ottaa suoraan pumpun kontrolleripuolen sähköistä sen 5V ja syöttää ESP8266:lle 3.3V käyttöjännitettä. Saisi etäohjauslaitteen WLAN-yhteydellä joka ei olisi juuri tulitikkurasiaa suurempi.
 
Vs: Ilmalämpöpumpun etäohjaus Arduinolla ja älypuhelimella

Tuossa kuva siitä paljonko laitteisto pienenee. Tuo Arduino on mallia 'Pro Mini 3.3V', se taitaa olla ainoa Arduino joka pyörii samalla jännitteellä kuin ESP8266.

ESP8266:n avulla tuosta saadaan 'langaton', eli tarvitaan vain 3.3V käyttösähköt. Nekin voisi kaiketi varastaa pumpun 'älyosan' 5V-käyttösähköistä 3.3V regulaattorin kautta.
 

Liitetiedostot

  • WP_20150509_11_04_48_Pro.jpg
    WP_20150509_11_04_48_Pro.jpg
    187,3 KB · Lukukerrat: 530
Vs: Ilmalämpöpumpun etäohjaus Arduinolla ja älypuhelimella

Nyt ne mahtavan piirin teki (ESP8266); pitääköhän tässä vielä päivittää kaikki Arduinot. Eikö ESP joka yo. kuvassa on oikealla näkyvä pikkukortti voi toimia itsenäisestikin jolloin sillä voisi ohjata lediä (trankun kautta). ESP-kortista on myös versioita joissa on useita I/O nastoja joihin saisi kai DS18B20 ym. antureita. ESP-kortilla taitaa olla RAM:ia ja FLASH:iä enemmän kuin Arduinossa muun hyvän lisäksi.
 
Vs: Ilmalämpöpumpun etäohjaus Arduinolla ja älypuhelimella

Joo, ESP8266-01 on tuo oikeanpuoleinen pikkukortti, se toinen on Arduino Pro Mini 3.3V. Tuossa 01-versiossa on kaksi GPIO-nastaa, tein esim. demon jossa GPIO0:ssa oli kaksi DS18B20-anturia samassa väylässä, softa julkaisi säännöllisesti mittausdataa emoncms.org-palveluun. Lua-softaan tuli lopulta tasan 100 riviä, mukana runsaasti kommentteja ja tyhjiä rivejä.

Luulenpa, että täsmällinen IR-koodin ajoitus ei oikein onnistu Lua-softalla. Puhtaalla C:llä se voisi onnistua, jos ei tuo WiFi-stack aja korkeammalla prioriteetilla ja sotke ajoituksia satunnaisesti. ILP:n kanssahan on sellainen haaste, että pumpulta ei saa palautetta kuin epäsuorasti (esim. monitoroimalla ledejä, puhalluslämpötilaa tms).

Tässä olisi suoraan ko. laudan SDK:n päälle tehty demo siitä miten lähetetään 32-bittisiä IR-koodeja: https://github.com/valkuc/esp8266-ir-remote
 
Vs: Ilmalämpöpumpun etäohjaus Arduinolla ja älypuhelimella

ESP8266 voi käyttää joko yksinään suurinpiirtein kuten Arduinoa tai Arduinon kanssa jolloin ESP toimii WLAN muuntimena Arduinolle. Ensimmäinen vaihtoehto on parempi jo pelkästään sen takia että muutaman euron kortilla jonka mitat ovat 15 x 25 mm voisi korvata Arduino + Ethernet kortit. Lisäksi Ethernet kaapelista pääsisi eroon.

Tarjolla näyttää olevan useita softan kehitysympäristöjä enkä pysty arvioimaan mikä olisi paras. Testasin tätä:
https://github.com/esp8266/arduino
Softa näytti toimivan siihen saakka että DS18B20 anturin lukeminen WLAN yli toimi. Mutta ESP vahtikoira oli ongelma. Noin 3 s välein vahtikoira kusi ja ESP resetoi. Tein kai jotain väärin koska en löytänyt netistä juuri mitään asiasta. Kirjastoista en löytänyt mitään millä voisi komentaa vahtikoiraa.

Tämän takia aloin testailla Arduino Mini Pro 3,3 V + ESP yhdistelmää ja jätin ym. polun toistaiseksi. Tämä vaihtoehto pitäisi olla OK. Nämäkin kortit mahtuu tulitikkurasiaan ja ne voi ostaa pilkkahinnalla. Toki kaikki ei ole siinä, kortti tarvitsee 3,3 V syötön esim. pienen pistorasiaan laitettavan hakkurin. ESP haukkaa virtaa sen verran että akku ei oikein tule kyseeseen. Kun kortteja on tarkoitus ripotella eri puolille taloa ja korttien on oltava aina päällä, on verkkosyöttö oikeastaan ainoa vaihtoehto.
 
Vs: Ilmalämpöpumpun etäohjaus Arduinolla ja älypuhelimella

mstr sanoi:
Tarjolla näyttää olevan useita softan kehitysympäristöjä enkä pysty arvioimaan mikä olisi paras. Testasin tätä:
https://github.com/esp8266/arduino
Softa näytti toimivan siihen saakka että DS18B20 anturin lukeminen WLAN yli toimi. Mutta ESP vahtikoira oli ongelma. Noin 3 s välein vahtikoira kusi ja ESP resetoi. Tein kai jotain väärin koska en löytänyt netistä juuri mitään asiasta. Kirjastoista en löytänyt mitään millä voisi komentaa vahtikoiraa.

https://github.com/esp8266/Arduino#esp-specific-apis ? "ESP.wdtEnable(), ESP.wdtDisable(), and ESP.wdtFeed() provide some control over the watchdog timer."

Tämäkin näytti aika mielenkiintoiselta toteutukselta, jos siis meinaisi ohjausta MQTT-protokollan kautta: https://github.com/Suxsem/Mqttduino
 
Vs: Ilmalämpöpumpun etäohjaus Arduinolla ja älypuhelimella

Toni sanoi:
https://github.com/esp8266/Arduino#esp-specific-apis ? "ESP.wdtEnable(), ESP.wdtDisable(), and ESP.wdtFeed() provide some control over the watchdog timer."
En tiedä miksi kääntäjä ei löytänyt tuota ESP:tä kirjastosta. En löydä myöskään noita funktiota wdtDisable jne.

Eli jos päätasolta ... /arduino/arduino-1.6.1$ etsin

grep wdtDisable * -R

niin mitään ei löydy. Eikö kaikkien objektien pitäisi löytyä kirjastopaketista? Vai hakeeko ohjelma niitä jostain kauempaa?
Tämän tason softajutut menee yli hilseen.
 
Takaisin
Ylös Bottom