Raspberry Pi kao mala vremenska stanica - 5.0 out of 5 based on 1 vote
Raspberry Pi kao mala vremenska stanica

Raspberry Pi kao mala vremenska stanica

Index

Temperature do usijanja

Uz mali, ali moćan dodatak Raspberry Pi će postati prava mala vremenska stanica te će vas izvještavati o trenutnoj temperaturi i razini vlage u zraku. Kako izgledaju Raspberry Pi i senzor DHT22 u simbiozi pročitajte u nastavku...

Raspberry Pi (RPI) već je odavno poznata poslastica entuzijasta i raspberry zajednice. Pionir minijaturnih jeftinih računala za hobističku uporabu, zahvaljujući uspjehu koji je polučio, redovno dobiva novu konkurenciju. Već smo izvještavali o posljednjem modelu Raspberry Pi3 koji se odlikuje 64-bitnom podrškom, modernijim četverojezgrenim procesorom Cortex A57 te ugrađenom podrškom za Wi-Fi te Bluetooth. Od konkurencije ga razlikuje solidna brzina cjelokupnog sustava uparenog s 1 GB radne memorije dovoljna za pokretanje OS-a s grafičkim sučeljem, reprodukcijom multimedije, surfanje internetom... Raspberry Pi postao je osnova u nekim IoT projektima te postao pogodna platforma za niz zanimljivih projekata. Primarna namjena RPI-a je edukacija. Malo i jeftino računalo idealno je za učenje programiranja jer učenici moraju naučiti raditi s ograničenim resursima koje ovo računalo pruža. 

DHT22

Hardverska instalacija: DHT22 senzora je jednostavna.  Tri žice (podatkovna  - DAT,  naponska - VCD i  uzemljenje - GND) spajaju se  na GPIO (rev 2). Pin 22 (data), pin 1 (3V) i pin 6 (GND)

 

Vratimo se na Raspberry projekte. Projekt „Tank cam“ budi sjećanja na djetinjstvo kada smo sanjali o radijski kontroliranom tenkiću koji vrlo precizno pogađa metu koristeći se ugrađenom kamerom. Djeluje vrlo sofisticirano kao i neke igračke iz poznatog serijala „Sam u kući“. Tu je još i projekt vremenske stanice, internetskog radija s touch screenom, alarmni sustav sa senzorom pokreta, sustav za regulaciju otvaranja/zatvaranja garažnih vrata, računalno upravljani model broda, 3D scanner te mnogi drugi.

R3

ZNAČAJKE DHT22 senzora:
- Raspon mjerenja vlage od 0 do 100%
-Preciznost mjerenja količine vlage (odstupanje) je ±2%
- Raspon mjerenja temperature od -40 do 80 stupnjeva
- Preciznost mjerenja temperature (odstupanje) ±0,5%
- Radni napon je DC5V
- Digital signal output

Kako su navedeni projekti vrlo entuzijastični i uglavnom svoju primarnu uporabu nalaze kod korisnika koji imaju „osjećaj“ za elektroniku jer se radi o preinakama koje zahtijevaju poznavanje osnovnih elemenata elektroničkih komponenti kao i programiranja, mi ćemo ovog puta opisati projekt koji bi svoju funkciju mogao obavljati u svakom domu.

Uz mali, ali moćan dodatak Raspberry Pi će postati prava mala vremenska stanica te će vas izvještavati o trenutnoj temperaturi i razini vlage u zraku. Riječ je o DHT22 senzoru kojeg možete kupiti na e-bayu za cijenu od svega 4 $. Ideja ovog projekta jest izraditi malu vremensku stanicu koja će pratiti temperaturu i vlažnost. Isti projekt moguće je proširiti pa primjerice, ako temperatura padne ispod x-a na mail dobivate upozorenje. Isto vrijedi i za količinu vlage što bi se moglo iskoristiti za, primjerice, vaš voćnjak ili vrt. Krenimo redom.

RASPBERRY GPIO

GPIO (General-purpose Input/Output) shema: Vrlo korisna prilikom spajanja dodatnih „stvarčica“ na Pi. Preporuka je da pogledate točno koju verziju boarda imate jer ima razlika u razmještaju GPIO pinova (nisu sve iste)

 


ŠTO NAM JE SVE POTREBNO?

Raspberry Pi (u našem slučaju Raspberry Pi II)
SD kartica (4 GB ili veća preporučena)
Wi-Fi USB dongle
Instalacija Raspibian OS-a
Instalacija i podešavanje DHT22 senzora
Podešavanja SQL-a, izrada baze za zapis podataka
Malo dobre volje

Za download Raspbian OS-a potrebno je posjetiti link: www.raspberrypi.org/downloads. Poslije downloada ZIP filea raspakirajte te .img file snimite na SD karticu pomoću programa Win32DiskImager.
Detalje možete pronaći na https://www.raspberrypi.org/documentation/installation/installing-images/windows.md ukoliko to radite iz Windowsa. Ukoliko isto radite iz nekog drugog OS-a (MacOS ili Linux) također možete pronaći upute. Preporučamo da proučite i podešavanje mrežnih postavki RPI-ja.

R1

Razmisilite o smještaju senzora Spojenog na Vaš Pi. Ovisno o namjeni to može biti velik problem


INSTALACIJA DHT22 SENZORA (libraries)

U shell potrebno je upisati:
sudo apt-get update
Naredba izvršava update Raspibiana
sudo apt-get upgrade
Naredba izvršava update svega instaliranog na Raspberryju na posljednju verziju.
Nakon updatea, pristupit ćemo instalaciji Adafruit Python koda kako bi naš Raspberry mogao prikazati očitanja DHT22 senzora. Također, u ovom koraku bit će moguće testirati da li je sve spojeno na propisan način.
Zatim slijedi instalacija compilera i python library naredbom
sudo apt-get install build-essential python-dev python-openssl
Obratite pažnju gdje želite instalirati Adafruit kod. Preporuča se /home/
Sljedeći korak je naredbom clone dohvatiti git repozitorij
https://github.com/adafruit/Adafruit_Python_DHT.git
Prijeđimo u mapu
cd Adafruit_Python_DHT
te izvršimo instalaciju
sudo python setup.py install

Testiranje senzora

Prethodni koraci su nam omogućili instalaciju i podešavanje svega što nam je potrebno kako bismo upogonili DHT22 senzor. Sljedeći primjer omogućit će prikaz očitanja senzora. Pozicionirajmo se u mapu:
cd /home/pi/Adafruit_Python_DHT/examples
Zatim i izvršimo python file AdafruitDHT22.py. Ne zaboravite na administratorske ovlasti i naredbu sudo. Primijetite da smo izvršni file upotrijebili 22 22 (GPIO 22 (pin 15 na boardu) za dio senzora koji nam očitava vlažnost zraka i 22 za dio senzora koji nam očitava temperaturu). GPIO = General-purpose input/output tj. oznake pinova na koje smo i spojili DHT senzor putem koji će isti prosljeđivati očitanja.
sudo ./AdafruitDHT.py 22 22
Ako ste sve podesili u redu, izvršavanjem fajla AdafruitDHT.py 22 22 prikazat će se očitane temperature i vlažnosti u zraku.

senzor2

senzor1

Prikaz jednog očitanja senzora te prikaz kako to izgleda kada se pozabavimo smještajem očitanja unutar kreirane baze i tablica u MySQL-u. Ujedno je ovo i prilika da malo „obnovite“ znanje o osnovama MySQL-a


Priprema baze

Do sada smo se bavili podešavanjem senzora i njegovom instalacijom. Posljednjim korakom isprobali ste funkcionalnost i dobili potreban očitanja. Sada priču možemo proširiti u smjeru zapisa podataka u SQL tablicu kako bi na jednom mjestu imali pohranjene podatke o senzorskim očitanjima.
Za početak, instalirajmo podršku za msql server te podršku za mysql-python.
sudo apt-get install mysql-server python-mysqldb
Za vrijeme instalacije bit ćete priupitani za Root password koji ćete koristiti prilikom manipulacije za mysql bazama. Upamtite taj password!
Pristup mysql konzoli izvršavamo s:
mysql -u root -p -h localhost
Localhost je naziv našeg hosta na kojeg smo i spojili naš senzor.
U mysql konzoli pomoću naredbi:
CREATE DATABASE temperature;
Kreiramo bazu pod nazivom „Temperature“. Sada je potrebno definirati korisnika baze koji će imati ovlasti pristupa našoj bazi temperature.
Sljedećom naredbom u ysql konzoli dodajemo novog korisnika pod nazivom „test“ sa svim ovlastima (r,w,x) s pripadajućim passwordom.
CREATE USER ‘test’@’localhost’ IDENTIFIED BY ‘neki_password’;
GRANT ALL PRIVILEGES ON temperatures.* TO ‘test’@’localhost’;
FLUSH PRIVILEGES;
Quit
Nakon dodavanja novog korisnika ponovno se ulogiramo u mysql konzolu s podacima novog korisnika:
mysql -u logger -p -h localhost
U mysql konzoli pristupamo izradi tablica u našoj prethodno napravljenoj bazi „temperature“.
USE temperature;
Zatim pristupamo izradi tablice:
CREATE TABLE temperaturedata (dateandtime DATETIME, sensor VARCHAR(32), temperature DOUBLE, humidity DOUBLE);
Primijetite da smo za zapise očitanja temperature i vlage definirali tip podatka DOUBLE (decimalna mjesta) te pomoću polja DATEANDTIME pridodali i vrijeme senzorskog očitanja.
Daljnji projekt ovisi o vašem entuzijazmu, mogućnostima i vremenu. Nastavak projekta mogao bi ići u smjeru izrade web sučelja kojemu bi se moglo pristupiti s bilo kojeg računala te dobiti uvid u trenutno stanje ili pak omogućiti periodičko izvještavanje o stanju temperature i vlažnosti zraka koje biste dobili na vaš mail. I sve se vrti oko IoT-a.

 


Mali MySQL podsjetnik

Logiranje na MySQL bazu (koristiti ih samo po potrebi, na lokalnom računalu ne morate navoditi):
$ mysql -h poslužitelj -u root -pzaporka
Kreiranje baze:
> CREATE database [ime baze];
Prikaz svih baza:
> SHOW databases;
Prebacivanje na određenu bazu:
> USE [ime baze];
Prikaz svih tablica u bazi:
> SHOW tables;
Prikaz opisa stupaca tablice:
> DESCRIBE [ime tablice];
Brisanje baze:
> DROP database [ime baze];
Brisanje tablice:
> DROP table [ime tablice];
Prikaz svih podataka u tablici:
> SELECT * FROM [ime tablice];
Osvježavanje dozvola na bazama (u slučaju promjena):
> FLUSH PRIVILEGES;

Kreiranje tablice primjer 1:
> CREATE TABLE [ime tablice] (firstname VARCHAR(20), middleinitial VARCHAR(3),
lastname VARCHAR(35),suffix VARCHAR(3), officeid VARCHAR(10),
userid VARCHAR(15),username VARCHAR(8),email VARCHAR(35),phone VARCHAR(25),
groups VARCHAR(15),datestamp DATE,timestamp time,pgpemail VARCHAR(255));

Kreiranje tablice primjer 2:
> CREATE TABLE [ime tablice] (personid int(50) not null auto_increment
primary key, firstname varchar(35), middlename varchar(50), lastname
varchar(50) default ‘prezime’);

Ocijeni sadržaj
(1 Glasaj)

Newsletter prijava


Kako izgleda naš posljednji newsletter pogledajte na ovom linku.

Skeniraj QR Code mobitelom i ponesi ovu stranicu sa sobom

Raspberry Pi kao mala vremenska stanica - VidiLAB - QR Code Friendly