keskiviikko 14. kesäkuuta 2017

3D printteri Anet A8 DIY projekti - OSA 1

3D printterin kanssa puuhastelu on ollut viime aikoina mielenkiinnon kohteenani. Ja kun netistä lopulta löytyi suosittu 3D tulostin isolla communityllä sika edullisesti (175e kotiin toimitettuna Saksasta), niin päätin sitten semmoisen itselleni tilata. Anet A8



Tuollainen on siis mainoskuva, paketti tietenkin saapuu palasina, jonka saa itse koota. Eli hieno projekti tekniikkanörtille, kun kootessa oppii kuinka tekniikka toimii, jonka jälkeen tuota on helpompi korjata ja tunata.

Samantien tilasin tuohon lisäksi pari mosfettiä, virtanapin ja muutaman muunkin upgrade palikan.

Tässä hieman kuvia rakentelun vaiheista:

Ensimmäinen testiprintti oli ihan ok, kuution sivujen kirjaimetkin näkyi kivasti.

Oikein tyytyväinen olen toistaiseksi ollut tähän Prusa klooniin. Tulostusjälki on melkein samoissa kuin 700e:n Original Prusa I3ssa. Ja ilmeisti kunhan saan muutaman lisäosan postissa, niin tolla voi jopa saada alkuperästä parempaakin tulostusjälkeä aikaiseksi. Joten lisää postauksia aiheesta on luvassa kunhan upgrade osat saapuu postissa ja ehdin ne asentamaan paikoilleen...

perjantai 19. toukokuuta 2017

Commodore DIY: IRQHack64

Vähän olen taas päässyt kolvailemaan. Tällä kertaa työn alla on 10 kappaleen sarja Commodore 64 custom cartridge kortista nimeltä IRQHack64.

http://www.tepetaklak.com/IRQHack64/

Kortti enabloi .prg ja .crt ohjelmien ja pelien latauksen suoraan microSD kortilta (maximi kokoraja 32GB). Kätevä esim. JiffyDOS:n automaattisen lataukseen:


Hakemistolistan scrollaamiseen käytetään +- kirjaimia, <>:lla siirrytään sivulta toiselle, ja enteri valitsee.

Kytkin napin toiminta:
- alle 500ms lataa irqhack64.prg fileloaderin
- 500-2000ms resetoi laitteen normaali c64 tilaan
- 2000-5000ms pistää nykyisen ajossa olevan softan autostart tilaan, joka käynnistyy kun seuraavan kerran koneen avaa

Tuossa kuva kolvailusession tuotoksesta:

Mukavasti yhdelle gigaselle microsd kortille mahtuu ~30000 prg appista, joiden käynnistys sujuu sutjakasti. Joten ihan onnistunut kolvausprojekti. Kaupalliset SD2IEC laitteet kun maksaa sen yli 40£, niin tuon kortin BOM on murto osan siitä (on tuossa tietenkin prg&crt rajoitus, kun kaupalliset laitteet osaa d64sta jne).

Tuosta vielä loppukevennykseksi jonkun tekemä youtube video jossa IRQHack64sen toiminnallisuutta esitellään.

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.