NodeMCU ja DS18B20

2015-12-29 17:23:59

NodeMCU pienikokoinen piirilevy, jonka sydämenä toimii ESP8266-piiri. ESP8266 on erittäin edullinen WLAN-yhteyden muodostamisee 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.

NodeMcu V1.0
NodeMCU V1.0.
NodeMCU ja DS18B20
Lämpötila-anturi DS18B20 kytkettynä levyyn.
OLED-näyttö
I2C-väylän kautta voi liittää vaikka OLED-näytön.
OLED-näyttö pimeässä
Pimeässä näkee lukea mainiosti.
Päivän lämpötilakäyrä
Kuluvan päivän lämpötila.
Viikon lämpötilakäyrä
Kuluvan viikon lämpötila.
Kommentoi (0)

Ei kommentteja aiheeseen "NodeMCU ja DS18B20"


Nokia Lumia 720 näyttömoduulin vaihto

2014-11-15 11:41:00

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.

Lasi rikki
Jotain pientä säröilyä havaittavissa. Allekirjoittaneen kuvaustaidot on samaa luokkaan lasin kunnon kanssa.
Lasi rikki
Yksi ruuvi auki sekä reipas vääntäminen tuo esille piirilevyn ja akun jotka pitää siirtää uuteen näyttömoduliin.
Lasi rikki
Piirilevy-akku-combon alta paljastui näytön ja koskestuspaneelin lattakaapelit sekä antennimodulin alla oleva härpäke, joka pitää myös siirtää.
Lasi rikki
Vanha ja uusi vertailussa. Edellämainittujen lisäksi siirtää pitää myös yläreunassa näkyvä kuuloke, jonka kanssa meinasikin tulla ahdistus kun se on aika tiukasti kiinni. Unohtamatta myöskään kameramodulia sen alapuolella.
Lasi rikki
Tässä kaikki on vaihdettu uuteen ja edessä oli aina mielenkiintoinen ensikäynnistys. Mutta jostain syystä kaikki toimii ja kukkuu.
Kommentoi (0)

Ei kommentteja aiheeseen "Nokia Lumia 720 näyttömoduulin vaihto"


Korruptoituneen muistikortin korjaus

2014-05-09 19:18:58

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.

muistikortin pelastus

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.

Kommentoi (0)

Ei kommentteja aiheeseen "Korruptoituneen muistikortin korjaus"


AVR-kello

2014-05-03 18:33:53

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).

Huonolaatuinen kuva kellosta
Valitettavan huonolaatuinen kuva kellosta.
Koottu levy
Osasijoittelussa on vähän parantelun varaa, prosessorin ohjelmointiliittimen joutui juottamaan tyylikkäästi vinoon jotta sitä pystyy käyttämään. Lisäksi kiteelle tuli otettua liian pieni silkkikuva, kannattaisi mitata oikeasti eikä luottaa varmaan arvioon.
Piirilevy
Piirilevy on teetetty iteadstudiolla, halpaa on jos vain jaksaa odotella. Itselläni taisi kestää pitkälle toista kuukautta että levyt oli tilauksesta kourassa. Levyjen laadussa ei ole mitään valittamista.
Piirilevy
Kytkentäkaavio KiCad-ohjelmalla piirettynä. Kun kytkis on valmis komponenteille osoitetaan oikeat kotelot ja sitten pääseekin leiskan suunnitteluun.
Piirilevy
Osasijoittelu ja vetojen piirtäminen. Maatasojen yhdistäminen läpäreillä pääsi unohtumaan, mutta toimintaan se ei onneksi vaikuta.
Piirilevy
Ohjelmalla pystyy pyörittelemään 3d-kuvaa valmiista levystä. Tosin kaikkia komponentteja, kuten 7-segmenttinäyttöä, en ole tähän metsästänyt.
Kommentoi (0)

Ei kommentteja aiheeseen "AVR-kello"


Lämpötila langattomasti Raspberry Pi:lle

2013-11-25 15:07:38

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.

Lohkokaavio
Lohkokaavio järjestelmästä.
Vastaanottoyksikkö kytkettynä raspiin
Vastaanottoyksikkö kytkettynä raspiin. Mikroprosessorikytkentä on koottu reikälevylle ja käyttöjännitteet otetaan raspin GPIO-liittimiltä. +5 volttia Atmelin prossulle ja +3.3 volttia rf-modulille.
Lämpötilan lähetysyksikkö
Lähetysyksikön piirilevynä toimii toiseen projektiin teetetty piirilevy.
Lämpötilan lähetysyksikkö
Lähetysyksikkö saa virtansa kahdelta sormiparistolta.
Lämpötilakuvaaja
Kuvaaja piiretään php:n grafiikkakirjaston avulla www-sivulle (sivu ei ainakaan vielä julkinen).

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.

Kommentoi (0)

Ei kommentteja aiheeseen "Lämpötila langattomasti Raspberry Pi:lle"


Lämpömittari

2013-11-14 16:31:18

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.

Kytkentäkaavio
Kytkentäkaavio on aika simppeli, mikroprosessorin lähtöihin kiinni näyttö ja anturit. Prosessorin kellona käytetään sisäistä oskillaattoria.
Koekytkentälevy toiminnan testaus
Koekytkentälevyllä johtohässäkkää.
Näyttö pimeässä
Näytön taustavalaistus päällä.
Suunnittelupöytä
Mainiolla ja ilmaisella KiCad-piirilevysuunnitteluohjelmalla vetojen hahmottelua.
Kasausta reikälevylle
Reikälevylle kasattu lopullista kytkentää. Hyppylankoja kertyi levylle jonkin verran, mutta kytkentä loppujen lopuksi on aika yksinkertainen.
Lopputuote
Valmis kokonaisuus ja toiminnassa. Oikealla näkyy IR-anturi, joka aktivoi näytön taustavalon kun sen edessä heilauttaa esim. kättä.

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.

Lämpömittari ilman taustavaloa
Oikealla näkyy ultraäänianturi, joka hoitaa taustavalon ohjauksen.
Lämpömittari taustavalo päällä
Taustavalo päällä. Vasemmalla näkyy Bluetooth-moduli, joka juttelee sarjaväylän kautta prossun kanssa.
Etäyhteys Bluetoothilla lämpömittariin
Tietokoneelta otettu etähteys lämpömittariin.
Kommentoi (0)

Ei kommentteja aiheeseen "Lämpömittari"


Kameramodulin asennus

2013-08-10 09:36:49

Kameramodulin lattakaapeli tulee HDMI-liittimen viereen, kontaktipinnat kohti HDMI-liitintä. Kameran enablointi raspi-configista: "sudo raspi-config" ja sieltä "Enable camera".

raspi-config 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

Kommentoi (0)

Ei kommentteja aiheeseen "Kameramodulin asennus"


Yleiskaukosäädin

2013-02-15 13:33:33
Raspberry Pi ja koekytkentälevy
Raspberry Pi ja IR-ledit, transistori, pari vastusta sekä IR-vastaanotin. Koekytkentälevyllä on helppo testailla kytkentöjä ennen lopullista versiota.
IR-ledien kytkentäkaavio
IR-ledien kytkentäkaavio. IR-vastaanotin (käytössäni TSOP1738) on kytketty suoraan ilman oheiskomponentteja, data-pinni GPIO-pinnissä 23.

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.

Led, transistori ja vastuksia IR-ledit ja -vastaanotin
IR-ledin juottelua lopulliseen versioon. Juotokset on suojattu kutistesukalla ettei toimistasavut pääse karkaamaan. Toinen IR-ledeistä on johdon päässä jolloin sen saa kätevästi sohimaan kohti televisiota vaikka laite onkin piilossa viritinvahvistimen vieressä.
Kommentoi (0)

Ei kommentteja aiheeseen "Yleiskaukosäädin"


WLAN-tikun asennus

2013-01-01 12:00:00

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.

Ajurien metsästys
pi@raspberrypi ~ $ sudo aptitude search zd1211
i   zd1211-firmware                 - Firmware images for the zd1211rw wireless

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.

/etc/network/interfaces
auto lo
iface lo inet loopback
iface eth0 inet dhcp
allow-hotplug wlan0
auto wlan0
iface wlan0 inet dhcp
        wpa-ssid "verkon-ssid"
        wpa-psk "verkon-salasana"
Kommentoi (0)

Ei kommentteja aiheeseen "WLAN-tikun asennus"


Automaattinen nettiradiotallennus VLC:n avulla

2013-01-01 12:00:00

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.

Crontab
# m h  dom mon dow   command
0 10 * * Sat sh /home/pi/savestream.sh
0 12 * * Sat killall vlc
Suoritettava sh-tiedosto savestream.sh
#!/bin/sh
cd /home/pi
TIEDOSTONIMI="Radio_`date +%d%m%Y`.mp3"
STREAMURL="http://icelive0.43660-icelive0.cdn.qbrick.com/4986/43660_kiekkojyp.mp3"
screen -d -m -S rippaus cvlc $STREAMURL --sout=#transcode{acodec=mp3,ab=128}:std{access=file,dst=$TIEDOSTONIMI}
Kommentoi (0)

Ei kommentteja aiheeseen "Automaattinen nettiradiotallennus VLC:n avulla"


Sivun ylös