Sivun näyttöjä yhteensä

Raspberry Pi2

Arduino projekteista on kätevästi siirrytty Raspberry Pi2 maailmaan. Nyt projektina on laittaa kasvihuoneeseen lämpötilan mittaus, niin keväällä voi seurata huoneen lämpötiloja helpposti.

Raspberryyn laitoin 3kpl 1-wire lämpötilaantureja malliltaan Dallas DS18B20, näiden käyttö RPi:ssä on jopa helpompaa kuin arduinossa. Miettiessäni lämpötilojen hyödyntämistä helposti, vaihtoehdot olivat aluksi 'command line' versio SSH yhteydenläpi helpolla python scriptillä. Toinen vaihtoehto oli Remote desktop yhteys, missä jonkinlainen graaffinen liittymä.

Aluksi valitsin graaffisen version, ja sitä googlaillessa tuumin, että jonkinlainen graaffinen käppyrä (chart) ois kiva ja jostain sitten eksyin ThingSpeak sivustolle. ThingSpeak mahdollistaan edellä mainitut kaaviot todella vaivattomasti ja onnistui kohtuudella tällaiselta amatööriltäkin. Edellisessä projektissahan rpi lähetti twitteriin hälyytyksiä. Nyt ainakin Android laitteisiin saa suoraan ThingView ohjelman, missä käppyrät saa näkyviin.

Eli RPi kommunikoi suoraan internettiin ja lämpötilat pystyn lukemaan käytännössä mistä vain.

Yritän tähän pistää jonkinlaista ohjetta ko. räpellyksen rakentamisesta.

Kytkentä (heh ensimmäinen Fritzing kuva)

Tarvikkeet:
 Raspberry PI2
3kpl DS18B20 antureja (mielellään valmiita vesitiiviitä kaapeleineen)
4,7K, 1K ja 10K vastukset
painonappi
riittävämäärä johtoa

Painonapin tarkoitus on RPi:n pehmeä sammuttaminen. Linux pohjaiset tietokoneet eivät pidä siitä että virrat viedään yhtäkkiä. Samoten MicroSD kortti voi hajota hyvin suurella todennäkoisyydellä. Eli vaihtoehdot RPi:n sammuttamiseen on joko graaffisesta käyttöliittymästä sammuttaa (niin kuin windowsissa). Tai mikäli graaffista käyttöliittymää ei ole, niin komentokehoitteeseta komennolla [sudo shutdown -h now]


Alla kuvaajat kolmesta mittauspisteestä (edelleen sisällä) Mittauspisteistä tarkempaa tietoa liikuttamalla hiiren osoitinta kuvaajaa pitkin.


Ohjeet rakennelman tekemiseen:

1. Asenna käyttöjärjestelmä Raspberry Pi:n Suosittelen suoraan NOOBS tai  Rasbian jakelua Myös Rasbian Lite käy, koska graaffista käyttöliittymää ei tarvita. https://www.raspberrypi.org/downloads/
Myös muut linux jakelut toimivat.

2. Tee aikaisemmin mainittu kytkentä (Fritzing kuva) lisää tietoa kytkennästä löytyy Googlen kuvahaulla: "Raspberry Pi +DS18B20".

3. Koska DS18B20 anturit tarvivat vain yhden GPIO portin ja jokainen anturi sisältää uniikin nimen (tai sarjanumeron), pitää nämä saada tietoon ennen kuin ohjelmaa voi koodata. Anturin nimen tietoon saaminen on huomattavasti helpompaa Raspberryllä kuin esim. arduinolla. Arduinolla joutuu tekemään ensin koodin nimien selvittämiseksi, mutta Raspberryllä riittää kun käy lukemassa tiedoston nimen kansiosta.

Aluksi RPi:ssä pitää ottaa käyttöön tarvittavat 1-wire modulit, jotka ovar w1-gpio ja w1-therm, tämä onnistuu seuraavilla käskyilla: sudo modprobe w1-gpio ja sudo modprobe w1-therm. Jatkossa näitä ei tarvi joka kerta kirjoitaa erikseen, vaan modulit käynnistetaan python koodin yhteydessä

Nyt anturien tidot saadaa luettua jos kytkennät ovat onnistuneet.
kirjoita:  
cd /sys/bus/w1/devices/
ls
nyt näet 28-***** nimellä alkavia kansioita.

DS18B20 Anturit
HUOM! anturien nimet ovat uniikkeja!

Kirjoita anturien nimet ylös, koska tarvitset niitä Python koodissa.

4. Rekisteröidy ThingSpeak palveluun https://thingspeak.com/
 Etsi jostain New Channel nappi luodaksesi uuden kanavan ja täytä halutut tiedot

 Paina sivun lopussa olevaa Save channel nappia.

Seuraavaksi paina API Keys välilehtä

Kirjoita ylös Write API Key


5. Koodin kirjoittaminen. (Huom! en ole koodari ja kyseessä on ensimmäisiä koodauksia pythonilla, suuri osa koodista on lainattu suoraan netistä)
Itse käytän kirjoittamiseen raspberryn mukana tulevaa nano nimistä ohjelmaa, joka on ihan toimiva kevyt tekstieditori. Tee pi käyttäjän kansioon jokin projektikansio esim.

cd      (tällä käskyllä pääset ns kotikansion juureen)
mkdir projects      (luodaan uusi projects niminen kansio tai minkä nimisen haluat)
cd projects        (siirrytään kansioon)
nano templog.py     (luodaan templog.py niminen tiedosto ja muokataan sitä)



 Kirjoita Write API Key oma API koodi kohtaan, tyyliin 'QKSIERJFKDJKE' , ' merkit mukaanlukien

Testaa koodin toimivuus sudo python templog.py Nettiyhteys pitää olla päällä jotta RPi voi lähettää tiedot ThingSpeak serverille jos nettiä ei heti ole käytettävissä, niin python koodi kirjoittaa ruudulle myös samat asiat, kuin TS serverille.





Ei kommentteja:

Lähetä kommentti