Näytetään tekstit, joissa on tunniste ESP-8266. Näytä kaikki tekstit
Näytetään tekstit, joissa on tunniste ESP-8266. Näytä kaikki tekstit

sunnuntai 26. maaliskuuta 2017

Sonoff-Tasmota päivitystä

Tässä olen viimeaikoina muutaman blogipostauksen tehnyt Sonoff wlan kytkimistä, ja tässä hieman jatkoa aiheeseen.

Loysin netistä projektin noihin Sonoffeihin, jossa noihin on mqtt:n lisksi lisätty pieni webbiserveri, jolla voi tehdä OTA päivityksen wlanin yli ja ohjata relettä myös http:n yli. Ja samoin se lisää Domoticz tuen. Ja kaikki tämä toimii jopa tuolla normaalilla yhden megan Sonoffilla.

https://github.com/arendst/Sonoff-Tasmota

Tuohon voi nätisti conffata primaarin ja secundaarin SSID:n, jolloin laite liittyy kotiverkkoon automaattisesti ekalla bootilla. Jonka jälkeen webbiserverin kautta voi kätevästi käydä uudelleennimeämässä laitteen haluamakseen. Samoin webbiserveri tarjoaa konsoliyhteyden.

Kehitys ympäristön asennus oli helppoa, systeemi tukee Arduino IDE:ä tai PlatformIO:ta, joka asentuu Atomin päälle: https://github.com/arendst/Sonoff-Tasmota/wiki/Prerequisite

Itse latasion PlatformIO:n Atomin sisään, niin kaikki asentui automaattisesti ilman, että tarvi käsin asennella mitään lisäpalikoita. Ja megan ja neljänmegan palikan vaihtaminen käy ihan buildilipulla kuten oheisessa screencapturessa näkyy:

lauantai 18. maaliskuuta 2017

Sonoff muistin laajennus

Edellisessä postauksessani hehkutin Sonoff wifi kytkimiä. Tällä kertaa postaus kyseisen laitteen pimppaamisesta. Normaalisti noissa on muistia 1MB, joka riittää perustoiminnallisuuteen ihan hyvin. Mutta jos haluaa isompia koodikokonaisuuksia ja OTA (Over The Air) päivitysmahdollisuuden, niin se vaatii isomman muistipiirin.

Maailmalla, jotkut ovatkin kolvailleet tuohon ESP8266 mokkulaan isommat muistit: http://www.andremiller.net/content/upgrading-sonoff-wireless-smart-switch-flash-memory-esp8266. Joten pitihän sitä itsekin kokeilla onnistunko perässä. Noi piirit on vähän pieniä minun amatööri kolvaustaidoilleni, mutta kun noi on niin halpoja, niin pitäähän sitä yrittää.

Aliexpressistä kymmenen kipaletta 4MB Winbond 25Q32FVSIG piiriä oli kotiin postitettuna 2.25e, joten 23 centtiä kipale ei ole kovin paha hinta muisteista.

Harjoittelin ekana euron ESP8266 piirillä, ja hetken kolvailun jälkeen näytti uusi muistipiiri menevän paikoilleen. Joten siitä rohkaistuneena otin sitten Sonoffin työn alle. Tässä hieman kuvia kolvauksesta, vaatii pikkuisen vakaata kättä kun pinnit on puolen millin päästä keskenään.

Kolvailun jälkeen laite takaisin tietokoneeseen kiinni, niin näkee, että tuliko total failure tai success. Ei ole niin nätti kuin robotin kolvaama, mutta pinnit osui kohdalleen ja esptool raportoi 32Mb(4MB), joten onnistunut projekti.

perjantai 10. helmikuuta 2017

Wifi langaton sähkökytkin

Taloautomaatioprojektiin pikkuista päivitystä. Edelleen on ikuisuusprojekti ohjata kaksikärkisiä releita vielä vaiheessa odottamassa kesän isyyslomia, mutta tässä hieman status päivitystä automaatioprojektin etenemiselle.

Muutaman lisäpalikan olen saanut pystyyn projektin edistämiseksi. Muutaman kappaleen olen tilannut Sonoffin ESP8266 pohjaisia langattomia kytkimiä, jotka maksaa 5-6e kappale kotiin toimitettuna (https://www.itead.cc/sonoff-wifi-wireless-switch.htm).

Noiden sisällä oleviin ESP8266 piireihin saa helposti flashattua oman custom firmwaren. Joten muokkasin custom NodeMCU palikan, jota voi ohjata ja kuunnella MQTT:n yli.


Ensimmäiseksi pystytin kotiverkkoon Docker swarm-verkon, jonka päälle sitten asensin clusteroidun Hight Availibility MQTT:n. Suomennettuna siis se tarkoittaa, että MQTT palvelu pysyy pystyssä vaikka yksittäinen kone sattuisi sammumaan tai reboottaamaan. HAProxyn avulla kolme nodea pystyy käsittelemään satoja tuhansia yhtäaikaisia yhteyksiä, joka on enemmän kuin tarpeeksi alle 100:n sähkölaitteen ohjailuun. Eli joo, vähän ammuin yli, kun HA:n ja Docker swarmin opiskelu sattui vain kiinnostamaan. Kotiautomaatioon riittäisi kyllä ihan yksittäinen mqtt serverikin. Mutta eipä tuosta haittaakaan ole :).

Julkaisin emqtt docker ja haproxy containerit githubissa ja docker hubissa, jos joku muukin sattuisi tarvitsemaan itselleen. https://github.com/rainisto/docker-emqtt ja https://github.com/rainisto/haproxy-emqtt
docker network create --driver overlay --subnet 10.0.1.0/24 mqtt
docker service create --constraint "node.hostname==node1.local" --name emqtt-master --network mqtt -e NODE_IP=emqtt-master rainisto/emqtt
docker service create --constraint "node.hostname==node2.local" --name emqtt-node1 --network mqtt -e NODE_IP=emqtt-node1 -e MASTER=emqtt-master rainisto/emqtt
docker service create --constraint "node.hostname==node3.local" --name emqtt-node2 --network mqtt -e NODE_IP=emqtt-node2 -e MASTER=emqtt-master rainisto/emqtt
docker service create --name haproxy-emqtt --network mqtt -p 1883:1883 -p 18083:18083 rainisto/haproxy-emqtt
docker service scale haproxy-emqtt=3
Releen tilaa voi ohjata ihan manuaalisesti Sonoff:ssa olevaa nappia painamalla, tai sitten mqtt publish/subscribe avainta muuttamalla. Esim:

# esimerkki kuunnella lastenhuoneen pilvilampun tilaa
mosquitto_sub -v -t "/home/leikkihuone/pilvi/state" -h 192.168.1.9
# lampun laitto päälle
mosquitto_pub -t "/home/leikkihuone/pilvi" -m "ON" -h 192.168.1.9
# lampun laitto pois
mosquitto_pub -t "/home/leikkihuone/pilvi" -m "OFF" -h 192.168.1.9
Esimerkissä käytetyt NodeMCU lua scriptit voi ladata täältä: https://github.com/rainisto/sonoff-nodemcu

Pikkuisen vielä muokkasin tuota, että kuumaliimasin nelireikäisen dupont liittimen tuohon kylkeen kiinni, niin on helppo tehdä mahdollisia softapäivityksiä jälkeenpäin ilman että tarvii koteloa avata.

lauantai 7. helmikuuta 2015

WLAN lämpötilamittari

Sain tuossa aikaiseksi pistää kolvin lämpiämään ja rakensin itselleni lämpötilamittarin joka langattomasti siirtää lämpötilan ja kosteusprosentin WLANin yli minun automaatiokoneelleni, joka ottaa datan vastaan, josta se voidaan sitten näyttää webissä tai vaikka puhelimessa.

Osat kokonaisuudessaan maksoivat alle 6 euroa, joten kohtuu edullinen verme siitä lopulta tuli. Eli käytin ESP-8266 (ESP-01) wlan kikkulaa joka maksoi 2.5e, DHT11 lämpötilasensori 0.8e ja virransyöttö "MB102 breadboard power module"(osaa muuntaa 5-12V:n 3.3V:ksi) 0.95e ja 220V->12V virtälähde 1.7e.

Vetäsin kuumaliimalla sensorin ja wlan kikkulan kiinni tuohon virtamoduulin alapintaan kiinni, ja sitten kolvasin asianmukaiset piuhat kiinni pinnien alapuolelle ja 4.7kΩ resistanssi datapinnin ja 3.3V VCC:n väliin (jooh, olisi ne voinut kolvata nätimminkin, mutta toimii(tm), joten riitti minulle). Pinnien yläpuolet ovat edelleen vapaat, joka mahdollistaa piirien uudelleen ohjelmoimisen ja mahdollisten ongelmien debuggauksen tietokoneella. Ja tuossa on bonuksena vielä toi valkoinen painonappi, jolla koko vehkeen voi sammuttaa ja käynnistää tarvittaessa nopeasti.

Kirjoittelin tuohon NodeMCU:lla koodinkin nopsaan, nyt se osaa liittyä automaattisesti kodin wlan verkkoon, ja se raportoi 30 sekunnin välein sensorin arvot automaatiokoneelle MQTT protokollan yli kodin wlan verkossa. Esimerkkinä mainittakoon vaikka tämä projekti http://nathan.chantrell.net/20141230/wifi-mqtt-display-with-the-esp8266/. Tuommoinen näyttö (ebay 3.8e) on itselläkin tilauksessa, mutta siitä sitten lisää kunhan se saapuu.

Tämän vehkeen on tarkoitus pöristä varastossa, niin voin koodata hälytykset, jos varaston lämpötila laskeee kohti nollaa kovilla pakkasilla. Varsin tyytyväinen olen esp8266:n toimintaan, tulen käyttämään noita erinäisissä rakenteluprojekteissa kevään mittaan...

maanantai 26. tammikuuta 2015

Internet shoppailua... tekniikkahärpäkkeitä

Taas olen pikkuisen hankkinut tekniikkapuolen osasia netistä, joita on tarkoitus käyttää talon automaatioprojekteissa. Mitään en ole viimeaikoina ehtinyt koodaamaan, mutta talvilomalla ja viimeistään kesälomalla on tarkoitus laittaa toimintaan. Mutta tässäpä listaa ihmeteltäväksi blogin tekniikkapuolesta kiinnostuneille.

ESP8266 ESP-01

Sormenpään kokoinen wlan mikropiiri, jossa on kaksi GPIO:ta, ja joka maksaa vain 2.5e/kpl.


Esimerkkejä ESP8266:n (ebaystä) käytöstä:
http://vaasa.hacklab.fi/2015/01/12/esp8266-ds18b20-thingspeak-nodemcu/
https://importhack.wordpress.com/2014/11/22/how-to-use-ep8266-esp-01-as-a-sensor-web-client/

Tuon halvan hinnan ansiosta hankin ensiksi tuommoisen viiden kappaleen satsin, ja jos osottautuu toimivaksi, niin sitten pistän vielä lisää tilaukseen. Noita voi ripotella ympäri taloa esim.langattomien lämpömittarien, liikkeentunnistuksen, sähkökytkimen (kaupalliset wlan sähköpistokkeet maksavat yli 50e kappale, niin itse hackaamalla säästää aika paljon rahaa) yms merkeissä. Esimerkkejä tulen postaamaan tässä kevään kuluessa, kunhan pääsen noilla leikkimään.

DS18B20 Temperature Measurement Sensor New Module


DS18B20 (ebay) 1.3e lämpötilasensori, voi yhdistää tuohon edelliseen wlan palikkaan.

ESP8266 ESP-03

Samanlainen kuin ESP-01, mutta tässä versiossa on on 7 GPIO pinniä tuon ESP-01 mallin kahden pinnin sijasta. Hinta 2.7e/kpl, joten ei paha. ESP-03 (ebay)

Vertailu kaikkien ESP mallien välillä: http://l0l.org.uk/2014/12/esp8266-modules-hardware-guide-gotta-catch-em-all/

MCP23017-E/SP DIP28 16-Bit I/O Expander

Bongasin internettilästä, että miten I2C:n yli lisätä GPIO määrää 16:sta kerrannaisilla. 16:sta GPIO:ta maksaa 1.05e, jolloin yhden GPIO:n hinnaksi tulee 6 senttiä. Mikä deali, joten heti pistin tilaukseen 5 kappaletta. Katsotaan, jos näillä tekisi sitten valoreleitten ohjauksen halvalla. 5x MCP23017 (ebay)

Ohessa esimerkki miten ihmiset ovat tuota piiriä kytkeneet. Kolmella piirillä saa jo 48 GPIO:ta, joka riittäisi nykyiseen kytkentätauluuni.

ThermIQ

Tilasin myös piruuttain ThermIQ kortin, koska Danfossin lämpöpumppujen product manageri ei halunnut kertoa, miten heidän pumpuissaan nelipinninen liitin ulkoisille laitteille toimii. Ja sanoin mielessäni "challenge accepted", ja selvitän pinnien salat tässä tämän vuoden aikana kun automaatiota koodailen valmiiksi (http://www.thermiq.net/).

Danfossin oma ulkoinen online laite on törkeän hintainen (800+e) ja jonka webbisivuilla on vielä vuosimaksukin. Aika kusetusta, jos sarjaliittimen osat itse tehtynä on kymmenen euron pintaan. Mielummin rakennan kaapelin itse tai käytän ThermIQ moduulia, joka maksaa murto-osan Danfossiin omaan verrattuna.