Përmbajtje:

Termostati i dhomës - Arduino + Ethernet: 3 hapa
Termostati i dhomës - Arduino + Ethernet: 3 hapa

Video: Termostati i dhomës - Arduino + Ethernet: 3 hapa

Video: Termostati i dhomës - Arduino + Ethernet: 3 hapa
Video: Уроки Arduino. Подключение термометров DS18B20 и NTC термистора 2024, Korrik
Anonim
Termostati i dhomës - Arduino + Ethernet
Termostati i dhomës - Arduino + Ethernet

Për sa i përket harduerit, projekti përdor:

  • Arduino Uno / Mega 2560
  • Mburoja Ethernet Wiznet W5100 / moduli Ethernet Wiznet W5200-W5500
  • Sensori i temperaturës DS18B20 në autobusin OneWire
  • Rele SRD-5VDC-SL-C përdoret për ndërrimin e bojlerit

Hapi 1: Përshkrimi i termostatit Ethernet

Përshkrimi i termostatit Ethernet
Përshkrimi i termostatit Ethernet

Arduino është një platformë e përdorshme e përdorshme që mund të përdoret, për shembull, për të ndërtuar një termostat dhome, të cilin do ta tregojmë sot. Termostati është i arritshëm nga rrjeti LAN në të cilin ndodhet, ndërsa është i pajisur me një ndërfaqe në internet e cila përdoret për të konfiguruar të gjithë elementët e termostatit. Ndërfaqja në internet funksionon drejtpërdrejt në Arduino në modalitetin e serverit në internet. Web serveri lejon drejtimin e disa faqeve të pavarura HTML, të cilat mund të jenë informative apo edhe funksionale. Serveri në internet funksionon në portën 80 -

Reletë elektromagnetike SRD-5VDC-SL-C, e cila përdoret në projekt, lejon kalimin deri në 10A në 230V-fuqia 2300W. Në rast të ndërrimit të një qarku DC (ngarkesa) është e mundur të kaloni 300W (10A në 30V DC). Përndryshe, stafeta OMRON G3MB-202P SSR është plotësisht e pajtueshme për diagramin e instalimeve elektrike, e cila është e përshtatshme vetëm për ngarkesa jo-induktive dhe ekskluzivisht për qarqet AC. Fuqia maksimale e ndërrimit 460W (230V, 2A). Konsumi i Arduino me mburojë Ethernet dhe pajisje të tjera periferike është në nivelin 100-120mA me stafetë të hapur. Kur mbyllet, nën 200mA në furnizimin me 5V.

Hapi 2: Ndërfaqja në internet

Ndërfaqja e uebit
Ndërfaqja e uebit

Ndërfaqja në internet për termostatin lejon:

  • Shikoni temperaturën në kohë reale nga sensori DS18B20
  • Shikoni statusin e stafetës në kohë reale me ndryshimin dinamik të daljes në faqe
  • Ndryshoni temperaturën e synuar (referencë) në intervalin 5 deri në 50 ° C me një hap 0.25 ° C
  • Ndryshoni histerezën në rangun 0 deri në 10 ° C me një hap 0.25 ° C

Ndërfaqja në internet është krijuar për të akomoduar ekrane më të mëdhenj dhe më të vegjël. Iveshtë i përgjegjshëm, mbështet ekranet me ekran të gjerë me definicion të lartë, por edhe pajisjet mobile. Ndërfaqja përdor stilet CSS të importuara të kornizës Bootstrap nga një server i jashtëm CDN, i cili ngarkon pajisjen nga ana e klientit kur hap një faqe që funksionon në Arduino. Meqenëse Arduino Uno është i kufizuar në memorie, ai mund të ekzekutojë vetëm faqe me madhësi disa kB. Duke importuar stilet CSS nga një server i jashtëm, do të zvogëlojë performancën dhe ngarkesën e kujtesës së Arduino. Zbatimi i softuerit (për Arduine Uno) përdor 70% të kujtesës flash (32kB - 4kB Bootloader) dhe 44% të RAM -it (2kB).

Pjesët statike të një faqe në internet (titulli dhe fundi i dokumentit HTML, lidhja e Bootstrap CSS, etiketat meta, titulli i përgjigjes HTTP, Lloji i përmbajtjes, forma dhe më shumë) ruhen drejtpërdrejt në kujtesën flash të Arduino, e cila mund të zvogëlojë ndjeshëm sasinë e RAM -it të përdorur për përdoruesit -përmbajtje e gjeneruar. Web serveri është kështu më i qëndrueshëm dhe mund të trajtojë lidhjen e shumëfishtë të disa pajisjeve në rrjet në të njëjtën kohë.

Për të ruajtur vlerat e vendosura edhe pas një ndërprerje të energjisë, ato ruhen në kujtesën EEPROM të Arduino. Temperatura referuese në kompensimin 10, histereza në kompensimin 100. Secila prej vlerave zë një maksimum prej 5B në kujtesën EEPROM. Kufiri i transkriptimit të EEPROM është në nivelin prej 100,000 transkriptime. Të dhënat rishkruhen vetëm kur paraqitet formulari HTML. Në rast se pajisja nuk ka asgjë të ruajtur në kompensimet e përmendura të EEPROM në fillimin e parë, shkrimi automatik do të kryhet me vlerat e paracaktuara - referenca: 20.25, histereza 0.25 ° C

Meta etiketa Refresh rifreskon të gjithë faqen Arduino çdo 10 sekonda. Deri në këtë kohë është e nevojshme të shkruani ndryshimin për termostatin, përndryshe dritaret e hyrjes do të rivendosen kur faqja të rifreskohet. Për shkak se biblioteka Ethernet nuk përfshin përdorimin e një web serveri asinkron, e gjithë faqja duhet të rishkruhet. Të dhënat dinamike që po ndryshojnë kryesisht është vlera aktuale e daljes - On / Off.

Hapi 3: Faqet HTML që ekzekutohen në Webserver, Skemat, Kodi Burimor

Faqet HTML që funksionojnë në serverin e uebit, Skemat, Kodi Burimor
Faqet HTML që funksionojnë në serverin e uebit, Skemat, Kodi Burimor

Faqet HTML që funksionojnë në Arduino:

  • / - faqja rrënjë që përmban formën, listën aktuale të daljes logjike për stafetë, temperaturën
  • /action.html - përpunon vlerat nga forma, i shkruan ato në kujtesën EEPROM, e ridrejton përdoruesin përsëri në faqen rrënjë
  • / get_data/ - shpërndan të dhëna mbi temperaturën aktuale, temperaturën e referencës dhe histerezën tek një palë e tretë (kompjuter, mikrokontrollues, klient tjetër …) në formatin JSON

Ekziston edhe një version i zgjeruar i këtij termostati që përfshin:

  • Modaliteti manual për stafetat (kohë e pakufizuar, ON / OFF e vështirë)
  • Kohëmatësi vëzhgues
  • Në dispozicion më shumë sensorë, për shembull: SHT21, SHT31, DHT22, BME280, BMP280 dhe të tjerë
  • Mënyra e ftohjes
  • Kontrolli dhe konfigurimi përmes RS232 / UART pavarur nga Ethernet
  • Kontrolli i temperaturës PID për termostatin
  • Mundësia e përdorimit të platformave ESP8266, ESP32 për termostat

Zbatimi i programit për projektin mund të gjendet në: https://github.com/martinius96/termostat-ethernet/ Implementimi përmban programe për adresën statike/dinamike IPv4 të caktuar në mburojën Ethernet.

Termostati ka për qëllim vetëm temperaturat e brendshme! (mbi 0 ° C), të cilit i është përshtatur logjika e sistemit. Isshtë e mundur të zëvendësoni një termostat ekzistues të dhomës me një termostat, është e mundur që të zëvendësoni përkohësisht një termostat në një frigorifer, të mbani një temperaturë konstante në një terrarium dhe të ngjashme.

Recommended: