Meteostanica V2

Tvoříte zajímavý projekt? Pochlubte se s ním.
Pravidla fóra
Vkládejte prosím jen HOTOVÉ projekty, které chcete představit ostatním.
Odpovědět
martinius96
Příspěvky: 579
Registrován: 01 srp 2017, 19:29
Reputation: 0
Bydliště: Poprad
Kontaktovat uživatele:

Meteostanica V2

Příspěvek od martinius96 » 16 srp 2020, 00:01

Projekt meteostanice verzie 2 vznikol v roku 2018. Cieľom projektu bolo vytvoriť univerzálne webové rozhranie, ktoré dokáže prijímať dáta od rôznych vhodne nakonfigurovaných mikrokontrolérov s univerzálnym hardvérom pre záznam dát. Celý systém využíva architektúru klient --> server, pričom v režime klienta fungujú všetky mikrokontroléry v projekte, ktoré sa pripájajú k vzdialenému serveru, ktorému odovzdávajú namerané dáta.
Obrázek
Za posledný rok a pol si prešla viacerými úpravami a boli do nej pridané rôzne funkcionality, ktoré rozširovali pôvodný projekt, ktorý obsahoval iba záznam údajov bez pokročilých funkcionalít. Meteostanica je navrhnutá pre využitie v LAN sieti, čomu je prispôsobený aj komunikačný protokol - HTTP (80). Pre každú kombináciu mikrokontrolér --> variant periférii bola vytvorená samostatná schéma zapojenia, ktorá plne korešponduje so zdrojovým kódom pre daný mikrokontróler. Pre platformy ESP8266 a ESP32 boli vytvorené varianty zdrojových kódov aj pre využitie HTTPS protokolu (443) pre šifrovanú komunikáciu so serverom na internete / cloude.
Obrázek
Komunikačný hardvér pre meteostanicu:
  • 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
Obrázek
Kombinácie senzorov (zdrojové kódy vyhotovené pre):
  • Variant 1 - DS18B20 + DHT22 + BMP280
  • Variant 2 - DS18B20 + DS18B20 (outdoor) + BME280
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)
  • Webserver musí mať MySQL databázu (napr. PHPMyAdmin)
  • Klient musí mať prístup na internet pre načítanie .js scriptov z oficiálnych CDN
Softvérové technológie pre meteostanicu:
  • PHP 5.6 / 7+
  • HTML 5
  • CSS
  • AJAX - dynamický výpis real-time dát z databázy spúšťaním .php scriptov
  • 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

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 real-time dát do tabuľky s overením konektivity
  • Tabuľkový výpis posledných 1000 meraní s vizualizáciou rozdielov
  • 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
  • Log prihlásení/zmena loginu
  • Indikátor stavu pripojenia dosky
  • Zmena názvov jednotlivých izieb/názvov senzorov
Projekt je šírený pod MIT licenciou.

Meteostanica v základnom nastavení obsahuje prihlasovacie údaje do web rozhrania:
  • Meno: admin
  • Heslo: admin
Návod na inštaláciu Arduino Core pre ESP8266, ESP32 do prostredia Arduino IDE nie je súčasťou projektu. Projekt je možné stiahnuť z repozitára na Githube: https://github.com/martinius96/Meteostanica-Arduino-ESP

Repozitár obsahuje všetky dôležité informácie spojené s inštaláciou a spustením projektu na vašom webserveri.
Obrázek

Odpovědět

Kdo je online

Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 7 hostů