Avainsana-arkisto: ESP8266

Sisustusongelma

Ihan vähässä kummassa en olisi uskonut, että minulle tulee sisustus ongelma, mutta niin vain tuli. Kuvassa on villakoiran ydin. IMG_20150827_002326Kattolamppu tai paremminkin tyhjä paikka kattolampulle! En tiedä minkälaisen haluan. Luultavasti päädyn tekemään itse jonkinlaisen ledi virityksen, mutten vielä ole päättänyt minkälaisen.

Draconian sivuilla oli hillittömän hieno lohikäärme lamppu, mutta se oli suhteellisen kallis ja sitten ehkä pitäisi hommata muutakin vastaavaa. Enkä oikeastaan halua olohuoneeseen lamppua, joka roikkuu.

Yksinkertainen keino ja yllättävän siistin näköinen olisi tehdä samalla tavalla kuin kaveri. Hänellä on neliön mallista alumiiniputkea roikkumassa katosta ja sen yläpinnalla ledinauhaa. Valo tulee siis epäsuorasti katon kautta, samoin kuin minun sarastevalossa. Yksinkertaista, mutta edelleen roikkuva, ei nappaa.

Valoputki tyylinenkin ratkaisu on ollut mielessä. Huurrettua putkea kattoon ja putken sisälle ledinauha. Putkella saisi hauskoja efektejä kyllä aikaiseksi. Voisi vaikka laittaa putket, että ne näyttävät tulevan seinästä tai katosta. Vihreä hehku putkiin ja säteilyvaara kyltti viereen 😉

Jos päädyn tuohon putki ideaan, ledit ovat ehdottomasti yksittäin ohjattavia, esim. WS2812B tai vastaava. Sopivalla ohjauksella saa aikaseksi liike efektin ikään kuin putkessa liikkuisi jotain. Muissa ratkaisuissa perusvalkea nauha tai ehkä jopa yksittäinen 10/20…/100w ledi.

Seuraava pohdinta on sitten ohjaus. Jos päädyn valkeaan nauhaan, laitan korkeintaan himmentimen, mutta WS2812B vaatii jo enemmän ja mieluiten langattoman säätimen. Toteutuksessa voisi esimerkiksi käyttää ESP8266 tai nRF24L01 moduuleja, jotka molemmat minulta löytyy, mutta kumpaakaan en ole kokeilua enempää käyttänyt.

Toisaalta haluan valojen myös olevan yksinkertaiset ja toiminta varmat, en todellakaan viimeiseksi illalla halua alkaa tappelemaan kaukosäätimen tai nettisivun kanssa, että saan valot pois päältä! Ja toisaalta sama aamulla, haluan painaa katkaisimesta naks ja valot on päällä.

Harkinnan arvoinen idea olisi ehkä myös ostaa joku törky halpa pädi ja kiinnittää se seinään sopivalle kohti ja käyttää sitä valo-ohjaimena. Pelkän akun varassa sitä ei kyllä voisi pitää eikä koko aikaa näytön valoakaan päällä. No laturi kiinni koko ajan ja anturilla valot päälle näyttöön, kun käsi lähenee. Ihan tarkkaa tietoa ei ole, mutta taitaapa aika monessa (ainakin puhelimessa) olla toi läheisyys anturi valmiina.

Näin vuokralla asuessa en lähde uusimaan valokatkaisijoita, vaikka sillä olisikin helppo ratkaista ongelma. Onneksi olohuoneen lamppuun menee kaksi johdinta jolloin voin toista käyttää signaalina ja toista käyttöjännitteenä. Hetken pohtimisen jälkeen tuli toinenkin idea. Yksinkertaisesti laittaa ”power on” oletukseksi jonkun sopivan valo asetuksen (tai edellisen asetuksen) ja vasta erikseen säätämällä ohjausta valo muuttuu tms. Silloin kyllä menettää mahdollisuuden sytyttää valot kaukosäädöllä aamulla.

Riippumatta miten ohjauksen teen, siitä tulee sellainen, että sitä voi käyttää myös ”stand alone” versiona eli luultavasti ”power on” oletuksena on joku järkevä valaistus, jottei vahingossa käy vaikka niin, että pari päivää olen punaisessa valossa.

 

WS2812B ledejä

Kokeilin ensimmäistä kertaa eläissäni ebaysta ostamista. Tilasin 100kpl WS2812B ledejä, ihan kohtalaisen hyvään hintaan. Ainoa huono puoli on, että toimitusaika on luokkaa kuukausi. Noh ompahan aikaa suunnitella mitä noista tekee.

WS2812B on siis RGB-ledi, jossa on sisään rakennettuna ohjainchippi. Ledistä on usemapia versioita ja tämä minun tilaama versio on asennettuna pienelle jäähdytyslevynä toimivalle alumiinilevyn kappaleelle. Ledi itsessään on neljä pinninen (data-in, data-out, +5v ja gnd). Alumiinisessa taustalevyssä on kuitenkin kuusi pinniä, koska käyttöjännitteellekin on omat IN ja OUT-pinnit.

Jokainen ledi vaatii 24-bittisen komennon (yksi 8-bittinen pätkä R,G ja B värille) ja ohjauskoodi on data transfer timedatasheetin mukaan todella nopeaa! Jopa niin nopeaa, että (teoriassa) 16MHz arduino ja arduinon oma koodi on liian hidasta ohjaamaan noita. Onneksi kuitenkin ilmeisesti sequence charthiukan hitaampikin nopeus riittää ja löytyy valmiita kirjastoja, jotka käyttävät nopeampaa koodia.  Ledeissa on myös piiri, joka muodostaa signaalin uudestaan, jolloin virheet eivät keräänny signaaliin pitkässäkään lediketjussa. composition of 24bit data Katsellaan ohjausta tarkemmin sitten koodissa ja kun pääsen testaamaan itse ledejä.

 

Mielessä olisi siis rakentaa noista ledeistä kello seinälle, vähän niin kuin taulu tai ehkä infinity-mirror tyyppinen ratkaisu, en ole viellä päättänyt. Periaatteessa kuitenkin ohjaukseen arduino (tai mahdollisesti jotain nopeampaa) ja RTC-kello, ehkä myöskin ESP8266, jolloin kelloa voi ohajata netin kautta ja sen saa pysymään NTP:n avulla oikeassa ajassa.

 

 

 

 

 

ESP8266 moduli

Tällä kertaa käsissä pikkuruinen ja edullinen WLAN-moduli ESP8266.  Kuvassa on myös nRF24L01(+)-moduli josta juttua tuonnempana, kunhan ehdin testata sitä. ESP8266 on tuhottoman suosittu, siitä löytyy juttua vaikka kuinka paljon netistä, mutta lisätään silti pätkä.

ESP8266 & nRF24L01(+)
Vasemmalla ESP8266 ja oikealla nRF24L01(+)

Modulilla on yllättävän pitkä toiminta säde. Hiukan avustettuna jopa reilu neljä kilometriä! (mm. CNLohr youtubessa on tehnyt videon asiasta) Todellinen ja käyttökelpoinen etäisyys on kuitenkin huomattavasti lyhyempi, en ole kuitenkaan itse sitä mitenkään testannut. Luultavasti modulin omalla antennilla ei kovin kummoisia etäisyyksiä saa aikaiseksi.

Moduli toimii 3.3v jännitteellä ja vaikka joissain paikoissa sanotaan, että sen datapinnit sietävät 5v volttia, päätin kuitenkin olla IMG_20150216_133915kokeilematta asiaa. Moduuli ei ole erityisemmän koekytkentälevy ystävällinen, joten tein adapterin sitä varten.  ESP8266_V091

Kuvassa on pinni järjestys.GND maahan ja Vcc 3.3volttiin. CH_PD pitää myös olla 3.3voltissa. RX ja TX vastaaviin pinneihin USB to serial adapteriin. Käytin arduino IDEä terminaali ohjelmana.

 

esp8266 ap
WLAN verkon teko ESP8266 modulilla. Näillä asetuksilla mitään verkolla ei voi tehdä, mutta siihen voi liittyä.

Modulia ohjataan AT-komennoilla (Vanhat parrat muistavat  AT-komennot modeemien aikakaudelta).  Kuvissa on kaksi eri versiota yhteydestä toisessa tehdään WLAN, johon voi kytkeytyä, mutta jossa ei viellä tuossa vaiheessa voinut tehdä mitään muuta.

 

 

Toisessa kuvssa liitytään omaan WLANiin ja  haetaan serveriltä tiedosto. Itse yhteyden muodostusta kuvassa ei ole, mutta listaan komennot tähän.

 

Siirrytään ”station” moodiin, jolla päästään liittymään WLANiin.

AT+CWMODE=1

Seuraavaksi liitytään WLANiin

AT+CWJAP="ssid","password"
esp8266 get test
Tiedoston haku ESP8266 moduulilla.

IP numeron voi halutessaan tarkistaa komennolla

AT+CIFSR

Jatko on kuvattu kuvassa. Haettu tiedosto sisältää vain ”Success!!!”.  Ennen tiedoston sisältöä kerrotaan kuinka paljon tietoa on tulossa. Tässä tapauksessa ”+IPD,10: ” tarkoittaa, että tulossa on 10 merkkiä.

Käytin Vaasan Haclabin ohjeita yhteyden tekemisessä. Selvillä on vasta ihan perusasiat tästä modulista ja sen mahdollisuuksista.

 

Pieniä ideoita on mielessä, esimerkiksi tuon sarastevalon muuttamista webin puolelta ohjattavaksi, mutta mitään varmaa ei viellä ole mielessä.

 

 

http://wiki.iteadstudio.com/ESP8266_Serial_WIFI_Module

https://nurdspace.nl/ESP8266

http://www.esp8266.com

https://github.com/nodemcu

http://www.electrodragon.com/w/ESP8266