sunnuntai 20. elokuuta 2017

Commodore64 DIY: LumaFix64

Pikkuisen olen harrastellut kolvailua taas. Tälläkertaa vuorossa kuusnepasta ulostulevan kuvan parannusmokkula nimeltään LumaFix64.

Lemon64 foorumilla on aiheesta juttua: "C64 video output: getting rid of vertical lines" ja tuon pohjalta e5frog-käyttäjä suunnitteli piirilevyn, joka tuota ongelmaa korjaa.

Lisää aiheesta löytyy esim seuraavasta arvostelusta: "LumaFix64: Commodore 64 with less stripes"

Joten pistin gerber panelointisoftan tulille, ja seuraavanlaisia levyjä taas kiinanmaalta tilaukseen:

Ja taas perinteinen kuukausi odottelua kunnes osat rupesi tipahtelemaan postissa...

Tuossa kiinnittelen piirilevyä jo yhteen koneeseen, ja tässä vähän ennen ja jälkeen kuvia:

Kun piirilevyn pistää kiinni, niin odotettavissa on epäselvä kuva ennenkuin ruuveja säätää kohdillee, joten ekassa kuvassa ennen säätöä, ja sitten säädön jälkeen. Kuva parani huomattavasti ja pystyraidat väheni huomattavasti vaikka kameran kuvista se ei pakosti kokonaan välity.

lauantai 12. elokuuta 2017

Commodore64 DIY: 4-player adapteri

Oli maailmalla vähän heikosti saatavilla kuusnepan nelinpeliadapteria, joten päätin tehdä semmoisen sitten itse. Ekana piirsin Eaglellä piirilevyn. Laitteen käsin piirretyt rakennusohjeet on valmistajalla jaossa.

Samoin löytyi https://markuskunn.wordpress.com/2012/10/01/four-player-adapter-cga-for-commodore-64/

Ei tarvinnut muuta kuin tavata toi auki ja piirtää se omaksi piirilevyksi. Markuksen wikisivulla oli vinkki myös reset napista, joten lisäsin senkin tohon levylle mukaan. Sitten kuukauden verran odottelua, että tilatut piirilevyt saapuu kiinasta (30 kipaletta, joten minulla on näitä muutama ylimääräinenkin rakentelun alla).

Sitten nelisenkymmentä versiota piirtelin ja printtailin 3D kotelosta, kunnes olin tyytyväinen lopputulokseen. Kotelon pohjassa vielä hexaruuvituet jolloin kotelo on tukevasti pöytää vasten. Kun maailmalla yleisesti myynnissä olevissa on se ongelma, että ne heiluvat vapaasti. Samoin printtailin vähän eri väreillä (itse tykkäsin valkoisesta ja mustasta eniten).

Ja tässä sitten linkki listaan peleistä joita toi adapteri ainakin tukee. Viimeisessä kuvassa näkyy myös IRQHack64 jossa on microsd korttipaikka. jolla voi ladata nopeasti ajoon .prg ja .crt tiedostoja. Pikaisesti testailin jo tossa Bomberlandia ja se tuntui toimivan kivasti. http://www.protovision-online.com/hardw/4_player.php?language=en

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.