Odavno me privlacio Arduino i nakon jednog nesretnog slucaja ( obijena mi je alatnica i ukradeno robe za nekoliko stotina maraka ) odlucio sam napraviti alarm baziran na arduinu. Imam 3 senzora i sirenu za sad. Kad sam to zavrsio imao sam viska jos jedan arduino. Surfanjem otkrio sam da dosta raje pravi svoje meteo stanice sa arduinom. Na prvi pogledmi se tesko cinilo programiranje ovih mikrokontrolera ali vrenemom mi se dopalo pa sam narucio raznih senzora i dodataka iz Kine. Ako je neko zainteresovan mogu poslat link pouzdanom trgovca sa eBaya. Trenutno stanje projekta je da sve senzore ocitavam bez problema ali samo na serial portu. Izazov mi je podatke slati na thingspeak ili data.sparkfun . Pokusao sam sa jeftinim wifi modulom ESP8266 (3$). Na prvi pogled ekstra ali trazi 3.3v i pravi ttl to usb konverter nazalost ne moze se arduino iskoristi za tu svrhu. Uspio sam se spojiti na svoj wifi ali spojiti se na udaljeni server nikako. Slucajno sam spojio modul na 5v i izgorio je uz bijeli dim Odustao od tih modula i sad cekam Ethernet shield za arduino.U alatnicu sam montirao jedan stari router na kojem je openwrt. Uz pomoc PoE adaptera napajat cu stanicu sa 12v iz routera koji sad sluzi kao wifi bridge i repeater. Imam jos par projekata oko arduina pa ako nekog zanima mogu postat. Evo par slika a uskoro nastavak slijedi. Evo popis dijelova do sad: Arduino Uno R3 4$ BMP180 1.5$ - pritisak atmosferski BH1750 1.5$ - svjetlost u lux DHT22 3$ - temperatura i vlaznost W5100 Ethernet shield 6.5$
Re: DIY: Meteo stanica Nedavno sam naletio na neki comunity u njemackoj a imaju i u hr dosta clanova, sa arduinom prave senzore za grmljavinu. Npr tcom se kaci na tu mrezu i pronalazi geografski gdje mogu imati problem sa grmljavinom. Neznam jesi li probao spojiti senzor pokreta ( nekako mi to ima logike za protuprovalni sistem)
Re: DIY: Meteo stanica Super stvar, i ja se malo igram sa RP2, doduše još uvijek na nekim template projektima sa Win10, ali za igranje - super Kako izgledaju podaci koje šalješ?
Re: DIY: Meteo stanica Jos ne saljem nista jer cekam shield da stigne iz Kine. Mislio sam slati podatke na data.sparkfun.com a onda na stranici analog.io praviti grafove. Prikacit cu sliku serial outputa ispod. Protuprovalna sam napravio dva sistema. Jedan jednostavni samo upalis struju i nakon 40s aktivira se. Drugi je malo slozeniji i koristi RFID tagove ali ga nisam jos instalirao u kucu.
Re: DIY: Meteo stanica Sto se tice emitovanja na things speak imam sketch koji radi za DB18S20 i DHT11. Ja sam nov ovde pa mi recite kako da uploadujem sketch. Mogu i da ga posaljem na email. Moj email je moje user name at gmail.com
Re: DIY: Meteo stanica Sto se tice koriscenja BMP180 za pritisak nisam probao ali sketch koji radi sa ESP8266 je uploadovao Danijel Pticar iz Zagreba na https://sites.google.com/site/pticar/mcu. Ja sam ga skinuo i kompajlira se za ESP. Nisam ga jos probao.
Re: DIY: Meteo stanica Sprzio sam jedan ESP8266 a drugi nesto i nece da radi. Imam kuci ethernet shield i router u bridge modu tako da mi to vise ne treba. Svakako hvala druze , nadam se da cu ubrzo zavrsiti ovaj projekat pa cu postati rezultat sa linkom
Re: DIY: Meteo stanica To kad nece da radi obicno je hladan lem negde. Prelemi mozda proradi. Ja sprzio 2 . Zainteresovan sam kako si resio alarm - onaj na 40 sekundi.
Re: DIY: Meteo stanica Pa ja sam ovako rijesio. Imam relay koji ako nije spojen sa arduino onda je upaljen. Kad tek upalim "alatm" na sekundu se cuje sirena dok se arduino ne pokrene.Arduino Nano ima svoj 5V USB adapter a sirena ima ciglu od 12V.Ova dva kruga su potpuno izolirana jer je bilo nekih smetnjih ako koristim 12V i na arduinu.Vjerovatno je 5v regulator na arduino bio preslab da napaja senzore i relay. void setup pinMode(sirena, OUTPUT); digitalWrite(sirena, LOW); delay(20000); digitalWrite(sirena, HIGH); delay(1000); digitalWrite(sirena, LOW); delay(1000); digitalWrite(sirena, HIGH); delay(1000); digitalWrite(sirena, LOW); delay(20000); void loop digitalWrite(sirena, LOW); if (digitalRead(pir1) == HIGH) { digitalWrite(sirena, HIGH); delay(300000); } if (digitalRead(pir2) == HIGH) { digitalWrite(sirena, HIGH); delay(300000); } if (digitalRead(pir3) == HIGH) { digitalWrite(sirena, HIGH); delay(300000); } Ovo sam na telefonu otipkao pa ima vjerovatno gresaka ali eto princip. Mozes for loop i array koristi ali za ovako jednostavnu namjenu nije bilo potrebe.
Re: DIY: Meteo stanica E bas ti hvala ja cu to probati sa esp8266 tako da ukljuci sirenu a i posalje nesto u cloud - mozda twiter ili sms videcu. Kad ga zavrsim javicu.
Re: DIY: Meteo stanica Mozes mail poslati na 387********@mms.bhmobile.ba ja mislim i doci ce ti na telefon.
Re: DIY: Meteo stanica Evo ovo je sketch za ThingSpeak Rezultate pogledaj na kanalu https://thingspeak.com/channels/45756/ Code: /* * This sketch sends data via HTTP GET requests to data.sparkfun.com service. * * You need to get streamId and privateKey at data.sparkfun.com and paste them * below. Or just customize this script to talk to other HTTP servers. * This script is customised by R. Korda for 3 DS18B20 waterproof sensors and * power supply voltage and for ThingSpeak servers * My Blog * https://lifeandesp8266.wordpress.com */ #include <ESP8266WiFi.h> #include <OneWire.h> #include <DallasTemperature.h> #include <stdlib_noniso.h> //enabling reading voltage of pover supply extern "C" { #include "user_interface.h" uint16 readvdd33(void); } #define ONE_WIRE_BUS 2 // DS18B20 pin gpio2 OneWire oneWire(ONE_WIRE_BUS); DallasTemperature DS18B20(&oneWire); const char* ssid = "******"; //your router ssid const char* password = "*********"; // your password for wifi router const char* host = "api.thingspeak.com"; const char* APIkey = "***************"; //API key for thingSpeak channel float oldTemp; int MinSleep; //how many minutes to sleep void setup() { Serial.begin(115200); delay(10); MinSleep=10; // We start by connecting to a WiFi network // Mi pocinjemo sa spajanjem na WiFi mrezu Serial.println(); Serial.println(); Serial.print("Connecting to "); Serial.println(ssid); WiFi.begin(ssid, password); while (WiFi.status() != WL_CONNECTED) { delay(500); Serial.print("."); } Serial.println(""); Serial.println("WiFi connected"); Serial.println("WiFi spojen"); Serial.println("IP address: "); Serial.println("IP adresa: "); Serial.println(WiFi.localIP()); } void loop() { delay(3000); float temp; //defining temperature variables , definisanje temperaturnih promenljivih float temp1; //definiing temperatuse for 2nd sensor // float temp2; //defining variable for 3rd sensor float vdd; //variable for power supply volatage DS18B20.requestTemperatures(); temp = DS18B20.getTempCByIndex(0); //reading temperature from senor 1 temp1 = DS18B20.getTempCByIndex(1); //reading temperature from sensor 2 // temp2 = DS18B20.getTempCByIndex(2); // reading temp from sens 3 delay (500); temp = DS18B20.getTempCByIndex(0); //second reading because first reading gives result 85 temp1 = DS18B20.getTempCByIndex(1); // temp2 = DS18B20.getTempCByIndex(2); // read voltage of power supply - Analog pin should float vdd = readvdd33() / 1000.0; Serial.print("Temperature: "); Serial.println(temp); Serial.print("Temperature 1: "); Serial.println(temp1); Serial.print("Voltage: "); Serial.println(vdd); // Serial.print("Temperature2: "); // Serial.println(temp2); //Conversion from float to strings //setting up variables char charVal[12]; char charVal1[12]; // char charVal2[12]; char charVdd[12]; //actual conversion dtostrf(temp, 8, 2, charVal); dtostrf(temp1, 8, 2, charVal1); // dtostrf(temp2, 8, 2, charVal2); dtostrf(vdd, 8, 2, charVdd); Serial.print("connecting to "); Serial.println(host); // Use WiFiClient class to create TCP connections // Koristimo WiFiClient klasu da otvorimo TCP konekcije WiFiClient client; const int httpPort = 80; if (!client.connect(host, httpPort)) { Serial.println("connection failed"); Serial.println("Konekcija nije uspela"); return; } delay(10); // We now create a URI for the request // Sada pravimo URL za zahtev String url = "/update?key="; url += APIkey; url += "&field4="; url += charVal;//String(temp); url += "&field5="; url += charVal1;//String(temp1); url += "&field6="; url += charVdd; // url += "&field7="; // url += charVal2;//String(temp2); Serial.print("Requesting URL: "); Serial.print("Zahtev za URL: "); Serial.println(url); // This will send the request to the server // Ovo salje zahtev serveru client.print(String("GET ") + url + " HTTP/1.1\r\n" + "Host: " + host + "\r\n" + "Connection: close\r\n\r\n"); delay(10); // Read all the lines of the reply from server and print them to Serial // while (client.available()) { String line = client.readStringUntil('\r'); Serial.print(line); } delay(10); Serial.println(); Serial.println("closing connection"); Serial.println("closing connection going to sleep "); Serial.print (MinSleep); Serial.println(" minutes "); Serial.print("Millis-3: "); Serial.println(millis()); //how long it was up 1 sec is 1.000.000 millis ESP.deepSleep(MinSleep*60000000, WAKE_RF_DEFAULT); //sleep for MinSleep minutes //1 minute is 60.000.000 millis }
Re: DIY: Meteo stanica Koji adapter koristis za programiranje ESP8266? Kod mene je ovaj modul , vidim SSID od modula ali serial nikako nece.
Re: DIY: Meteo stanica Pa ja koristim ovaj. http://www.banggood.com/FT232RL-FTDI-US ... 17226.html Kad ukapiram kako da prikacim sliku okacicu. Ja koristim ESP-12 i 12E module koje zalemim na proto board gde takodje imam pin hedere, otpornike, kondenzatore, napajanje. Ovaj tvoj modul ESP-201 sam dobio pre tri dana nisam ga jos probao. Googluj malo o njemu - imali su i losih primeraka. Neki se kunu u njega zato sam ga i uzeo. I zbog antene treba mi jaci domet za bastu.
Re: DIY: Meteo stanica Taj sam mislio i uzeti jer je Arduino Uno 5v pa moram voltage divider koristi ali izgleda nisam to bas slozio. Kod mene eto ima SSID ali serial ne reaguje. Danas mi je stigao i ethernet shield pa cu razmisliti sta da koristim.
Re: DIY: Meteo stanica Proveri baud rate - obicno za ESP treba da bude 115200 "No line ending" i proveri koji ti je COM. Meni je COM5. Arduino je COM3
Re: DIY: Meteo stanica Ako vidis SSID onda je modul ziv. Samo nisi uspostavio pravilne elemente za komunikaciju. Kad ga spalis nema SSID-a. Ja sam jedan definitivno spalio a drugi ima SSID za sekundu pa ga nema. Negde je ladan lem.
Re: DIY: Meteo stanica Ako vidis SSID onda je modul ziv. Samo nisi uspostavio pravilne elemente za komunikaciju. Kad ga spalis nema SSID-a. Ja sam jedan definitivno spalio a drugi ima SSID za sekundu pa ga nema. Negde je ladan lem.