lauantai 7. joulukuuta 2013

Rasbperry Pi scriptailua

Pientä bugia näköjään vähän kaikkialla mutta scripteillä korjataan.

Aluksi huomasin, että wifi-adapteri tiputtelee itseään. Nyt on sitten menossa testi, että oliko ongelmana virransäästä tai jokin muu.

Löysin tähän seuraavanlaisen testivälineen Wifi Check, jos tällä homma toimii ongelmana oli tuo, että kun verkkoliikennettä ei ole tarpeeksi, niin mennään nukkumaan tjsp.

Toisekseen huomasin, että välillä sensoreiden datan lähetys katkesi, syyksi paljastui, että screeni on kaatunut taustalla. Tähän sitten piti vääntää seuraavanlainen scripti.

#!/bin/bash
if screen -list | grep -q "sensor02"; then
    echo $(date '+%H:%M:%S %d %b %Y') Sensor02 is running! \ >> /home/user/logs/sensor02check.txt;
else
    cd /home/user/temperature/scripts/
    ./run-sensor02.sh
    echo $(date '+%H:%M:%S %d %b %Y') Sensor02 was down... Started! \ >> /home/user/logs/sensor02check.txt;
fi

Kyseisellä scriptillä tarkistetaan sensor02-nimisen screenin toiminta, jos tämä on hereillä, niin homma ok mutta muuten ajetaan tälle sensor02:lle scripti mikä käynnistää screenin ja lokituksen. Tämän voi sitten ajastaa croniin oman mielensä mukaan. Esim. tunnin välein taikka minuutin välein.

Lähde

Edit. 8.12.2013

Jos scriptillä halutaan logittaa pelkät kaatumiset muokataan scriptiä esim. seuraavanlaiseksi.

#!/bin/bash
if screen -list | grep -q "sensor02"; then
    echo $(date '+%H:%M:%S %d %b %Y') Sensor02 is running! \;
else
    cd /home/user/temperature/scripts/
    ./run-sensor02.sh
    echo $(date '+%H:%M:%S %d %b %Y') Sensor02 was down... Started! \ >> /home/user/logs/sensor02check.txt;
fi

tiistai 3. joulukuuta 2013

Raspberry Pi + lämpö+kosteus

Onhan siitä jo taas tovi kun tuli jotain kirjoiteltua. Vaikka laitearvosteluita nyt onkin odottamassa julkaisua, että kirjoittamista, niin päätin kuitenkin kuluttaa aikaa Raspberry Pi:n kanssa.

Olen omistanut jo pidemmän aikaa kyseisen laitteen mutta en ole tälle keksinyt mitään järkevää käyttöä kunnes nyt. Sain kyseisen laitteen valjastettua johonkin ns. järkevään käyttöön. Kytkin kyseiseen laitteeseen muutaman sensorin, jonka avulla saan tiedot sisä-, että ulkotiloista. Tiedot jotka saan DHT22-sensoreiden kautta ovat lämpö ja kosteus. Kyseisiä sensoreita saa Ebaysta todella halvalla. Sensoreita on moneen lähtöön ja osa tarjoaa vain tietyn arvon kuten esim. lämpötilan.

Jos sinua kiinnostaa tämä asia, niin tässä hiukan vinkkiä. Ohje on suuntaa antava ja olenkin saattanut unohtaa siitä jotain mutta en usko, että kovin tärkeää. Googlella yleensä siihenkin löytyy ratkaisu.

Tarvittavat osat:
- Raspberry Pi + virta + muistikortti
- Sensori esim. DHT22
- Wlan (Optio)

Sitten on aika aloittaa.

Aluksi on hyvä tutustua seuraavaan artikkeliin Raspberry Pi Temperature and Humidity Project Construction. Kyseisessä artikkelissa käsittellään itse Raspberry Pi:tä ja DHT22 -sensoria. Raspberry Pi:ssä tulee olla muistikortilla jokin tarjolla oleva Linux-pohjainen käyttöjärjestelmä esim. Raspbian. Jonka voit ladata täältä.

Kun sinulla on tämä paketti koossa, voitkin kokeilla sensorin toimivuutta. Artikkelissa mainituilla ohjeilla. Bcm2835-kirjastosta löytyy uudempi versio itse tekijän sivuilta, joten lataa se sieltä. Toki voit käyttää ohjeissa mainittua versiota, jos haluat. Kun näet, että sensori toimii, niin voit viedä asian astetta pidemmälle. Kytkin tässä vaiheessa toisen sensorin ensimmäisen ns. rinnalle tietenkin omaan pinniinsä mistä data otetaan sisään. Virrat tulevat samoista pinneistä.


Tämän jälkeen löysin mielenkiintoisen sivuston nimeltä Adafruit, jonka mukavan oppaan miten saat lisättyä halutut arvot suoraan Google Docsin taulukkoon. DHT Humidity Sensing on Raspberry Pi with GDocs Logging

Toki asian olisi voinut tuohonkin jättää mutta kuitenkin halu saada käyriä oli ylitsepääsemätön. Joten aloin tutkimaan tätä. Löysin sivuston Xively, joka tarjoaa API:n kautta tämän mahdollisuuden.

Sitten pitikin löytää tapa millä saada data tuonne asti. Aluksi en huomioinut kyseisen sivuston hienoa tutoriaalia miten homman kanssa pääsee alkuun. Tästä syystä tutuistuin ensin seuraavaan artikkeliin Raspberry Pi with Xively. Kyseisessä artikkelissa tulostetaan Xivelyn tarjoamaan palveluun Raspberry Pi:stä tietoja. Kun olin tuota koittanut käyttää pohjana sensorin datan lähettämiseen, niin pongasinkin sitten Xivelyn oman tutoriaalin, jonka kautta homma alkoikin jo raksuttamaan. Tämän tutoriaalin kautta sainkin homman toimimaan halutulla tapaa. Homma ei kuitenkaan jäänyt tähän vaan nyt alettiin tutkimaan sensorin datan lähetystä tarkemmin.

Tähän asiaan löysin Googlen kautta seuraavan sivuston Rspberry Pi + DHT22 + Xively. Hyödyntämällä tätä kyseistä koodia, sain datan lähtemään yhdestä sensorista. Jonka jälkeen muokkasin tätä halutuksi, jotta sain toisestakin datan eteenpäin. Toki nämä voi yhdistää jos haluaa mutta päädyin kuitenkin erilliseen ratkaisuun kun tämä toimi.

Tuota kyseistä koodia käyttäessä törmäsin ongelmaan, että MySQLdb -kirjastoa ei vaan saanut toimimaan oikein. Tähän kuitenkin löysin ratkaisun komennolla sudo apt-get install python-mysqldb. Tämän lisäksi ongelmana oli myös itse sensorin lukeminen alkuun, koska olin jättänyt siirtämättä kyseisen koodinpätkän kanssa Adafruit_DHT_Driver -kansion sisällön. Tämä kansio sisältää itse ohjelman sensorin lukemiseen.

Nyt kyseinen koodi juoksikin jo ongelmitta. Kyseisessä koodissa on muutama kohta, jotka määrittävät millä nimellä itse data lähetetään Xivelyyn.

def get_datastream(feed):
  try:
    temp_datastream = feed.datastreams.get("temperature")
    if DEBUG:
      print "Found existing temperature datastream"
  except:
    if DEBUG:
      print "Creating new temperature datastream"
    temp_datastream = feed.datastreams.create("temperature", tags="temperature")

  try:
    humidity_datastream = feed.datastreams.get("humidity")
    if DEBUG:
      print "Found existing humidity datastream"
  except:
    if DEBUG:
      print "Creating new humidity datastream"
    humidity_datastream = feed.datastreams.create("humidity", tags="humidity")

  return {'tempds':temp_datastream, 'humidityds':humidity_datastream}

Ensimmäisessä boldatussa kohdassa määritellään feedin nimi, toisessa kohtaan määritellään se, että jos kyseisen nimistä feediä ei löydy luodaan seuraavan niminen ja annetaan sille haluttu tagi. Tämä sama toistuu kosteuden kanssa.

Lopuksi vielä piti saada luku käynnistymään bootissa. Tähän tein hiukan purkkaa...

Aluksi scripti mikä ajaa sensori 1:n lukemisen.

#!/bin/bash
cd /home/coder/temperature/ && source .envs/venv/bin/activate && python pi-temp.py

Sitten tämä pitää toki ajaa omassa screenissään

screen -dmS sensor01 /home/coder/temperature/scripts/./sensori01.sh

Tämän purkan monistin toiseen otteeseen ja nyt luku toimi molemmilla sensoreilla automaattisesti. Käytän tämän ajamiseen ihan crontabia.

Toivottavasti tästä oli jotain hyötyä tai mahdollisesti innostuksen lähde. Tästä itselläni todennäköisin seuraava aste on AirPi.

Lopuksi muutama hassu kuva itse projektista.



Päivitys 4.12.2013
Huomasin pienen bugin tuossa koodissa, jolla luetaan data ja lähetetään eteenpäin Xivelyyn.

Seuraavalla rivillä määritetään lämpötilojen arvot: 

matches = re.search("Temp =\s+([0-9.]+)", output) 

Tästä pätkästä johtuen lämmöt jäivät nollaan. Kun tähän muuttaa esim. -30 päästään alle nollan.

matches = re.search("Temp =\s+([-30-9.]+)", output)

lauantai 26. lokakuuta 2013

Nokia CC-3066, DT-900, DT-901 ja BH-310 -lisälaitteet

Hankin tuossa jokunen aika ensimmäisen WP8-puhelimeni Nokia Lumia 720, jonka arvosteluun voit tutustua tästä.

720 jäi kuitenkin ns. välikokeiluksi kun Nokia Lumia 1020 julkaistiin. Tässä muutama lisälaitearvostelu mitä on tullut hankittua 1020:lle.

Qi-kuori CC-3066


Myyntipakkaus

Kuori toimitetaan muovisessa pakkauksessa. Sisältö on niukasti mukana. Mukaan tulee itse kuori ja ohjeet.



Kuori kiinnitetään itse puhelimeen vain painamalla paikalleen. Kuori itsessään on suht ohutta muovia ja tämä tasaakin 1020 takana olevan kameran möhkälemäisyyttä tuoden tasaisuutta takapuolelle. Tämä antaa omasta mielestäni kivamman tunteen kun puhelimen ottaa käteen.

Hintaa kuorella on noin 30 euroa.

Nokia Wireless Charging Plate (DT-900) ja Nokia Wireless Charging Pillow by Fatboy (DT-901) 

Koska Qi-latausta piti päästä kokeilemaan, ostin tätä varten parit latausalustat.

Myyntipakkaus

Molemmat latausalustat on pakattu pahviseen laatikkoon, jota koristaa itse tuotteen kuvat eri väreissä. Mukana tulee itse latausalusta, laturi johtoineen ja ohjeet. 







DT-900 ja DT-901 erona on vain se, että DT-901:n latausalusta on sijoitettu Fatboyn suunnittelemaan ”tyynyyn”. Tuotteilla ei tämän puoleen ole mitään eroa kuin tuo ”tyyny”.

DT-900-latausalustan integroin retromaiseen yöpöytääni ja DT-901-latausalusta jäi tietokonepöydälle.

Käyttökokemukset

Kokemukset itse latauksesta ovat olleet positiivisia. Nyt ei tarvitse leikkiä turhien johtojen kanssa kun puhelu tulee tai jos on asettanut puhelimen lataustelineeseen, ei itse teline lähde mukaan kun puhelu tulee. Tarkkaa aikaa en osaa sanoa miten kauan lataaminen kestää verrattuna normaaliin johdolliseen lataukseen kuin sen, että nukkumaan mennessä asetan puhelimen alustalle ja aamulla se on latautunut.

Puhelimen asettaminen itse alustalle ei vaadi juurikaan tarkkuutta kunhan se tulee suht keskelle itse alustaa. Joissakin latausalustoissa ongelmana on ollut se, että puhelin tulee asettaa todella tarkasti tietylle alueelle.

DT-900 hinta pyörii noin 70 eurossa ja DT-901 noin 90 eurossa.

Nokia Bluetooth Headset BH-310

Aikasemmin minulla oli käytössä ikivanha Nokian valmistama Bluetooth Headset mutta tämän pitäminen oli aivan kauheata tuskaa koska se painoi korvaan. Tästä syystä tutkin mikä voisi olla seuraava vaihtoehtoinen vaihtoehto. Päädyin Nokian valmistamaan tuotteeseen BH-310, joka tarjoaa NFC-tuen erikoisuutenaan. Tämän avulla Headsetin parittaminen käy leikiten eri NFC-laitteiden kanssa.

Myyntipakkaus

Tuote on pakattu pahviseen laatikkoon missä on edestä taakse näkyvä muovinen ikkuna missä on itse BH-310 ja tämän latausteline.



Pakkauksen mukana toimitetaan BH-310, latausteline, ”dummy”-latausteline, eri korviin sopivia pehmukkeita, microUSB-kaapeli, autolaturi ja ohjeet.


Itse BH-310:ssa on myös microUSB-liitin, jonka kautta onnistuu lataaminen, jos lataustelinettä ei ole käytössä. Itse hankin juuri tämän microUSB-liittimen takia tämän kuulokkeen.




Mikä sitten on tämän lataustelineen tarkoitus? Nokia on innovoinut BH-310 toimimaan siten, että kun ajat autoa ja BH-310 on lataustelineessä, puhelun tullessa voit vain nostaa tämän ja laittaa korvallesi, niin puheluun on vastattu. Kun puhelun haluaa lopettaa, niin asetat BH-310 vain takaisin telineeseen. Dummy-teline toimii samalla tapaa mutta ei lataa itse kuuloketta. Jos telinettä ei ole saatavilla tai ei ole käytössä, niin BH-310 toimii aivan normaaliin tapaan, että puheluun vastataan painamalla tämän pääliosaa ja lopettamalla kun painetaan toisen kerran.


Käyttökokemukset

Kokemukset tästä ovat olleet hyvät ja äänenlaatu on parempi mitä aikaisempi käyttämäni kuuloke tarjosi. Akkukin kestää pidempään koska laite on uusi ja vähän käytetty. Tarkkaan en osaa sanoa miten kauan se oikein kestää mutta on sillä nyt ensimmäinen viikko menty ongelmitta.

Hintaa BH-310 on noin 40 euroa.

keskiviikko 23. lokakuuta 2013

Kuinka ladata GDR3-päivitys WP8-puhelimeen ilmaiseksi

Onhan tästä taas aikaa kun viimeksi kirjoitteli mutta palataan nyt hetkeksi linjoille. Kiirettä pitää ja paljon onkin tullut tuotteita mistä pitäisi tehdä arvostelut ja testaukset. Kaikki aikanaan mutta nyt keskitytään ehkä joillekin vanhaan tietoon, kuinka ladata GDR3-päivitys WP8-puhelimeen ilmaiseksi.

Microsoft julkaisi tuotta jokunen aika GDR3-päivityksen WP8-puhelimiin. Tätähän ei saa ellei ole itse kehittäjä. Tässä kuitenkin pieni kierto tie millä saat tuon päivityksen ladattua. Olen testannut tämän omalla Lumia 1020:lla.

Mitä GDR3-päivitys tuo? Se selviää alla olevasta videosta.


Vaatimukset:
- Sinulla tulee olla MS/Live-tunnus ja se tulee olla aktiivinen
- Tarkista, että puhelimen WP8-käyttöjärjestelmä on uusin mitä saat

VAROITUS ENNEN JATKAMISTA!
Kun asennat GDR3-päivityksen paluuta vanhaan ei ole!

1. Mene App Studion -kotisivuille.
2. Kirjaudu siellä omilla MS/Live-tunnuksilla sisään sivustolle ja hyväksy käyttöehdot. Jos olet jo kirjautunut, niin etusivulla on nappi/linkki Start building. Klikkaa tätä ja tämän kautta pääset myös hyväksymään kyseiset käyttöehdot. Mitään muuta ei tarvitse tehdä.
3. Lataa Preview for Developers -ohjelma Windows Phone Storesta puhelimeen.
4. Avaa ohjelma ja kirjaudu MS/Live-tunnuksilla sisään ja hyväksy käyttöehdot.
5. Mene puhelimen päivitysosioon ja tarkista päivitykset.
6. Puhelimen pitäisi ladata 3 päivitystä ja sen jälkeen asentaa nämä.
7. Nyt sinulla on GDR3-päivitys WP8-puhelimessasi.

lauantai 12. lokakuuta 2013

Qi-yöpöytä

Koska Lumia tukee Qi-latausta, joko erillisellä kuorella tai riippuen mallista suoraan, niin päätin kopioida erään ruotsalaisen idean tänne Suomen maalle myös. Alla olevasta videosta selviää idea.


Itse käytin nykyistä yöpöytääni tämän toteuttamiseen. Tekeminen aloitettiin sillä, että katsottiin päälilevyn alta oikea kohta ja siihen sitten käsisirkkelillä tehtiin pieniä viiltoja. Näiden avulla saatiin tehtyä tarpeeksi syvä upotus, että Nokian DT-900 -latausalusta mahtui sisään ja laatikkokin vielä menee kiinni.

Tässä vielä lopuksi mihin päädyttiin.


Kuvan puhelin on Lumia 1020 tähän sopivalla latauskuorella. Artikkeli vielä 1020 on tulossa kun saan sen vain kirjoitettua.