perjantai 24. marraskuuta 2017

Commodore DIY: Amiga kickstart switcher V2 + DiagROM

Pikkuisena rakennusprojektina päivittelin Amigoihin kickstart switcherit, jotka CTRL-Amiga-Amiga näppäin yhdistelmää pitkää painaen osaa vaihtaa kickstartista toiseen.

Seuraavaa ohjeistusta seurasin aika orjallisesti: https://github.com/keirf/PCB-Projects/wiki/Kickstart-Switcher-v2

Aluksi piti hankkia vähän rautaa tuon toteuttamiseksi (ja odottaa taas kuukauden päivät, että osat saapui).
- 10kpl 27C322
- 10kpl STM32 "Blue Pill" board
- 10kpl hookup wire
- Willem eeprom flasheri + 42pinninen 16bit adapteri 27C322 piireille (löytyi ebaysta 30e kotiin toimitettuna).
- Muut osat multa löytyikin jo hyllystä.

Sitten Blue Pillit flashattiin ohjeiden mukaan ja rimat kolvattiin paikoilleen. Ja sitten Willemin flasherillä pistin 27C322selle sisään 8 yleisintä Amiga kickstarttia (kun BluePillin konsolista voi valita mitkä ottaa käyttöön kolmen kohdejärjestelmän mukaan A500[+] vs A600 vs A2000).


Hauskana yksityiskohtana, noi 27C322:set pitää tyhjentää UV-valoa käyttäen (en ollut aikaisemmin moista operaatiota tehnyt). Ja sitten pikku video kasatun raudan testailusta: CTRL-Amiga-Amiga näppäintä painamalla hypitään neljän eri kickstart version väliltä (1.2 ->1.3 ->2.04 ->3.1).



Samoin lisäsin tuohon vielä imagen uusimmasta Amigan DiagRom:sta. Tuo on varsin kätevä ongelman selvityksiin kun sillä pystyy testaamaan raudan, vaikka olisi levyasemat yms rikkinäisenä. Jo printtaa debuggia sarjaporttiin, jos sattuu tulemaan vastaan niin kuollut kone jossa ei tule kuvaa ruudulle saakka.

Varsin onnistunut projekti kun nyt on maksimaalinen yhteensopivuus kun voi vaihtaa eri kickstarttien välillä ja bonuksena voi vielä diagnosoida mahdollisia rautaongelmia (kun aina sitä saattaa vahingossa jostain huutokaupasta ostaa lisää koneita)... onneksi noita tuli rakenneltua jokunen ylimääräinenkin.

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ää kohdilleen, 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.

torstai 8. joulukuuta 2016

Hikvision kameroiden email hälyt

Minulla on Hikvisionin kamerat tuupanneet liiketunnustuksista backup kuvat dummy gmail tilille, mutta tänä kesänä google disabloi SMTP over SSL tuen ja sallii vain TLS:aa tukevat mail clientit. Joka on 'pikkuinen ongelma', kun Hikvisionin nykyiset firmikset tukee vain SSL:aan saakka salausta.

Tähän ongelmaan sitten rupesin etsimään ratkaisua. Ja lopulta päätin ratkaista ongelman docker kontilla, eli asensin sisäverkkoon docker-smtp-relay palvelun, joka sallii salaamattoman postin lähetyksen paikallisesti porttiin 26 ja relay vaan uudelleen ohjaa sen TLS:n yli googlen palvelimelle.

# git clone https://github.com/namshi/docker-smtp.git
# cd docker-smtp
# docker build -t hikvision/smtp .
# docker run -d --name smtp -p "26:25" -e RELAY_NETWORKS=:192.168.0.0/24 -e GMAIL_USER=username@gmail.com -e GMAIL_PASSWORD=password hikvision/smtp


Ja - dadaa - nyt Hikvision kameroiden email hälyt menee iloisesti gmail serverille saakka. Problem solved.

maanantai 28. marraskuuta 2016

Commodore DIY: The Final Cartridge III+

Olen tässä herätellyt henkiin vanhoja Commodore koneitani, ja samalla bongasin alan foorumilta FCIII+ rakenteluohjeen (http://www.lemon64.com/forum/viewtopic.php?t=54291). Ajattelin, että tuostahan saisi mukavan rekentelukohteen itselleni, ja tuntuu noille Final Cartridge III+:lle olevan vähän kysyntääkin, niin samalla voisi tehdä muutaman extran myytäväksikin.

Osien ja komponenttien tilaus kesti aikansa, kun tilasin sieltä mistä halvimmalla saa. Eli HongKong/Kiina-akselilta tuli suurin osan EPROM ja IC piireistä. PCB emolevyt tilasin http://dirtypcbs.com/:sta, kun posteineen yhden PCB:n hinnaksi tuli alle 3$. Yli kuukauden sai venailla osien saapumista, joten ei ole kiireisen miehen projekti, kun osia saa metsästää monesta eri paikasta. Valmis kasaus KIT, jossa on kaikki osat samassa pussissa, olisi tietenkin helpompi ja nopeampi tapa. Siksi minulla on semmoisiakin tarjolla, niille jotka haluavat kolvata itse ja näin säästää hieman rahaa ja aikaa (kun ei tarvi itse osia metsästää). Niin ja hankin myös EPROM flasherin, joten kaikki W27C020:t on jo flashattu uusimmalla FCIII+ v4.1 binäärillä.


Tässä muutama kuva kun kolvailen ekaa testikappaletta:


Toiseen testisatsiin parantelin vähän emolevyn dokumentaatiota, niin noita on helpompi kasata, alkuperäisessä levyssä ei esim. lukenut ledin +- napoja ja monia muitakaan arvoja. Joten vähän lisäilin niitä ja nimesin levyn Paskasoft Productions Blue Editioniksi (joka siis pohjautuu uusimpaan e5frog 1.3.4 versioon):

Lopputulos toimii loistavasti, muutaman punaisen ja sinisen levyn jo kolvasin valmiiksi, ja ne toimii C64ssa vallan loistavasti. Samalla pistin ylimääräiset myyntiin huuto.net:iin ja tietenkin niitä saa myös tämän blogin kautta. Hyllyssä on nyt osat kymmeneen punaiseen ja kymmeneen siniseen levyyn. Ja on minulla myös työn alla koteloituja versioita. Joten on hyvä aika herätellä taas henkiin kuusnepat, jotka kaapissä pölyttyy :-)