Raspberry Pi kao mala vremenska stanica - ŠTO NAM JE SVE POTREBNO? - 5.0 out of 5 based on 1 vote
Raspberry Pi kao mala vremenska stanica - ŠTO NAM JE SVE POTREBNO?

Raspberry Pi kao mala vremenska stanica - ŠTO NAM JE SVE POTREBNO?

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’);

(Stranica 2 od 3)
« Prev All Pages Next » (Stranica 2 od 3)
Ocijeni sadržaj
(1 Glasaj)

// možda će vas zanimati

Newsletter prijava


Kako izgleda naš posljednji newsletter pogledajte na ovom linku.


Copyright © by: VIDI-TO d.o.o. Sva prava pridržana.