Giter Site home page Giter Site logo

martinius96 / meteostanica-arduino-esp Goto Github PK

View Code? Open in Web Editor NEW
5.0 2.0 1.0 2.46 MB

Meteostanica založená na klientskom móde zariadení Arduino, ESP8266, ESP32 komunikujúcich so vzdialeným webserverom, ktorý archivuje a vizualizuje dáta.

Home Page: http://arduino.clanweb.eu/meteostanicav2/

License: MIT License

CSS 5.58% PHP 33.63% JavaScript 7.26% HTML 53.45% Hack 0.08%
arduino ethernet wifi esp8266 esp32 meteostanica weather-station bootstrap php7 html5

meteostanica-arduino-esp's Introduction

Meteostanica-Arduino-ESP

  • free verzia neobsahuje checksum overenie nameraných údajov (-127 pri DS18B20 pri zlom zapojení, poruche senzorov), neinformuje o chybných senzoroch, dáta webserver prijíma po HTTP protokole GET metódou

Webové rozhranie projektu Meteostanica

Meteostanica ponúka:

  • Záznam 3x teploty, 1x atmosférický tlak (možnosť prepočítavať na hladinu mora, možnosť určovať aj nadmorskú výšku), 1x vlhkosť vzduchu
  • Grafické používateľské rozhranie (responzívne)
  • Výpis posledných prijatých dát do tabuľky s overením konektivity
  • Tabuľkový výpis posledných 1000 meraní
  • Login systém
  • Archivácia v 5-15-minútových intervaloch do MySQL databázy, Google Grafy (náhrada za CanvasJS) - výpis grafov aktuálny deň + 7 posledných dní
  • Orientačná prognóza počasia z nameraných údajov
  • Reset dosky na diaľku (Vo free verzii v mikrokontroléroch logika nie je implementovaná, doska sa nereštartuje)
  • Log prihlásení/zmena loginu
  • Indikátor stavu pripojenia dosky
  • Zmena názvov jednotlivých izieb/názvov senzorov

Hardvér

Komunikačný hardvér pre meteostanicu (IBA HTTP - 80):

  • Arduino Uno + Ethernet shield Wiznet W5100 - HTTP
  • Arduino Uno + Ethernet modul Wiznet W5200 až W5500 - HTTP
  • ESP8266 (NodeMCU, Wemos D1 Mini) - HTTP, možné aj HTTPS
  • ESP32 (DevKit) - HTTP, možné aj HTTPS

Kombinácie senzorov (zdrojové kódy vyhotovené pre):

  • Variant 1 - DS18B20 + DHT22 + BMP280
  • Variant 2 - DS18B20 + DS18B20 (outdoor) + BME280

Softvér

Softvérové technológie pre meteostanicu:

  • PHP 5.6 / 7+
  • HTML 5
  • CSS
  • AJAX - spustenie série .php scriptov pre výpis
  • Google Charts - čiarové grafy pre časovú reprezentáciu vývoja dát, budíkové reprezentácia maxím, miním
  • Wiring - zjednodušený C jazyk pre Arduino IDE

Prekvizita

Pre spustenie projektu je nutné:

  • Mať webserver v LAN sieti, alebo na internete, kam sa bude Arduino pripájať
  • Webserver musí byť na HTTP protokole (Arduino nepodporuje HTTPS), podpora HTTPS nie je pre free verziu implementovaná na strane mikrokontorlérov
  • Webserver musí mať MySQL databázu (napr. PHPMyAdmin)
  • Webserver musí mať prístup na internet (knižnice na CDN serveroch: Jquery, Bootstrap)

Inštalácia a spustenie projektu

  • Obsah zložky examples/src/ nakopírovať do: C:/Users/(ACTUAL_USER)/Documents/Arduino/libraries
  • Zo zložky /sql/ importovať .sql súbor cez phpmyadmin do databázy - import štruktúry tabuľky / aj vzorových dát
  • V súboroch /system/connect.php a /system/nodemcu/add.php je potrebné zmeniť údaje k MySQL databáze
  • Default login do webaplikácie je: admin heslo: admin (meno a heslo uložené v SHA1 formáte)
  • Do použitého zdrojového kódu pre mikrokontróler je potrebné upraviť adresu webu a cestu k add.php súboru, kam bude vykonávať GET requesty
  • Zdrojové kódy pre mikrokontroléry sa nachádzajú v zložke examples
  • Klient, ktorý sa pripája na webserver musí mať pripojenie na internet (sťahujú sa CDN scripty na Bootstrap, Google Charts)

Screenshoty webaplikácie meteostanice: Prehľad nameraných údajov Grafická reprezentácia nameraných údajov v čase Budíková reprezentácia maxím, miním, priemerov Budíková reprezentácia maxím, miním, priemerov Budíková reprezentácia maxím, miním, priemerov Logy zlých prihlásení

Schéma zapojenia - Autodesk Eagle Export

Arduino + BMP280 + DHT22 + DS18B20: Arduino + BMP280 + DHT22 + DS18B20

Arduino + BME280 + DS18B20: Arduino + BME280 + DS18B20

NodeMCU + BMP280 + DHT22 + DS18B20: NodeMCU + BMP280 + DHT22 + DS18B20

NodeMCU + BME280 + DS18B20: NodeMCU + BME280 + DS18B20

ESP32 + BMP280 + DHT22 + DS18B20: ESP32 + BMP280 + DHT22 + DS18B20

ESP32 + BME280 + DS18B20: ESP32 + BME280 + DS18B20

meteostanica-arduino-esp's People

Contributors

martinius96 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Forkers

aleks-vv

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.