tiistai 4. syyskuuta 2018

Moodmetric -sormus: ensivaikutelmat

Sain pomolta testattavaksi Moodmetric -nimisen älysormuksen. En tiennyt sormuksesta mitään etukäteen. Sen verran tiesin että joku älysormus sieltä varmaaan on tulossa, koska pomo kysyi sormen ympärysmittaa. Yhtenä kauniina aamuna töihin tullessa näppiksen päällä oli sitten ruskea paksusta pahvista tehty pussi jossa oli koristeellinen sulkijatarra. Kun pussista paljastui kevyt, pieni ruskea pahvikotelo, viimeistään siinä vaiheessa arvasin että täällä on nyt se sormus.


Sormus koostuu kahdesta johtavasta rinkulasta joiden välillä on muovieriste, sekä kylpyammeen mallisesta mokkulasta, joka on saman kokoinen ja pahasti saman näköinenkin kuin pienimmät Bluetooth-korvanapit. Laitteen päällä on led-valo joka palaa ladattaessa ja toisessa päässä micro-USB -liitin lataamiseen.

Ensivaikutelmassa ei ollut hurraamista.
1: Sormus oli liian pieni oikean käden keskisormeen johon sitä ajattelin, ja jonka ympärysmitan toimitin
2: Tämä on täysin subjektiivinen mielipide, mutta IMHO ”sormus” on ruma ja kömpelö
3. Sormuksesta sanotaan että se ei ole vedenpitävä, ainoastaan roiskeveden pitävä. Tämä oli pettymys. Pitäisikö sormus irrottaa kun pesee kädet? Hankalaksi menee...
4. Käyttöliittymä vaikuttaa puolivalmiilta. Mobiilisovellus ei tarjoa mitään selitystä tuolle salaperäiselle MM-lukemalle, kalibrointinappi/teksti ei reagoi mitenkään, appis tarjoaa kirjautumisen pilveen mutta ei lainkaan rekisteröitymistä, yms.

Kuriositeetti: Moodmetricin kotisivu on www.moodmetric.com. Jos erehtyy laittamaan s-kirjaimen perään, eli www.moodmetrics.com, selain edelleenohjaa jonkun Dr. Majeresin sivulle "Welcome to modern behavioral therapy". Hämmentävää :-)

Mutta se oli siis ensivaikutelma. Seuraavana päivänä Moodmetriciltä laitettiin viestiä perään ja kyseltiin miten käyttöönotto on sujunut. Annoin tietenkin rehellisen palautteen saamani ensivaikutelman pohjalta. Sain ystävällisen vastauksen jossa seliteltiin kommentoimiani asioita. Pisteet asiakaspalvelulle. Annetaan Moodmetricille mahdollisuus!

Firman kotisivulla on seikkaperäinen artikkeli siitä miten Moodmetric toimii, mitä se mittaa, mitä MM-indeksistä voi päätellä jne. Asia on läpeensä mielenkiintoista ihmiselle, joka on kiinnostunut biosignaalien mittaamisesta ja stressinhallinnasta. Sivustolla olevien artikkelien perusteella tämä pikkuruinen laite todellakin rekisteröi ihmisen stressitasoa. Mittaus perustuu ihon sähkönjohtavuuteen ja sen muutoksiin. Pitkäaikainen stressi on yhteydessä kohonneisiin sairastumisriskeihin yms. joten hyvinvoinnistaan huolta voi saada Moodmetricin avulla palautetta elimistönsä kuormituksesta.


Suora lainaus: "Hetkelliset mittausarvot eivät ole tärkeitä pitkän tähtäimen stressinhallinnassa. Sekä korkeat että matalat vireystasot kuuluvat jokaiseen päivään. Pitkällä ajanjaksolla tärkeintä on tasapaino. Moodmetric-sovellus tarjoaa reaaliaikanäkymän sekä päiväkirjan ja analytiikkaa stressinhallinnan tueksi. Tärkeintä on kuitenkin seurata yhtä lukua: vuorokausikeskiarvo kertoo kuinka hyvin autonomisen hermoston eri puolet ovat tasapainossa. (Lue lisää Moodmetric-indeksistä sekä autonomisesta hermostosta artikkelisarjastamme.) Jos lukema ylittää reilusti arvon 50, on kuormitus suurempaa kuin palautuminen. Noin 50 kertoo normaalista tilanteesta: päivän ja yön aikainen lepo on riittävää verrattuna koettuun positiiviseen ja negatiiviseen stressiin. Merkittävän alhaiset vuorokausilukemat ovat harvinaisempia. Ne saattavat viestiä alakulosta tai masennuksesta."

Saapa nähdä mitä sormus saa minusta irti. Täytyy laittaa joidenkin viikkojen päästä uutta postausta ja raportoida havaintoja.

Tasapuolisuuden vuoksi tässä vielä Moodmetricin toimitusjohtajan (!) kanssa käydyn keskustelun pohjalta selitykset huonolle ensivaikutelmalle:
1. Sormusta on viittä kokoa ja minulle toimitettiin niistä suurin, joka on hivenen pienempi kuin antamani ympärysmitta. Ok, aina ei voi voittaa :-) Pakko mainita kuitenkin että sormusta on tosi vaikea saada pois vasemmasta etusormesta esim.urheilun jälkeen.
2. Sormuksesta on myös yhteistyössä Kalevala Korun kanssa tehtyjä kauniimpia versioita. Minulle oli tilattu karumpi "työterveyshoitajaversio" jonka ei ole tarkoituskaan muistuttaa korua. Tämä menee siis pomon piikkiin...
3. Käsien pesussa sormus saa onneksi olla kädessä, koska elektroniikka on käsitelty vedenpitäväksi, mutta "Olemme pitäneet tuon saatetekstin, sillä sormuksen jäädessä hyvin märäksi, mittaus näyttää jonkin aikaa väärin." Saunaan, suihkuun ja uimaan mennessä sormus pitää valitettavasti irrottaa ettei se vahingoitu.
4. Mobiiliappiksen puutteista palaute meni läpi ja aikoivat tehdä siihen myös parannuksia.

keskiviikko 4. huhtikuuta 2018

DIY Virtual COM port cable

Sometimes someone has a need for virtual COM port (VCP) cable for USB port. So had I. However, I found no instruction whatsoever from Internet, about how to build such a cable oneself. I had a basic idea what is needed but I had to find the wiring diagrams.

After finding some miscellaneous pieces of information and asking help from here and there, I was  able to successfully construct such a cable. I decided to publish this how-to in my blog, because I may need the instructions later. And maybe You, dear reader, find these instructions useful. Sharing the useful tips is the basic idea of being a hacker, isn't it?

What you need:
  • TTL to USB Serial Converter
  • regular USB-A to micro-B cable
  • some basic electronics workshop stuff, such as soldering iron, pliers, and insulating tape
That's all!
For TTL to USB Serial Converter cable I purchased TTL-232R-3V3, cost was around 20€ from Farnell. I have a drawer full of USB-A to micro-B cables, it's the one which is the most common charging cable for almost any mobile device nowadays, cost is "next to nothing". Indeed if you buy a high-quality cable from brand store, you need to pay more. Some USB cables contain only 2 wires, so they are only for charging. You need to use one that has 4 wires.

Assembling the cable is an easy task for anyone familiar with soldering iron.  First, peel off a bit (like 5cm) of the micro USB cable from about 30cm from the USB-A end. Leave the red wire (Vcc) untouched. Peel the black (or sometimes it's blue) wire (GND). Cut the white and green wires. Now take the USB/Serial converter cable. Solder the black cables together. Finally solder the green to yellow and white to orange. See the illustration below to understand... it may sound more difficult than it is.


Here is an image from regular USB cable pinout for clarification; Data wires can also be blue/green.




So, after making the connections you should have a three-ended cable. One end is micro-USB. That's the one you connect to the "device under test". And you have two USB-A ends, one with Serial Converter inside for Virtual COM port connection, and another USB-A end with just power wires connected, for occasional charging of the device under test. You may need this in your application, or not. For example, you may want to read the data from the device with charging it at the same time. Anyway the VCP cable itself works just fine also without the power connector.


I made two cables at the same run, black/white and black/black. One for me and another for colleague.

Keywords: VCP cable, Virtual COM port cable, USB COM port cable, USB serial cable, FTDI cable, TTL-232R cable, virtual USB COM cable, USB port COM adapter, COM port adapter for USB, VCP adapter, USB-A micro-B VCP cable,

maanantai 18. joulukuuta 2017

KELA-kortin viivakoodin hakkerointi

Pitkästä aikaa tunsin lapsellista ja primitiivistä hakkeroinnin iloa, kun sain "hakkeroitua" KELA-kortin viivakoodin :-) Hakkerietiikalle uskollisena jaan koko tarinan ja ohjeet tässä kaikelle kansalle.

Eräänä iltana lukiota käyvä tyttäreni valitteli minulle että hän on hukannut KELA-korttinsa. Sitä tarvitsee koulun ruokalassa todistaakseen oikeutensa maksuttomaan ruokailuun. Aiemmin viivakoodinlukijalle oli kuulemma voinut näyttää opettajan jakamaa paperilappua johon oli tulostettu joku "yleinen" koodi, mutta viime aikoina ruokalan henkilökunta oli alkanut kyselemään opiskelijoilta KELA-korttia. Luokkakaverin kortin lainaamistakin oli harrastettu, mutta siihenkin ruokalan henkilökunta oli alkanut puuttua, eikä se tuntunut oikein rehelliseltä muutenkaan.


Pikkusiskon korttiakaan tytär ei halunnut lainata, koska se tuntui vielä epärehellisemmältä, eikä hän halunnut ottaa vastuuta siitä jos hukkaa vielä jonkun muunkin kortin kuin omansa. No, todennäköisesti tyttären oma kortti on jossakin hyvääkin paremmassa tallessa kotona, mutta ei oikein jaksa alkaa kääntämään koko taloa ylösalaisin yhden KELA-kortin takia.

Mikä siis neuvoksi? Päätin että tulostan tyttären KELA-kortissa olevan viivakoodin Eurooppalaisen sairaanhoitokortin taakse, joka tyttärelläni sattuu olemaan tallessa. Siinä on samat tiedot viivakoodia ja sairausvakuutustietoja lukuun ottamatta. Sairausvakuutustiedot ovat KELA-kortissa sairaaloita ja farmaseutteja varten. Niistä esim. apteekissa tarkistetaan onko potilaalla tietynlainen lääkärin lausunto joka oikeuttaa tiettyihin lääkekorvauksiin.




KELA-kortin taustapuolella on tosiaan viivakoodi. Ensiksi tarvitsi selvittää mitä tietoa siinä on. KELAN sivuilla kerrotaan, että "Sairausvakuutustiedot sisältävän kortin tunnistaa siitä, että kortin kääntöpuolella on henkilötunnuksen sisältävä viivakoodi ja sen alla merkintä KELA tai FPA." Hyvä. Eli KELAn mukaan viivakoodissa ei pitäisi oleman muuta kuin henkilötunnus.

Viivakoodeja voi luoda ilmaiseksi netissä. Viivakoodin luomiseksi tarvitsee tietää koodin tyyppi, eli millä tavoin data on koodattu viivoiksi. Koodeja on kymmeniä eri tyyppejä erilaisiin tarkoituksiin. Osa viivakoodeista voi sisältää vain numeroita, toiset myös tekstiä ja erikoismerkkejä. Mitä pitempi ja monipuolisempi sisältö viivakoodissa on, sitä monimutkaisempi koodaus. Viivakoodeja on yksiulotteisia ja kaksiulotteisia. Tavallisia viivakoodien tyyppejä, joihin törmää arjessa ovat esimerkiksi kauppojen käyttämät EAN sekä kirjastojen käyttämä ISBN. Junalipuissa on omantyyppisensä kaksiulotteinen viivakoodi eli QR-koodi, samoin lentolipussa. Kun laitat Googlen kuvahakuun "barcode types", saat aavistuksen siitä kuinka valtavasti erilaisia viivakoodityyppejä erilaisiin tarkoituksiin on olemassa.

Selvittääkseni mitä tyyppiä KELA-kortin viivakoodi on, sen luin toisen tyttären KELA-kortista puhelimeni sovelluksella nimeltään QR Profi. On muuten melkoisen kätevä appis, olen käyttänyt sitä töissä laitteiden IMEI-koodien lukemiseen. QR Profi kertoi: KELA-kortin viivakoodi on tyyppiä CODE-39.

Seuraavaksi syötin viivakoodigeneraattorille koodin tyypiksi CODE-39, sisällöksi henkilötunnuksen ja painoin Make Barcode. Tarkastin huolella näyttikö ruudulla oleva koodi samalta kuin kortissa - MELKEIN! Ensi katsomalta koodit näyttivät samoilta mutta loppupäässä oli pieni eroavaisuus. Sitten vain hieromaan optioita... eka yritys tärppäsi; poistin option "includecheck" joka lienee jonkinlainen tarkistusmerkki.




Loppu olikin sitten helppoa eli syötin koodin sisällöksi vanhemman tyttären henkilötunnuksen, loin koodin, talletin sen vektorigrafiikaksi (png), skaalasin sen järkevään kokoon upottamalla kuvan tyhjään word-dokumenttiin ja tulostin sen. Hyvällä lasertulostimella sen olisi saanut pienempään kokoon hyvällä laadulla mutta jätin vähän isommaksi kun mustesuihkari ei pysty mahdottomiin.

Leikkasin koodin paperista ja liimasin sen kontaktimuovin avulla sairaanhoitokortin taakse. Valmis! Pyysin tytärtä kertomaan heti toimiiko viritys koulun ruokalassa. Seuraavana päivänä tuli viesti joka sai iskän naaman virneeseen: toimii :-)



Nälkä kasvaa syödessä: seuraavassa postauksessa hakkeroidaankin sitten ajokortin viivakoodi...
EDIT: Ajokortin viivakoodi on samaa CODE-39 -tyyppiä kuin kelakortissakin, ei tästä sen isompaa postausta saa aikaiseksi. Ajokortin viivakoodille on kyllä vaikeampi keksiä mitään hyötykäyttöä. Kela-kortin viivakoodikaan ei tahdo enää kaikissa apteekeissa kelvata, haluaisivat nähdä itse kortin. Tähän on tosin helppo ratkaisu. Riittää että omat henkkarit on mukana. Sekä alaikäisten että täysi-ikäisten omaisten valtuutuksella voi hoitaa toisten puolesta mitä asiaa tahansa. Suomi.fi -portaalissa puolesta-asiointivaltuutuksen tekeminen on helppoa.

Avainsanat: KELA, kela-kortti, viivakoodi, henkilötunnus, sosiaaliturvatunnus, syntymäaika, eurooppalainen sairaanhoitokortti puolesta-asiointi