*/ ?>

UVOD

U ovom tutorijalu opisat ćemo kako jednostavno možemo sve vrijednosti što mjerimo senzorima(vlaga,temperatura) spremiti u oblak na internetu te im pristupati s drugih uređaja putem interneta. Za mjerenje i slanje podataka koristit ćemo Croduino Nova 2, a servis koji nam omogućuje spremanje podataka je dweet.io.

ŠTO JE DWEET.IO?

Dweet.io je servis na internetu koji nam omogućuje jednostavno spremanje podataka s našeg mikrokontrolera koji je povezan na Internet. Ovaj servis je jednostavan zato što ne zahtijeva nikakvu registraciju ii prijavu samo jednostavno pošaljemo podatke i oni su spremni za pregled, jedini problem je što svatko može doći do naših podataka. Kada je Croduino Nova 2 povezan na Internet jednostavno ga samo trebamo usmjeriti na dweet.io stanicu i u URL dodati naziv varijable koju želimo spremiti na servis. Podaci se na stranici čuvaju jedan dan i to samo zadnjih 5 poslanih dweetova( skup podataka koji se pošalje u jednom slanju). Ako trebamo da podaci ostanu duže sačuvani možemo koristiti opcije koje se plaćaju.

KAKO POVEZATI?

Za primjer ćemo koristiti DHt11 senzor temperature i vlage, te ćemo izmjerene vrijednosti slati na dweet.io . Povezivanje DHT11 senzora na Croduino Nova 2 je vrlo jednostavno jer na senzor trebamo povezati +3.3V na Vcc pin, GND na GND pin te DATA pin na pin 5 Croduina. Pinout za DHT11 i DHT22 senzore je prikazan na slici, a kao što vidimo imaju isti raspored što nam omogućuje jednostavnu zamjenu ako je potrebno(samo u kodu treba promijeniti koji senzor koristimo).

ARDUINO KOD

Za ovaj primjer koda trebamo DHT biblioteku, te trebamo dodati Croduino Nova2 u Arduino IDE prema tutorijalu. Ako ne znate instalirati biblioteku pogledajte tutorijal koji opisuje instalaciju biblioteke. Na slici vidimo kako izgleda kada podatke pošaljemo na dweet.io. Crvenim je označeno gdje nam piše ime uređaja(koje smo odabrali u kodu) s kojega šaljemo podatke. Žuti pravokutnik prikazuje dio u kojemu je zapisano kada su podaci poslani, te zeleni prikazuje podatke koje smo poslali. možemo vidjeti i kako je spremljeno samo posljednjih 5 poslanih podataka. U kodu smo za ime odabrali CroduinoNova2, ali to možemo promijeniti te onda prilikom pretraživanja u internet pregledniku trebamo unijeti odgovarajuće ime koje smo odabrali.  
//uključujemo ESP8266WiFi biblioteku koja nam omogućuje rad s WiFijem na ESP8266 modulu
#include "ESP8266WiFi.h"
//uključujemo DHT biblioteku koja nam omogućuje rad s DHT senzorom temperature
#include "DHT.h"
//postavljamo SSID i lozinku mreže na koju se spajamo
const char* ssid = "SSID_mreže";
const char* password = "Lozinka";
//definiramo pin na koji spajamo DHT senzor
#define DHTPIN 5
//definiramo vrstu senzora koju koristimo(DHT11 ili DHT22)
#define DHTTYPE DHT11
//Konstruktor za DHT biblioteku
DHT dht(DHTPIN, DHTTYPE, 15);
//postavljamo host na koji šaljemo podatke
const char* host = "dweet.io";
void setup() {
//započinjemo serijsku komunikaciju(115200 bauda)
Serial.begin(115200);
delay(10);
//započinjemo komunikaciju s DHT senzorom
dht.begin();
Serial.println();
Serial.println();
Serial.print("Connecting to ");
Serial.println(ssid);
//povezujemo se na mrežu čije smo podatke unijeli na početku
WiFi.begin(ssid, password);
//sve dok se ne povežemo izvodi se while petlja kako ne bi nastavili daljnje izvođenje koda dok nismo povezani na mrežu
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
//Na serial monitor ispisujemo da smo povezani, te ispisujemo IP adresu
Serial.println("");
Serial.println("WiFi connected");
Serial.println("IP address: ");
Serial.println(WiFi.localIP());
}
void loop() {
Serial.print("Connecting to ");
Serial.println(host);
//koristimo WiFiClient klasu da kreiramo TCP vezu
WiFiClient client;
const int httpPort = 80;//postavljamo port na 80
//povezujemo se na host(stranicu koju smo unijeli na početku)
//ako se nismo uspjeli povezati vraćamo se na početak void loop-a
if (!client.connect(host, httpPort)) {
Serial.println("connection failed");
return;
}
//spremamo vlagu sa senzora u varijablu h
int h = dht.readHumidity();
// spremamo temperaturu sa senzora u varijablu t
int t = dht.readTemperature();
//šaljemo zahtjev na host te u tom zahtjevu mu šaljemo temperaturu i vlagu sa senzora
//ako želimo poslati još neki parametar na host trebamo dodati u zahtjev sljedeću liniju
//iza String(h) + dodajemo( "&naziv_parametra=" + String(varijabla)+)
//na kraju poslije svih varijabli mora biti " HTTP/1.1\r\n" ...
//u internet preglednik upisujemo https://dweet.io/get/dweets/for/CroduinoNova2 (umjesto CroduinoNova2 možemo staviti ime koje želimo
//ali onda pretražujemo sa time imenom)
client.print(String("GET /dweet/for/CroduinoNova2?temperature=") + String(t) + "&humidity=" + String(h) + " HTTP/1.1\r\n" +
"Host: " + host + "\r\n" +
"Connection: close\r\n\r\n");
delay(10);
//pročitamo sve linije odgovora hosta te ih ispisujemo na Serial monitor
while(client.available()){
String line = client.readStringUntil('\r');
Serial.print(line);
}
//ispisujemo na Serial monitor da je veza zatvorena
Serial.println();
Serial.println("closing connection");
//pauza od 10 sekundi
delay(10000);
}

KKM

Pojam "litijska baterija" odnosi se na obitelj različitih litij-metalnih kemija, koji sadrže mnoge vrste katoda i elektrolita, ali sve s metalnim litijem kao anodom. Baterija zahtjeva 0,15 do 0,3 kg litija po kWh. Litijske baterije su primarne baterije koje imaju litij kao anodu. Ovakve baterije izdvajaju se od ostalih baterija u svojoj visokoj gustoći punjenja (dugotrajnosti) i visokoj cijeni po jedinici. Ovisno o dizajnu i korištenim kemijskim spojevima, litijske baterije mogu proizvesti napone od 1,5 v do oko 3,7 V.

KKM

Početnik si s Croduinom. Ili s elektronikom? Za oko ti je zapeo određeni modul, ali ne znaš kako ga koristiti? Bez brige, tu je KKM! Kako Koristiti Module (KKM) je serija blog tutorijala e-radionice na kojoj ćeš pronaći sve što ti treba kako bi započeo rad sa svojim omiljenim modulom. Tutorijali obuhvaćaju: tehničke karakteristike, princip rada, upute kako povezati modul s Croduinom te osnovni kod. Sve ostalo prepuštamo tebi na maštu.

KKM