Obsah fóra
PravidláRegistrovaťPrihlásenie




Odpovedať na tému [ Príspevok: 1 ] 
AutorSpráva
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 17.02.14
Prihlásený: 31.03.24
Príspevky: 450
Témy: 198
Bydlisko: Poprad-okolie
Príspevok NapísalOffline : 21.02.2020 23:13

Dnes chcem predstaviť projekt senzorickej siete, ktorá je navrhnutá pre interné použitie v LAN sieti. Komunikujúce mikrokontroléry sú postavené na mixe platforiem ESP8266 (NodeMCU), ESP32 (Devkit), Arduino + Ethernet W5100, Arduino + Ethernet W5500. Každá z platforiem obsahuje knižnicu, ktorá umožňuje realizovať HTTP prenos či na úrovni klienta, alebo webservera.
Senzorická sieť v LAN sieti - Arduino + Ethernet / ESP32 / ESP8266
V senzorickej sieti jedna z platforiem funguje ako centrálny uzol - webserver, ktorý prijíma dáta po HTTP protokole POST metódou. Webserver na platforme ESP8266 vyžaduje samostatnú knižnicu. Pre ESP32 je webserver implementovaný priamo v hlavičkovom súbore WiFi.h, ktorý obsluhuje aj WiFi HTTP spojenie a pripojenie na existujúcu WiFi sieť.
Senzorická sieť v LAN sieti - Arduino + Ethernet / ESP32 / ESP8266
Webserver pre ESP8266 a ESP32 obsahuje jednoduchú možnosť preberať jednotlivé argumenty z POST dát. Arduino s Ethernet shieldom nemá tak pokročilú knižnicu, vyžaduje sa preto rozparsovanie jednotlivých dát napríklad funkciou jazyka C strtok() s terminátorom & - ktorý oddeľuje jednotlivé argumenty prijaté v Payloade.
Senzorická sieť v LAN sieti - Arduino + Ethernet / ESP32 / ESP8266
Takto je možné získať jednotlivé argumenty, ktoré webserver načítal pri požiadavke klienta. Spracovanie je teda pri využití Arduina s Ethernetom dlhšie ako pri ESP vývojových doskách. Nakoľko pripojenie klient trvá iba pár ms, je možné prevádzkovať aj väčší počet senzorických uzlov komunikujúcich s webserverom. Štandardne každý uzol odosiela dáta po pár sekundách, či minúte. Vďaka architektúre klient-server je možné odosielať aj viacero dát v jednej požiadavke, pričom sú dáta oddelené oddelovačom &.
Payload klienta, môže vyzerať napríklad: teplota=21.33&vlhkost=50.91&tlak=1013.91.

Bloková schéma:
Senzorická sieť v LAN sieti - Arduino + Ethernet / ESP32 / ESP8266
Štandardne sú dáta v takejto jednoduchej senzorickej sieti uchované v RAM pamäti webservera a pri každej požiadavke sa prepisujú. Teda ak klient vypadne, webserver stále drží poslednú načítanú hodnotu. Webserver distribuuje dáta od senzorov aj na webovú stránku, ktorá je prístupná používateľovi. Výpis je realizovaný do jednoduchej HTML tabuľky. V prípade, že v LAN sieti existuje prístup na internet, je možné importovať aj grid systémy ako Bootstrap, či iné grafické knižnice, ktoré sa korektne načítajú. Dáta je možné ukladať aj na SD kartu, či v prípade ESP dosiek aj do internej SPIFFS pamäte, rovnako tak i do emulovanej EEPROM-ky.

V pokročilej implementácii môžu byť dáta distribuované aj pre klientov, ktorí môžu na základe hodnôt z webservera riadiť ovládanie relé, výkonových prvkov, chladenia, kúrenia, pričom sú dáta odosielané z iného - nezávislého uzla. Pri platformách ESP8266 a ESP32 je možné využiť mDNS - multicast DNS, kedy je možné v LAN sieti prevádzkovať aj DNS záznam pre webserver s doménovým menom tvaru: moje_domenove_meno.local.
Senzorická sieť v LAN sieti - Arduino + Ethernet / ESP32 / ESP8266

Vďaka tomu je možné pripojiť sa na doménové meno, aj keď nevieme presnú IP adresu, ktorá sa na základe DHCP môže každých pár hodín zmeniť. Taktiež LAN sieť musí podporovať mDNS, rovnako tak mDNS nie je defaultne zapnuté vo Windowse. Pri platformách ESP8266 a ESP32 je možné ďalej využiť aj AP mód, kedy webserver funguje aj ako prístupový bod, vysiela vlastnú SSID sieť s WPA/WPA - PSK šifrovaním, alebo bez hesla. Tento režim sa funkčne nastavuje cez WiFi.softAP(ssid, pass); funkciu.

Tu je nutné zdôrazniť, že je možné využiť maximálne 5 klientov, ktorí sú na sieti pripojení. Pri väčšom počte klientov je server nestabilný, najmä v prípade ESP8266, ktorý má iba jednojadrový procesor, ktorý sa stará o WiFi časť (prístupový bod), webserver, komunikáciu a Arduino softvérové jadro, ktoré musí obsluhovať. Existuje teda viacero možností, ako je možné prevádzkovať a na akom koncepte postaviť jednoduchú komunikačnú sieť v LAN sieti.
Populárne senzory, ktoré môžete použiť ako zdroje dát:
    DS18B20 - teplotný senzor na OneWire zbernici
    DHT22 - digitálny senzor teploty a vlhkosti vzduchu
    BME280 - I2C senzor teploty, vlhkosti, tlaku vzduchu
    BMP280 - I2C senzor teploty, tlaku vzduchu
    SHT21 - I2C senzor teploty, vlhkosti
    HC-SR04 - ultrazvukový senzor vzdialenosti 2-450cm
    HC-SR501 - PIR infračervený senzor pohybu
Jednoduchú implementáciu pre webserver môžete vyskúšať aj z mojej stránky z projektu WiFi teplomera na platforme ESP8266: https://arduino.php5.sk/wifi-teplomer.php

Zdrojové kódy pre webserver:
ESP8266 - https://github.com/esp8266/Arduino/blob/master/libraries/ESP8266WebServer/examples/HelloServer/HelloServer.ino
ESP32 - https://github.com/espressif/arduino-esp32/blob/master/libraries/WebServer/examples/HelloServer/HelloServer.ino
Arduino + Ethernet W5100 - https://github.com/arduino-libraries/Ethernet/blob/master/examples/WebServer/WebServer.ino
Arduino + Ethernet W5500 - https://github.com/adafruit/Ethernet2/blob/master/examples/WebServer/WebServer.ino

Zdrojové kódy pre HTTP klientov:
ESP8266 - https://github.com/esp8266/Arduino/blob/master/libraries/ESP8266WiFi/examples/WiFiClient/WiFiClient.ino
ESP32 - https://github.com/espressif/arduino-esp32/blob/master/libraries/WiFi/examples/WiFiClient/WiFiClient.ino
Arduino + Ethernet W5100 - https://github.com/arduino-libraries/Ethernet/blob/master/examples/WebClient/WebClient.ino
Arduino + Ethernet W5500 - https://github.com/adafruit/Ethernet2/blob/master/examples/WebClient/WebClient.ino


Odpovedať na tému [ Príspevok: 1 ] 


Podobné témy

 Témy  Odpovede  Zobrazenia  Posledný príspevok 
V tomto fóre nie sú ďalšie neprečítané témy. Hladinomer + Zrážkomer - Arduino / ESP8266 / ESP32

v Články

0

925

05.11.2020 13:02

martinius96 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Hladinomer - Arduino, ESP32, ESP8266 + ultrazvuk

v Články

0

1293

22.09.2019 0:01

martinius96 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Kurzy (krypto)mien - Arduino / ESP32 / ESP8266

v Články

0

1017

15.11.2019 1:03

martinius96 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. ThingSpeak - IoT platforma pre Arduino / ESP8266 / ESP32

v Články

0

1323

16.01.2020 23:59

martinius96 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. OTA (Over The Air) - ESP32 - Arduino IDE

v Články

2

916

11.08.2020 7:37

martinius96 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. ESP32 - PHY Ethernet LAN8720

v Články

0

1795

20.10.2022 21:00

martinius96 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Ovládanie hlasom pre Arduino/NodeMCU/ESP32/Raspberry/Orange Pi ... projekty

v Mikropočítače

1

2062

16.09.2017 9:16

ado130 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Izbový termostat - Arduino + Ethernet

v Články

0

970

10.07.2020 12:26

martinius96 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Escape Room - Webclient - Arduino + Ethernet

v Články

0

801

27.11.2019 22:35

martinius96 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Arduino + Ethernet - Webserver - formuláre - EEPROM

v Články

0

788

05.04.2020 23:58

martinius96 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Monitor teplôt, vlhkostí - Arduino Mega + Ethernet W5100

v Články

0

731

21.02.2020 22:42

martinius96 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Sieť v sieti

v Siete

2

430

04.01.2012 9:55

Jethro922 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. LAN po el. sieti

[ Choď na stránku:Choď na stránku: 1, 2 ]

v Ostatné

42

1611

17.01.2014 11:39

tarezni Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. nastavenie firewallu v LAN sieti

v Bezpečnosť a firewally

2

1567

22.03.2009 18:35

JanoF Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Web stránka v domácej sieti LAN

v Webhosting a servery

15

1080

09.11.2014 1:13

tomy1992 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Lan sieť

v Bezpečnosť a firewally

5

492

03.02.2014 20:01

alan Zobrazenie posledných príspevkov


Nemôžete zakladať nové témy v tomto fóre
Nemôžete odpovedať na témy v tomto fóre
Nemôžete upravovať svoje príspevky v tomto fóre
Nemôžete mazať svoje príspevky v tomto fóre

Skočiť na:  

Powered by phpBB Jarvis © 2005 - 2024 PCforum, webhosting by WebSupport, secured by GeoTrust, edited by JanoF
Ako väčšina webových stránok aj my používame cookies. Zotrvaním na webovej stránke súhlasíte, že ich môžeme používať.
Všeobecné podmienky, spracovanie osobných údajov a pravidlá fóra