Samaan aikaan noloa ja onnistumista.
Ostin UNI-T UT161D-yleismittarin, koska CoPilot-suositteli, että kyseinen on USB-liitännäinen ja Linux-yhteensopiva.
Ostin sen, ja rupesin tunkkaamaan sitä Ubuntuun. AI kertoi, että sen pitäisi näkyä virtuaalisena tty-porttina tai sinihampaalla.
No, eihän se näkynyt kumpanakaan. Kun valittelin sitä CoPilotille, niin lopuksi se väitti, että USB-ominaisuutta ei saa toimimaan ollenkaan Linukassa juuri tällä UNI-T:n tekemällä mallilla.
Vaihdoin taktiikkaa, ja kerroin yrittäväni tehdä ajuria tälle mittarille, mutta ei ole juurikaan kokemusta USB-laitteiden ohjaimien tekemisestä.
Jossain vaiheessa se ehdotti, että asenna Windowsiin WireShark, ja ota sen avulla USB:dumppi mittarin liikenteestä. En ollut koskaan sellaista tehnyt, mutta yritä ja erehdy menetelmällä sain aikaiseksi dumpin, jossa oli mittarin keskustelua Windows-ohjelman kanssa.
Asensin myös saman linukkaan, ja pystyin lukemaan ko. dumppia linukankin puolella. Ensimmäisessä dumpissa oli liian paljon informaatiota, mutta jo kolmas dumppi antoi riittävän pienen otoksen, jossa kuitenkin oli mittariin lähetettävää dataa.
Sen avulla sain kuitenkin tiedoksi, millä käskyllä saa tietopyynnön lähettää mittarille, jotta se suostuisi lähettämään takaisin tietoa mittarin arvoista.
Muutama päivä meni siihen, että sain riittävästi dataa, siihen, että ohjelmani antaisi jotakin järkevää tietoa takaisin päin.
Se, mikä tekee siitä nolon, on, että kyseiseen mittariin löytyy(, joka saattaa myös toimia, ja jossa on vähemmän bugeja), linux-projekti. Eilen tutustuin ko. projektiin vähän tarkemmin, ja sen tietorakenteet näyttää jonkin verran tutuilta, mutta siinä on myös aika paljon sellaista, mitä itse en ole saanut mittarista selville. Vaikka minun ohjelmani on yksinkertaisempi, ja toimii vain UT161D-mittarissa, niin julkaisen sen täällä. Julkaisen, koska sitä on yksinkertaisempi käyttää ja on paketiltaan pienempi.
Se toimii sekä päätteeltä, että python3-kirjastona. Julkaisen sen GPL2-lisenssillä.
Noloahan siitä tekee sen, että löytyy projekti, joka ilmeisesti toimii myös minun mittarissani:
https://github.com/thomasf/uni-trend-ut61dMinun projektini on liitteenä. Se jäänee kuriositeetiksi, vaikka toiminee sekä Ubuntu-varianteissa että Debianissa. Lisäksi se on suhteelli yksinkertainen toteutus. Koska se toimii Debianissa, niin se toiminee myös Raspberry Pi:ssä.
Asennus on yksinkertainen:
Tämän siis pitäisi toimia Debian-pohjaisissa kohtuullisen uusissa jakelupaketeissa.
tar -xvf UT161D.tar.xz
cd UT161D
sudo ./install
./noSudoInstalls.sh
Asennuksen jälkeen testiohjelman pitäisi toimia seuraavan skriptin suorituksella:
./runTestPythonProgram.sh
Liitteenä lähdekoodi- + asennusskriptipaketti.
Edit -
https://github.com/thomasf/uni-trend-ut61d - projekti ei näyttäisi kuitenkaan toimivan suoraan omassa mittarissani, joten oma ohjelmani ei taida olla täysin turha softa.