NodeMCU ja DS18B20
NodeMCU on pienikokoinen piirilevy, jonka sydämenä toimii ESP8266-piiri. ESP8266 on erittäin edullinen WLAN-yhteyden muodostamiseen kykenevä piiri, ja siten suosittu ratkaisu IoT-rakenteluissa. Levylle on laitettu kaikki ESP8266:n tarvitsemat oheiskomponentit sekä USB-serial-muunnin jolla ohjelmointi onnistuu suoraan USB-kaapelilla. NodeMCU:lle löytyy tuki Arduino-IDE:stä, joten sen ohjelmointi on sen avulla melko helppoa. Laite lähettää lämpötilatiedot palvelimen tietokantaan, josta tiedot voidaan hakea käppyröiden piirtoa varten.




Ei kommentteja aiheeseen "NodeMCU ja DS18B20"
Nokia Lumia 720 näyttömoduulin vaihto
Luuri totteli painovoimaa ja sen seurauksena rikkoutui lasi. Tähän malliin ei pelkkää lasia pysty vaihtamaan, joten vaihdettava on koko näyttömoduuli, jossa on näyttö, kosketuspaneeli ja suojalasi.





Ei kommentteja aiheeseen "Nokia Lumia 720 näyttömoduulin vaihto"
Korruptoituneen muistikortin korjaus
Sähkökatkon jälkeen raspi ei enää bootannut itseään pystyyn, vaan käynnistys tyssäsi kun muistikorttia piti lukea: PANIC: VFS: Unable to mount root fs on unknown-block(179,2)
. Tästä kuitenkin saattaa vielä selvitä seuraavalla konstilla. Tunge muistikortti johonkin unix-käyttöjärjestelmällä varustettuun koneeseen. Itse suoritin operaation jollain vanhalla Ubuntun live-cd:llä. Muistikortti näkyy dev-kansiossa mmcblk-alkuisina niminä. Aja levyn tarkistus fsck-komennolla (Ubuntulla tarvitaan sudo-komento jos halutaan ajaa komento root-oikeuksilla) sudo fsck /dev/mmcblk0p2
ja tarkastus päättyy ainakin omassa tapauksessani johonkin virheilmoitukseen. Kun saman komennon ajaa toisen kerran, alkaa toivottavasti kyselyt että yritetäänkö korjata. Ja jos kaikki menee kuten elokuvissa kohta on taas muistikortti käytettävissä ja tiedotkin vielä tallella.

Päivitys: Myöhemmin sama muistikortti sekosi uudemman kerran, enkä sille enää keksinyt toimivaa purkkaviritystä. Itselläni on kaksi muistikorttia louhahtanut käyttökelvottomaksi raspia käytettäessä, molemmat olivat halpiskortteja Kingstonilta. Eli jos haluaa huoletonta käyttöä niin kannattanee vähän panostaa muistikorttiin.
Ei kommentteja aiheeseen "Korruptoituneen muistikortin korjaus"
AVR-kello
ATmega328P-prosessorin ympärille rakennettu kello, jonka näyttönä on 7-segmenttinäyttö, joka on otettu hyötykäyttöön vanhasta hajonneesta digiboksista. Projektille on teetetty piirilevy joka on tilattu kiinanmaalta, pienellä levylle ei paljon hintaa kertynyt. Piirilevyn suunnittelussa on käytetty ilmaista KiCad-ohjelmaa. Se osoittautui melko helppokäyttöiseksi, sillä minkäänlaista käyttökokemusta en aiemmin ohjelmasta omannut, mutta niin vain pienellä harjoittelulla sen avulla levyt syntyi ja gerber-tiedostot lähti valmistajalle. Pieniä suunniteluvirheitä tuli muutama, kuten virransyötön suotokondensaattorit loistavat poissaolollaan, maatasojen läpärit unohtui sekä osasijoittelu on paikoin vähän ahdas. Mutta näistä otetaan ehkä opiksi ja seuraavalla kerralla tulee sitten priimaa kertaheitolla (ja varmasti).






Ei kommentteja aiheeseen "AVR-kello"
Lämpötila langattomasti Raspberry Pi:lle
Kahden Atmelin mikroprosessorin avulla saadaan lämpötila tietokantaan ja sitä kautta www-sivuille. Mikroprosessoreissa on kiinni 2,4 GHz:n taajuudella toimivat modulit, joilla saadaan langattomasti lämpötilatieto siirrettyä. Kommunikointi raspin ja Atmelin prosessorin välillä on hoidettu sarjaliikenteellä. Pythonilla tehty skriptinpätkä lähettää ensin pulssin yhdellä GPIO-pinnillä joka on yhdistetty mikroprosessorin keskeytyspinniin ja siirtyy odottamaan data sarjaporttipinneihin (GPIO14 ja 15). Prossun saatua signaalin lähetetään sarjaväylään lämpötilalukema.
Lämpötilatieto lähetetään n. 5 minuutin välein vastaanottimelle. Muun ajan lähettimen mikroprosessori ja rf-piiri on sleep-modessa, jolloin virrankulutus on minimaalista (tällä hetkellä n. 1 milliampeeri, tavoitteena saada prosessori vieläkin "syvempään uneen" jolloin päästäisiin mikroampeeritasolle). Lähetyshetkellä virrankulutus n. 12 milliampeeria.
Ei kommentteja aiheeseen "Lämpötila langattomasti Raspberry Pi:lle"
Lämpömittari
Atmelin mikroprosessorin ja ks0108-piiriä käyttävän 128x64 pikselin näyttömodulin ympärille rakennettu lämpömittari. Lämpötila-anturina on ds1820.






Viimeisessä kuvassa näkyvän "läheisyysanturin" olen onnistunut sittemmin jo hajottamaan, joten nykyisin näytön taustavalo syttyy ihan tylsästi napista painamalla. Lisäksi kytkennässä on kiinni Bluetooth-moduli, jonka avulla lämpömittariin saa yhteyden tietokoneella tai muulla laitteella joka tukee Bluetooth serial port profilea (SPP).
Päivitys 15.11.2014: Näköjään tästä väkerryksestä on vuosi kulunut, ja edelleen sama mittari on toiminnassa. Taustavalon ohjaus hoidetaan ultraäänianturilla (HC-SR04), jota pollataan kerran sekunnissa. Jos jotain on etäisyysraja-arvon sisäpuolella, syttyy näytön taustavalo.



Ei kommentteja aiheeseen "Lämpömittari"
Kameramodulin asennus
Kameramodulin lattakaapeli tulee HDMI-liittimen viereen, kontaktipinnat kohti HDMI-liitintä. Kameran enablointi raspi-configista: "sudo raspi-config" ja sieltä "Enable camera".

Bootin jälkeen voidaan testata kameran toimivuus raspistill-komennolla, "raspistill -o testikuva.jpg", ja testikuvan pitäisi ilmestyä jos kaikki toimii oikein.
Lisätietoja virallisilta sivuilta http://www.raspberrypi.org/camera
http://elinux.org/Rpi_Camera_Module
Ei kommentteja aiheeseen "Kameramodulin asennus"
Yleiskaukosäädin


Nettisivun (kuva sivusta) kautta mahdollisuus ohjata televisiota tai viritinvahvistinta. Tiedostossa "/etc/modules" pitää olla "lirc_dev"-määritys sekä pinnit IR-ledeille ja -vastaanottimelle (gpio_in_pin=23 gpio_out_pin=22). Komennot opetettu IR-vastaanottimen avulla irrecord-softaa hyväksikäyttäen. Television kaukosäätimen kuvaan tehty image mappaus jolloin napit toimivat kuten elävässäkin elämässä. Mappaukseen löytyi kätevä nettisivu, image-maps.com, jolla nappien linkitys onnistui kätevästi. Lisäksi lisätty linkit joilla saadaan lähetettyä useamman painalluksen yhdistelmä yhdellä klikkauksella. WWW-teknisesti kaukosäädin on toteutettu PHP:n ja JQueryn yhdistelmällä, jossa napin painallus ajaa Javascript-funktion, joka puolestaan kutsuu PHP-skriptiä. Jos kutsu on lähetetty sisäverkosta (käyttö sallittu vain sisäverkon IP-osoitteille) ajetaan irsend-komento joka ohjaa IR-ledejä GPIO-portissa.


Ei kommentteja aiheeseen "Yleiskaukosäädin"
WLAN-tikun asennus
Tökkää tikku usb-porttiin ja katso lsusb
-komennolla mitä piirisarjaa wlan-tikku käyttää. Omassa tapauksessa ilmaantui seuraava rivi: Bus 001 Device 004: ID 0ace:1215 ZyDAS ZD1211B 802.11g
. Sitten toivotaan että pakettienhallinta löytää ajureita, eli syötetään komento sudo aptitude search zd1211b
. Kauhukseni tämä ei tuottanut tulosta, mutta kun poisti viimeisen b-kirjaimen mallimerkinnästä, niin johan alkoi juti rillaamaan.
Tuon paketin asennuksen jälkeen wlan-tikku alkoi toimia, ja sitten piti enää kertoa sille että mihin verkkoon liitytään. Tämän asian kanssa muistan taistelleeni monta tuntia, vaikka loppupeleistä homma oli aika simppeli, lisää allaolevat rimpsut interfaces-tiedostoon.
Ei kommentteja aiheeseen "WLAN-tikun asennus"
Automaattinen nettiradiotallennus VLC:n avulla
Suoritetaan shell-skripti haluttuna ajankohtana crontabin avulla. Esimerkissä joka lauantai käynnistetään skripti klo 10:00 ja tapetaan vlc-prosessi (jolloin tallennus luonnollisesti loppuu) kello 12:00.
Ei kommentteja aiheeseen "Automaattinen nettiradiotallennus VLC:n avulla"