ESP8266 temperaturni logger

Projekti naših članova foruma koji su još uvijek u fazi izrade.

Moderators: pedja089, stojke369, [eDo], trax

Cosa
Napredujem
Napredujem
Posts: 177
Joined: 09-08-2009, 10:55
Location: Hrvatska

ESP8266 temperaturni logger

Post by Cosa »

Pozdrav,

Evo jedan projekt i dokaz da se prate trendovi (Internet of Things-IoT) :-).
ESP 8266 mjeri temperaturu i svakih trideset sekundi šalje izmjerene vrijednosti na ThingSpeak, gdje se sve bilježi i prikazuje u skoro realnom vremenu.
https://thingspeak.com/

Prije nekoliko tjedana sam nabavio ESP8266 verziju 201. Zatim gore stavio NodeMcu firmware, malo pretraživao internet i vidio da su njegove mogućnosti uistinu velike.
http://nodemcu.com/index_en.html

Jako je slično arduinu, budući da postoji mnoštvo već gotovih programa (slično kao kod arduina libovi) koje je potrebno samo prilagoditi svojim potrebama. Konkretno, u mom slučaju koristim program za mjerenje temperature koji je dat kao primjer na NodeMcu GitHub-u. Samo sam još dodao i dio za komunikaciju sa thingspeak-om.
Moram napomenuti da sam se malo i mučio, jer je potrebno znanje java scripta, css i lua jezika da bi se ovo sve napravilo. Naročito kad se ide upogoniti ovaj google-ov plugin sa instrumentom za prikaz temperature. Iako thingspeak daje već "gotov" plugin, ipak je potrebno malo modifikacije u java script i css kodu. Budući da se do sada nisam susretao sa tim to mi je oduzelo poprilično vremena i još više živaca :-).
Inače uz mjerenje i slanje temperature ESP također vrti i web server, pa još pokušavam poslati naredbu sa thingspeaka da pali ili gasi diodu.

Želio bih i nekakvo grafičko sučelje, poput ovoga što je ovaj tip napravio sa Rpi na emoncms:
https://www.youtube.com/watch?v=1d797idBJ2M
Emoncms ima tu mogućnost grafičkog sučelja (dashboard), ali također zahtijeva malo više programerskog umijeća.
Nakon ovoga svega, došao sam do zaključka da je ova stvarčica ipak više za programera nego za pogonskoga električara :D.
Trebat će pošteno zagrijati stolicu nekoliko mjeseci :-)!

Evo i video:
https://vid.me/8xA3
User avatar
bob4
Stariji član
Stariji član
Posts: 2572
Joined: 31-01-2010, 16:12
Location: Kutina

Re: ESP8266 temperaturni logger

Post by bob4 »

Cosa; ima li dodatnih informacija. Ja sam došao u posjed dva komada ESP8266 i htio bi ih povezati međusobno!!!
Cosa
Napredujem
Napredujem
Posts: 177
Joined: 09-08-2009, 10:55
Location: Hrvatska

Re: ESP8266 temperaturni logger

Post by Cosa »

Ima, ima informacija!
Zamijenio sam zadnjih mjesec i pol dana lemilicu sa notepadom++ :-).
U međuvremenu od zadnjeg posta nabasao sam na jedan opensource program (openHAB) koji ima upravo sve ovo što sam gore opisao da mi treba.
Jedini nedostatak je što računalo mora biti stalno upaljeno (veći račun za struju) zbog toga programa, znači nije u oblaku, kao ovi gore navedeni servisi.
Iako bi se i taj nedostatak mogao riješiti tako da se uzme raspberry pi ili složiti neko malo itx računalo sa atom,AM1 ili sl. konfiguracijom koja troši malo energije.

Inače za komunikaciju između esp i openHAB-a ja koristim mqtt protokol, ima svega par naredbi i lako se skuži.

Evo i par screenshot-ova kako izgleda sučelje:
http://i.imgur.com/NvA3Uwy.png
http://i.imgur.com/teWAD14.png

Trenutačno mogu kontrolirati dva izlaza (ovo što piše utičnica i svjetlo), te vidjeti stanje jednog ulaza ("nekakav senzor").
Datum i vrijeme uzimam sa carnetovog NTP servera, a vanjsku temperaturu i vlažnost sa yahoo weather servisa.
Unutarnju temperaturu, te kontrolu i očitanja temperature iz kotlovnice planiram uraditi s još jednim esp i arduinom. Jer sam esp ima malo memorije koja se brzo potroši, a arduino također super radi s openHAB-om.

Kako sam u prvom postu već napisao radim ovo sam, tj. učim u hodu bez ičije pomoći (a dobro bi došao iskusan programer) pa zato ide dosta sporije.
Još da napišem da i sam esp zna povremeno biti bugovit, ali postoji velika mogućnost da je to zbog mojeg programiranja :-).

Eto, nadam se da ću uspjeti ovo dovesti do kraja, a kad, to samo Bog zna :D.
Maki
Odlično uznapredovao
Odlično uznapredovao
Posts: 766
Joined: 02-07-2012, 12:54

Re: ESP8266 temperaturni logger

Post by Maki »

Wow :shock:
Iskreno, ne razumijem se puno u to :oops: .
No, svaka čast !!
Bravo !
Cosa
Napredujem
Napredujem
Posts: 177
Joined: 09-08-2009, 10:55
Location: Hrvatska

Re: ESP8266 temperaturni logger

Post by Cosa »

Nakon pooooduže pauze zbog nedostatka vremena "ubo" sam esp ponovno na proto board.
A u međuvremenu dosta toga je se i promijenilo. Izašli su neki novi firmware-i, (basic, arduino, espeasy i još neki), ali meni se odmah svidio espeasy. A razlog tomu je što ništa nije potrebno programirati :-), sve radi skoro pa plug 'n play. Naime, za podešavanje (senzora, releja, servo motora, timera,displaya) koristi se grafičko web sučelje. Radi toga je se malo i ograničeno sa nekim primjenama koje bi se dale bolje isprogramirati, ali za napraviti brzu i jeftinu automatiku sa upravljanjem preko interneta ovo je prava stvar.
Ovdje piše koje senzore može koristiti, a povremeno dodaju i nove:
http://www.esp8266.nu/index.php/Main_Page

Espeasy trenutno koristim sa domoticz programom:
https://www.domoticz.com/
Iako radi i sa openhab mqtt protokolom (baš što mi treba), thinghspeak, emoncms ...
Evo slika šta sve podržava od programa, servisa i protokola:
http://i.imgur.com/KwtuvOK.jpg

Da bi sve proradilo potrebno je prvo instalirati u arduino IDE podršku za ESP8266, pa tek onda flashati chip sa zadnjim firmware-om.
Postupak se nalazi ovdje:
http://www.esp8266.nu/index.php/Tutoria ... are_Upload

Nakon toga treba uraditi osnovnu konfiguraciju u web sučelju, te instalirati domoticz i već se može početi sa radom.
Meni je nakon što sam pročitao tutoriale, trebalo oko pola sata da za probu napravim termostat.
Spojio ds18b20, postavio pull-up otpornik, upisao id broj za temperaturu iz domoticz programa i sve je odmah proradilo.
Još treba otvoriti port 8080 na routeru i samo upisati svoju ip adresu i možete kontrolirati uređaje od bilo kuda.
Ja sam da bi bilo lakše registrirao besplatnu no-ip adresu, da ne moram svaki put tražiti ip adresu koja se mijenja svaki dan ili resetom routera.
Trebam napomenuti da postoji i domoticz besplatna android aplikacija, ali radi jako dobro (prilagođava prikaz mobilnim uređajima) i iz samog web browsera na telefonu.

Sve je rađeno samo kao test i na proto board-u, pa nisam nešto baš dugo uređaj držao uključenim da provjerim i stabilnost istoga. Jučer je radio cijeli dan bez ijednoga reseta, a ljudi pišu (ako im je za vjerovati) da im radi već mjesecima stabilno, a koriste ga (Esp8266) za stvarno svakave svrhe.
Slike:
http://i.imgur.com/M1inB3u.jpg
http://i.imgur.com/dslQXky.jpg
http://i.imgur.com/oZPBqHC.jpg

Eto za sad toliko, a kad uspijem podesiti da radi sa openhabom (mqtt) i ovim postavkama iz mog prethodnoga posta bit će update :-).
User avatar
niho
Pravi forumaš
Pravi forumaš
Posts: 1895
Joined: 24-09-2009, 17:26
Location: Brcko, Bosnia and Herzegovina

Re: ESP8266 temperaturni logger

Post by niho »

Dobio sam dva esp8266 pa ću malo eksperimentisati. Možda ne bi bilo loše da ovo prebacimo u novu grupu. Kao što je to urađeno sa mikrokontrolerima ili slično. Ovdje se otvara jako puno novih stvari.
Cosa
Napredujem
Napredujem
Posts: 177
Joined: 09-08-2009, 10:55
Location: Hrvatska

Re: ESP8266 temperaturni logger

Post by Cosa »

Super, ajd drago mi je da je još netko s foruma počeo, tako da ne bijem boj sam :-). Znam da je Trax još i prije krenuo s ovim modulima, ali ništa ne piše do kud je dogurao.

Evo ja sam uspio upogoniti sa openhabom, i sve radi zadovoljavajuće dobro. Termostat radi super! Može se staviti histereza po želji, a isto tako podržava programiranje po vremenu i danima u tjednu (cron). Ali ima opcija (to još nisam probao) da se sinkronizira i sa google kalendarom.
A moja namjera bi bila napraviti nešto poput PLC-a, znači odrediti koje pinove koristiti za ulaze, koje za izlaze, plus što imamo još jedan analogni pin. I to bi se onda sve lako poštelalo preko web browsera (ako se koristi espeasy firmware), a što se tiče samoga openhaba tamo napisati kao komentar sve opcije i onda ih samo po potrebi odkomentirati i prepraviti izbornike po želji.

Ja sad gledam da nadjem raspberry Pi ili orange Pi pa da mogu na njima vrtiti mqtt broker i openhab server. Malo sam već gledao, ima zezanja sa linuksom, ali mislim da bi se uspjelo riješiti. A onda bi se dobilo još nešto dodatnih pinova od raspberry/orange Pi-a, pa bi se svašta moglo automatizirati. A da ne govorim kako raspberry Pi može vrtiti i kodi, tako bi se riješila ne samo automatika, nego i multimedijalni centar :D .

Kad uhvatim vremena napisat ću malo opširniji tekst i snimiti video, zasad samo slike:
http://i.imgur.com/wlyuJDZ.jpg
http://i.imgur.com/CWa8RGw.jpg
http://i.imgur.com/k0FU9w4.jpg
http://i.imgur.com/EhLeN0V.jpg

I isprike moderatorima jer sve trpam u ovu temu (temp dataloger), ali ako nešto od ovoga uspijem završiti onda bi mogli to kasnije riješiti :-).
User avatar
bob4
Stariji član
Stariji član
Posts: 2572
Joined: 31-01-2010, 16:12
Location: Kutina

Re: ESP8266 temperaturni logger

Post by bob4 »

:lol: počeo sam se i ja igrati :lol:

Image
User avatar
Black
Odlično uznapredovao
Odlično uznapredovao
Posts: 981
Joined: 17-12-2008, 15:44

Re: ESP8266 temperaturni logger

Post by Black »

Naručio i ja dva komada, izgleda mi full jednostavna stvar, pa će bit igranja :D
User avatar
bob4
Stariji član
Stariji član
Posts: 2572
Joined: 31-01-2010, 16:12
Location: Kutina

Re: ESP8266 temperaturni logger

Post by bob4 »

Koristim ovaj soft: https://www.esp8266basic.com/
User avatar
Black
Odlično uznapredovao
Odlično uznapredovao
Posts: 981
Joined: 17-12-2008, 15:44

Re: ESP8266 temperaturni logger

Post by Black »

Stigo jedan, model 12E. Sad zasad samo sam ga uspio upalit i isprintat hello world u browseru. Za večeras dosta, al kolko mi se čini da ću dobro zagrijat stolicu, jer nudi milion mogućnosti
User avatar
Black
Odlično uznapredovao
Odlično uznapredovao
Posts: 981
Joined: 17-12-2008, 15:44

Re: ESP8266 temperaturni logger

Post by Black »

Izgleda da moj modem ne podržava portfowarding pa nemogu da ESP povežem dalje od kućne mreže.

Ali sad mene jedna druga stvar zanima, jel netko uspio spojit ESP s internetom bez 'pomoći' modema.

Konkretno: npr. Napravit jedan esp sa temperaturnim senzorom, i gdje god ima wifija da se on može zakačit(naravno šifru treba upisat) i da mu onda imam pristup preko neke stranice. Gledao sam to je moguće al su meni svi ti DNS i IP adrese i općenito internet špansko selo veliko
User avatar
pedja089
Administrator sajta
Administrator sajta
Posts: 7871
Joined: 20-02-2007, 14:50
Location: Beočin -Srbija

Re: ESP8266 temperaturni logger

Post by pedja089 »

Ja znam ako dignes TOR server da to moze sigurno. A sad, da li tor moze na ESP nemam pojma.
Druga opcija je DDNS, ali ja mislim da i za njega treba port forwarding.
I kad god je ESP na netu, on ce se zakaciti na DDNS server, i ostaviti mu svoju IP adresu. I kad ti kucas wwww.mojesp.konj dobices tu IP adresu koja je promenljiva. Ali koliko ja razumem i dalje ostaje potreba kad dobijes IP adresu da imas port forwarding. Da bi od rutera mogao da dodjes na ESP.
SlaveMKD
Posts: 9
Joined: 05-01-2018, 00:13

Re: ESP8266 temperaturni logger

Post by SlaveMKD »

Za da se prikaci ESP8266 na bilo koja mreza, moj predlog je sledeci:
jedan eksterni modul (hardverski sa tastatura ili poput aplikacija od telefon ili drug pametni ored (sa bluetooth)) da se upise ime na mreza i password i da se prati do kontroler koj poseduje ESP8266 modul, so cilj da moze ESP da se poveze na konkretna mreza, znaci konfiguracije u loop djel.
Cosa
Napredujem
Napredujem
Posts: 177
Joined: 09-08-2009, 10:55
Location: Hrvatska

Re: ESP8266 temperaturni logger

Post by Cosa »

Black wrote:Izgleda da moj modem ne podržava portfowarding pa nemogu da ESP povežem dalje od kućne mreže.

Ali sad mene jedna druga stvar zanima, jel netko uspio spojit ESP s internetom bez 'pomoći' modema.

Konkretno: npr. Napravit jedan esp sa temperaturnim senzorom, i gdje god ima wifija da se on može zakačit(naravno šifru treba upisat) i da mu onda imam pristup preko neke stranice. Gledao sam to je moguće al su meni svi ti DNS i IP adrese i općenito internet špansko selo veliko
Za ovo što želiš je dovoljno napraviti account na jednom od Iot servisa, i onda pomoću api key-a se esp spaja i ostavlja podatke na stranici. Prvi post u temi je primjer sa Thingspeak-om, samo što sam ja koristio NodeMcu, a pretpostavljam da ti koristiš arduino firmware. Za arduino imaš hrpu primjera na internetu. Portove sam morao otvarati samo zbog openhaba jer on instalira lokalni server, pa mu je nemoguće pristupiti izvana bez otvorenog porta.
User avatar
pedja089
Administrator sajta
Administrator sajta
Posts: 7871
Joined: 20-02-2007, 14:50
Location: Beočin -Srbija

Re: ESP8266 temperaturni logger

Post by pedja089 »

Ali to i dalje nije pristup ESP-u. To je da ESP ostavi negde neki podatak, ili ga pokupi.
Mene vise zanima direktan pristup, bez servera u sredini i na koje je sve to nacine izvodljivo.
Za taj pristup, dovoljan je bilo kakav server, uopste ne mora biti IoT. I samo sa post ili get poslati ili primiti podatke.
User avatar
Black
Odlično uznapredovao
Odlično uznapredovao
Posts: 981
Joined: 17-12-2008, 15:44

Re: ESP8266 temperaturni logger

Post by Black »

Za početak dovoljno je i da samo ostavlja podatke, tj.
kupi ih sa stranice.
Imam par uređaja koje moram ugradit ljudima u kuću. ESP mi treba na internetu da mogu provjerit kako je stanje sa uređajem, ako se desi neki kvar da mogu odmah od kuće znat okoprilike šta je itd.

Pedja ESP je čak i moguće programirat preko interneta, tako da je direktni pristup vjerovatno vrlo moguć, ali zasad meni je to zasad nemoguća misija.

Gledao sam te neke stranice uspio sam se na jednu registrirat al je brutalno skupa, ispalo bi me oko 20 dolara mjesečno kada bi spojio 4-5 espova na internet preko njih. A ja ih trebam barem desetak spojit i to samo za prvu ruku. Nije problem platit ali ipak toliko mi nema računice

Ništa još ću malo švrljat i surfat
User avatar
pedja089
Administrator sajta
Administrator sajta
Posts: 7871
Joined: 20-02-2007, 14:50
Location: Beočin -Srbija

Re: ESP8266 temperaturni logger

Post by pedja089 »

Nisam rekao da ne moze, nego da ne moze bez port forvardinga, ali onda ti ostaje problem oko dinamicke adrese.
Ako ti treba samo nadziranje necega, mozes naci bilo koji besplatan server, nakljucati neku malu skriptu koja bi zapisivala u fajl ono sto stigne sa ESP. Najlaksi prenos podataka je kao sto forum radi, samo u nastavku adrese posle .php? upises podatke. I skripta ih prosledi negde. Idealno bi bila baza podataka, ali po meni puno jednostavnije samo txt fajl. npr ...posting.php?mode=reply&f=26&t=16008 promenljive i vrdnosti mogu biti bilo koje. A php skripta bi izgledala ovako nekako

Code: Select all

<html>
<body>
<?php
echo "POST Vars: <br/>";
print_r ($_POST);
echo "<br/>GET Vars: <br/>";
print_r ($_GET);

$myfile = fopen("1.txt", "w") or die("Unable to open file!");

$txt = "POST Vars: \r\n";
fwrite($myfile, $txt);

$txt = print_r ($_POST, TRUE);
fwrite($myfile, $txt);

$txt = "\r\n GET Vars: \r\n";
fwrite($myfile, $txt);

$txt = print_r ($_GET, TRUE);
fwrite($myfile, $txt);

fclose($myfile);

?> 
</body>
</html>
I posle treba samo da otvoris 1.txt i pogledas sta je poslalo koji ESP. Inace ova skripta radi i sa POST i sa GET. Valjda sam bar malo pomogao.
User avatar
Black
Odlično uznapredovao
Odlično uznapredovao
Posts: 981
Joined: 17-12-2008, 15:44

Re: ESP8266 temperaturni logger

Post by Black »

Ok ajmo reć da kontam šta želiš reć, al nemogu to izvest bez nečije pomoći. Ako imaš živaca i misliš da bi to moglo ić jednostavno možemo pokušat.
Kako ESP-u naredit da uđe na taj server i to šalje?
User avatar
pedja089
Administrator sajta
Administrator sajta
Posts: 7871
Joined: 20-02-2007, 14:50
Location: Beočin -Srbija

Re: ESP8266 temperaturni logger

Post by pedja089 »

Na ESP treba samo da otvoris stranicu gde se nalazi PHP skripta. Recimo da je taj PHP kod postavljen na el.ba i da se zove skripta.php
Onda ESP treba samo da otvori ovaj link:
www.elektronika.ba/skripta.php?mode=reply&f=26&t=16008
I u tekst fajl 1.txt ce se upisati
mode=reply&f=26&t=16008
Odnosno manje vise sve posle ? ce se upisati. Sa znakom & dodajes novu promenljivu.
Posle u php mozes sta oces, mozes cak poslati i mail ako dodju neki podatci koji ne valjaju.
Ja prakticno nemam nikakvo znanje u PHP, a ESP nista, nula...
Mogu ti samo dati savete kako sta funkcionise, sto znam, ako ne pogresim puno.

Inace otvaranjem onog linka gore na bilo koji nacin ce poslati podatke.
Malo googlanja i evo ga
https://techtutorialsx.com/2016/07/17/e ... -requests/
Samo njihov link zameni sa linkom ka ovoj skripti na tvom serveru. Ono sta ne znam koliko je ta skripta bezbedna, i koliko pizdarija neko moze napraviti sa tim sta moze poslati u nju.
Post Reply