soodan sivut

arkisto

214 kirjotelmaa.

avainsanat

Jos elinympäristöään ei voi kontrolloida, niin tulee väistämättä onnettomaksi ja kurjuuden kurimus pienen ihmisen vie. Itse en tiettyyn rajaan asti ollenkaan hyväksy sitä, etteikö muka voisi muokata kaikkea sopivaksi, ainakaan teoriassa. Pään sisäinen sisubufferi tietenkin tyhjenee välillä, mutta kun jokin asia kiusaa tarpeeksi, niin ei sille voi muuta tehdä kuin hakkeroida kunnolliseksi. Käytin pari bufferillista erääseen sarastusvaloon, joka kyllä sarastaa ihan kivasti, mutta jonka nukkumaanmenovalo kaipaa säätövaraa. Sisältä löytyy kuitenkin ihan tavallista piirilevyä ja siltä jopa merkittyjä testpointteja.

Käydään pidemmittä puheitta lampun kimppuun. Päässä jäi vellomaan Disobeyn häkkäystunnelmasta ihan tietynlainen mieliala seuraavana viikonloppuna tätä kirjoittaessa (ja kylläpä tunkkaaminen venähti ja viikonloppuja vierähtänyt). Se säästettäköön tuonne kirjoituksen loppuun erikseen.

Herätys-unetusvalo

Sarastusvalon auringonlaskusimulaation pituuden voi säätää muutamasta vaihtoehdosta nollan (häh?) ja 60 minuutin välillä. Alussa valo on kellertävän valkoinen, muttei suinkaan täysillä, ja ajan kuluessa himmenemisen lisäksi sen väri muuttuu punertavammaksi. Nukkumaanmenorituaaliksini on muodostunut kirjan lueskeleminen aiemmin aavistuksen liian kirkkaan esl:n valossa, ja tälläinen hiljakseen hämärtyvä valo on illalle selvästi mukavampi puhumattakaan siitä, että aamun sarastaessa lampusta herääminen on helpompaa. Valo hämärtyy kuitenkin sellaista vauhtia, että aika pian kirjasta ei enää näe lukea. Tässä vaiheessa valo kumminkin jatkaa himmenemistä vielä pitkään ja näkökentässä silmäluomien läpi möllöttävä himmeäkin valopallo häiritsee nukahtamista, eli se pitäisi kuitenkin sammuttaa käsin. Sama ongelma korostuu, jos lukuaikaa pidentää säätämällä pidemmän auringonlaskusimulaation.

Disobeyn badgen reverse-engineerailu sai ajattelemaan, että eiköhän tuossa lampussakin softaa ole ja että saisikohan sitä vaikka binääripätsättyä ihan helposti. Lamppu siis auki ja ohjauselektroniikkaa etsimään. (Probailin logiikka-analysaattorilla badgen kyljessä olevia signaaleja välillä kotona käydessä, mihin oli toki paikan päällä kunnon työkalukin. Firmiksenhän tuollaisesta mikrokontrollerista dumppaa helposti, ja tutkailtiin huviksi Tynkkysen kanssa sitä messevän kokoista binääriä joka vehkeestä irtosi.)

Joululahjaksi saatu herätysvalo on tarkalleen Philips HF3520/01, yksi sellaisista joita ne ja nää toimittajat ovat viime aikoina testanneet. Tekniikan Maailma kirjoitti tästäkin syyskuussa ja Hesari tuli perässä kahden muunkin kanssa marraskuussa fiilispohjalta. Vaikka tuosta voisi huomauttaa muutamasta muustakin asiasta (mm. käyttöliittymästä), ei käsitellä tässä muuta kuin tuo illan auringonlaskusimulaatio, jota ohjekirja kutsuu nukahtamistoiminnoksi.

Valolaitteen pohjassa on ruuvi, jonka avaamalla paljastuu luukun alta pala piirilevyä. Erotin avatun luukun läpi tekstit "48-01h351030001", "hawaii/sparrow2 main pcb 2013-12-16" sekä tekstejä testpointeista! Niihin piuhat kiinni ja tutkimaan. (Tuota jälkimmäistä tekstiä kun googlasin, niin hakukonejätti arvasi epäilyttävästi listan massanuuskimisista. Mietin jo hetken, että onkohan tämä oikeasti joku Sparrow-niminen IoT-laite, jolla jokin kolmikirjaiminen virasto kuuntelee salaa. Toivottavasti huhuajattelua.)

Piuhajärjestys itselle muistiin ja samalla padien merkinnät tiedoksi:

  1. WUL_5V
  2. SCL
  3. SDA
  4. RESET
  5. DBG
  6. MCU_3v3
  7. GND

Mutta äh, eipä näistä mitään signaalia irtoa, mikä ei oikeastaan yllätä kun tuotantovehkeistä lienee debuggiominaisuudet kytketty pois. I2C-väylälle kuuluvat SCL- ja SDA-nastat menevät heti bootin jälkeen nollaan ulkoisillakin pull-upeilla, eli eipä väylälle saa kirjoitettuakaan lampun suuntaan. DBG ei viestitä mitään lampusta ulos. Reset-linja sentään vaikuttaa toimivan. Prossukin on piilossa, päällä sellainen musta möykky piirilevyllä mitä yleensä löytyy lähinnä massatuotetusta halpissaastasta, tai muuta en tuosta luukun kautta ainakaan erottanut. Möykky on vielä erillisellä piirilevynpalalla, joka on juotettu pääpiirilevyyn kiinni. Ties vaikka olisi joku geneerinen kelloradio jota muuallakin käytettäisiin.

No, luukusta ei paljoa löydy. Oispa edes numerot 4, 8, 15, 16, 23 ja 42. Laitteen muovikuori on kasattu siten, että niks naks pari läpinäkyvää kansikalikkaa kiinnittyy klipseihin. Etuosan säännöllisen pyöreä kansi irtoaa melko helposti spudgaamalla monesta kohdasta samanaikaisesti, mutta takaosa on tiukemmassa.

Tutkin silti

Lojui pöydällä ja lattialla, nyt taas kasattu, saa nähdä josko joskus plänttään oman mikrokontrollerin tuonne uusiksi aivoiksi, mutta teinpä edes jotain tuottavaa. Mittasin huvikseni lampun kirkkauden muutoksen videokameralla. Kamera tietenkin lätkäisee päälle jonkun gammatyyppisen käppyrän sekä muuta prosessointia mikä pitäisi ensin kompensoida pois jos aikoisi mitata sensorin näkemää fotonimäärää lineaarisessa mitassa.

No videomittaukset talteen ja prosessoimaan. Kyseessä ei oikeastaan ollut erityinen videokamera vaan videoonkin kykenevä järjestelmäkamera. Tässä pari stilliä siitä fullhd 30fps videomateriaalista esimerkiksi; vaakaraidat ja kirkkauden vaihtelu johtuvat lampun PWM:stä ja sulkimen toiminnasta (enpä muista mikä valotusaika oli käytössä, mutta taisi olla aika hidas):

Mitään varsinaista tavoitetta tässä hommassa ei ollut, joten pyörittelin pikseleitä ihan vain nähdäkseni, mitä sieltä tulee. Kameraa en tajunnut ruuvata pois automaattivalkotasapainotilasta, eli värit ovat mitä algoritmi on arvannut. Korjasin sentään kameran herkkyyttä ja aukkoa aina välillä, ja säädin muun ympäristön mahdollisimman pimeäksi.

Kohinan vähentämiseksi keskiarvoistetaan useampi pikseli (16x16 alue), ja ylipäätään parhaan oloinen ympäristö on kuvan keskellä ja vähän ylälaidassa (x 1000, y 300) sekä samalla skaalataan kuva yhdeksi pikseliksi ja tuutataan raakaformaattia ulos, jotta tuloksen voi lukea ilman videoformaattien arpomista ja jätetään ääni pois:

for i in MVI_*.MOV; do
    ffmpeg -i $i -filter:v "crop=16:16:1000:300,scale=1:1" \
        -pix_fmt rgb0 -f rawvideo -an $i.raw
done

Nyt raakadatoja voi tarkastella lähemmin. Päädyin itseasiassa liimaamaan kahden eri kuvaussession monet tiedostot kahteen; videota tuli useita max neljän gigatavun tiedostoja, koska Canon. Onneksi kamera aloittaa uuteen tallennuksen heti perään kun tiedosto täyttyy, koska Magic Lantern. Toinen mittaus (b) on pidempi, mutta se jäi kesken jostain syystä enkä heti tajunnut jatkaa - oiskohan vaikka kameran akku loppunut, en muista enää.

cat MVI_202[456].MOV.raw > a.raw
cat MVI_20{27,28,29,30,31}.MOV.raw > b.raw

No, enpä tiedäkään mitä tällä datalla tekisi. Antaa jäädä muhimaan aivokoppaan josko tulisi inspiraatio. Epäjatkuvuuskohdat johtuvat siitä, että ruuvasin kameran herkkyysasetuksia kun histogrammi alkoi näyttää tummalta, jottei mittaus hukkuisi kohinaan. Kohinalta näyttävä paksuus käppyrässä johtuu siitä, että kun PWM aiheuttaa niitä vaeltavia vaakaraitoja kirkkauteen, datassa on noin 17 framen jaksoinen aaltoilu, tässä zoomattuna:

Kiinnostavasti nähdään, että kun pelkästään ISO-herkkyyslukua eli vahvistuskerrointa kuvantamispipelinen alkuvaiheissa säätää ja sitten skaalaa mittausarvon täsmäämään tuota käppyrää varten, eri värikanavien käppyrät eivät täsmää ollenkaan. Vihreä on suunnilleen oikein, mutta punainen ja sininen hyppäävät ihan pieleen (tosin sinistä on hyvin niukasti muutenkin); väittäisin flunssapöpperössäni, että johtuu valkotasapainon säädöstä, joka on kertolasku jossain kohtaa tätä epälineaarista pipelineä. Onkohan kamerassa lisäksi valkotasapainoprofiilit eri herkkyysluvuille? Joka tapauksessa nämä voisi kompensoida käppyrästä jos viitsisi; Magic Lanternilla itseasiassa voi säätää ja lukea noita skaala-arvoja käsinkin, kun kamerasta on säätänyt WB:n tilaan "Custom". Esimerkiksi otin kuvan valkoisesta seinästä 4000K loisteputken valossa, ja ML sanoo R 1.659, G 1.000, B 2.426. Tiedettä tehdessä nämä olisi hyvä ruuvata kaikki ykköseen.

Joopa joo

Toistaiseksi tyydyn valon omiin ominaisuuksiin, enkä edes viitsinyt availla hökötystä kokonaan, sillä ihan hirveä effort tälläisen pikkujutun vuoksi. Etupinnan kirkas suojamuovi lähti irti klipsiuraliitoksistaan pienellä vaivalla (eikä lopulta paljastanut altansa mitään avattavaa), mutta kotelon takaosaa ympäröivä vastaava on niin tiukasti kiinni, että motivaatiota syöttävä uteliaisuus muuttuu modernin kulutuselektroniikan kiroiluksi.

Piirsin kumminkin lohdutukseksi käppyrän värin muuttumisesta nukahtamistilan alkuosassa. Illan punaruskea väri on ihan miellyttävä.

Purkkaliimakoodi joka lukee raakadatat ja arpoo niistä gnuplotille sekä väriliukuun menevät formaatit on processphilipslamp.py. Inputiksi aiemmin mainitut ffmpeg-pureskelut.

Ylimääräinen vaiva lampun sammuttamiseksi yhdestä nappulasta ei ole merkittävä. Tunniksi kun konffaa himmennyksen kestämään, niin ehkä puolen tunnin päästä kirkkaus alkaa olla liian heikko lukemiseen. Siinä voi hapuilla sammutuskytkintä ja lyödä kirjan kiinni. Ylälaidassa sijaitsevia kytkimiä ei näe jos lamppu on sängynreunaa korkeammalla. Piirsin avuksi tussilla merkinnät tiettyjen nappien kohdille.

Tässä olisi tavallaan saumaa jollekin iot-hömppälaitteelle, johon voisi konffata valon pimenemiskäyrän vaikka kännykässä pyörivällä softalla langattomasti. Ihan liiallisuuksiin vedetty säätömahdollisuus saattaisi vedotakin joihinkin pöljiin ja tekniikkahöpsöihin. Tai siis ei sen iot tarvitsisi olla, vaan suora liitäntä kännykkään riittäisi. Toisaalta kotiautomaatiokokonaisuuteen liitettävä sarastusvalo kelpaisi. Koko kämpän valot voisivat syttyä aamulla hiljalleen ja tavallinen herätyskello voisi olla samassa synkassa.

DIY-sarastusvaloahan mietin jo 2010 ja edelleen maistuisi tehdä kämppään kaikenlaista radiolla säädettävää. Kuluttajakaupasta saatavien ohjausjärjestelmien laatu on vähän niin ja näin toiminnallisuuden, luotettavuuden ja yksityisyyden suhteen. Toisaalta niin kauan kun neliöitä on kämpässä tälläinen alle 50, niin maailmassa ja kotonakin on paljon isompia hommia ratkaistavaksi kuin joku lamppuautomaatio.

Sitä häkkäyshömppää

Miksei kaikkea voisi säätää mielensä mukaan? Ymmärrän, että ehkei Taavi Tavallishenkilöä voisi vähempää kiinnostaa asioihin itse vaikuttaminen ja korkeintaan ehkä tyytyy joskus murjottamaan kun ns. kaikki on paskaa paitsi kusi. Jos tämän hököttimen voisi viedä takaisin kauppaan ja saada mukaansa sellaisen, joka mieltä miellyttää, niin hyvä; yleensä sitä juuri sopivaa ei vain ole olemassakaan. Ehkä tässä harmittaa se, että ominaisuus olisi vaan softapäivitys.

Just äsken nakersin katonrajasta roikkumaan kasvatusvaloja chileille. Ihan joka yksityiskohtaa ei toki voi itse säätää, mutta yleensä minkä vaan pienremontin värkkääminen on ihan tehtävissä. Piti vaan porata muutama ruuvireikä seinään. Värkkäämisestä vieläpä tulee hyvä mieli. (Näistä kasvatusvaloista naputtelen muistiinpanot pian.)

Joissain USB-johdoissani on esimerkiksi liittimien rungoissa valettu USB-logo. Johdoissahan kuuluu olla logo päällipuolella ja joskus valmistajan logo löytyy alapuolelta. Kaksi usb-asiaa saa helposti toisiinsa kun täsmää logot keskenään. Harmi vaan, että johdon valmistaja voi olla ihan pelle ja tehnyt logon kevyenä kohokuviona värjäämättä sitä, jolloin se ei erotu lainkaan. Tussilla saa johdosta kertaluokkaa käytettävämmän parissa sekunnissa.

Tälläisenkin valaisimen voi pilata sillä, että joku yksi ominaisuus ei itselle ihan sovi. Yksinkertaisemmassa esineessä olisi vähemmän pieleen menevää, mutta aina joku nurkka on melkein eikä just sopiva ja jos lamppu olisi yksinkertaisempi, niin siitä varmaan puuttuisi tuo iltasarastustoiminto kokonaan ja tällöin tarvittaisiin kaksi laitetta. Äh.

1 kommentti

Oma kommenttisi

Mielipide tämän sivun asiasta? Kirjoita toki. Älä raapusta kuitenkaan ihan asiattomia juttuja.

Jos on yksityisempää asiaa, tarkkaa kysyttävää tai aihetta pidemmälle keskustelulle, käytä yhteydenottolomaketta kommentoinnin sijaan.

Hölmöt kommentit saatetaan moderoida pois jälkikäteen.

Nimimerkki:

Spammibottiesto: Mikä on kahden ja nollan erotus? (vastaus numeroina)