Obsah:

Open Data Data Logger (OPENSDL): 5 krokov (s obrázkami)
Open Data Data Logger (OPENSDL): 5 krokov (s obrázkami)

Video: Open Data Data Logger (OPENSDL): 5 krokov (s obrázkami)

Video: Open Data Data Logger (OPENSDL): 5 krokov (s obrázkami)
Video: Полный курс Redux Toolkit + RTK Query для начинающих | Редакс за 2 часа! 2024, Júl
Anonim
Záznamník údajov s otvoreným zdrojovým kódom (OPENSDL)
Záznamník údajov s otvoreným zdrojovým kódom (OPENSDL)
Záznamník údajov s otvoreným zdrojovým kódom (OPENSDL)
Záznamník údajov s otvoreným zdrojovým kódom (OPENSDL)
Open Data Data Logger (OPENSDL)
Open Data Data Logger (OPENSDL)

Cieľom tohto projektu je navrhnúť, postaviť a testovať nízkonákladový merací systém pre štúdie hodnotenia výkonnosti budov, ktorý zahŕňa aspoň teplotu, relatívnu vlhkosť, osvetlenie a je rozšíriteľný o ďalšie senzory, a vyvinúť prototyp týchto zariadení..

Výsledkom je prispôsobený a cenovo dostupný systém, ktorý umožňuje zainteresovaným stranám vykonávať merania požadované na vyhodnotenie výkonnosti budovy efektívnym a cenovo dostupným spôsobom zaznamenaním viacerých environmentálnych parametrov naraz. Vyvinutý Open Source Data Logger (OPENSDL) bol porovnaný s dataloggerom HOBO U12-012. Tento komerčne dostupný systém náprotivkov môže merať 3 parametre, a to teplotu, relatívnu vlhkosť a osvetlenosť a jeden externý kanál pre iné typy senzorov. Na meranie akéhokoľvek iného parametra by bolo potrebné iné snímacie zariadenie. Charakteristiky parametrov, ktoré sa majú merať, sú obmedzené na proprietárny hardvér a softvér, čo obmedzuje systém na meranie určitých parametrov so špecifickou presnosťou. HOBO U12-012 stojí okolo 13 000 ₹ (185 USD), zatiaľ čo OPENSDL stojí 4 605 ₹ (66 USD), čo je takmer jedna tretina komerčného náprotivku.

Záznamník údajov s otvoreným zdrojovým kódom na monitorovanie teploty, relatívnej vlhkosti a úrovní svetla (osvetlenia) pomocou Arduino Uno Toto je kutilstvo na vývoj záznamníka údajov OPENSDL.

Potrebný čas: 2 - 3 hodiny na spájkovanie, 5 hodín na balenie (4 hodiny - 3D tlač a 1 hodina na rezanie laserom) Potrebné zručnosti: Spájkovanie, malé alebo žiadne znalosti programovania a elektroniky

Potrebné diely:

  1. Arduino Uno s káblom
  2. Štít záznamníka
  3. Gombíková batéria CR1220
  4. Priečna doska snímača tlaku a teploty BME280
  5. Prerušovacia doska svetelného senzora TSL2561
  6. Wi-Fi modul ESP01-8266
  7. Konektor RJ-9 samec a samica
  8. Hlavičky na stohovanie štítov pre Arduino
  9. Pamäťová karta SD (ľubovoľná kapacita)
  10. Vektorová doska (26 x 18 dier)
  11. 8 batérií AA Držiak batérií

Požadované nástroje:

  • Spájkovačka (35 W)
  • Spájkovací drôt
  • Drôtová rezačka
  • Krimpovací nástroj
  • Multimetr

Potrebný softvér: Arduino IDE (1.0.5 alebo vyšší)

Použité knižnice Arduino:

  • Drôtená knižnica
  • Knižnica SparkFun TSL2561
  • Multisenzorová knižnica Cactus BME280
  • Knižnica kariet SD
  • Knižnica SPI
  • Knižnica RTC

Poznámka: Snímač BME280 je veľmi presný snímač teploty, relatívnej vlhkosti a tlaku od spoločnosti Bosch. Podobne DS1307 sú presné hodiny v reálnom čase od Maxim a TSL2561 sú presný svetelný senzor. Pre tieto produkty existujú menej nákladné a menej presné alternatívy, ale tento návod bol zameraný na ľudí, ktorí sa zaujímali o zhromažďovanie údajov na účely hodnotenia výkonnosti budov a aplikácií na monitorovanie budov, ktoré vyžadujú vysokú presnosť a presnosť. To znamená, že akékoľvek konkrétne nastavenie hardvéru a nastavenia softvéru (knižnice, programový kód) bolo prísne určené iba pre uvedené produkty.

Krok 1: Montáž

zhromaždenie
zhromaždenie
zhromaždenie
zhromaždenie
zhromaždenie
zhromaždenie
zhromaždenie
zhromaždenie

Štít zapisovača údajov je možné ľahko naskladať na vrchnú dosku Arduino Uno. Tento štít poskytuje možnosti protokolovania údajov (uchovávanie času a ukladanie údajov). Štít musel byť naskladaný. Do určeného okrúhleho otvoru bolo potrebné vložiť gombíkovú batériu CR1220, aby hodiny bežali aj vtedy, keď je Arduino vypnuté. Pamäťová karta SD musí byť vložená do určeného slotu pre integrovanú kartu. Unikátny prispôsobený štít bol vyvinutý pomocou samičích pinov konektora RJ-9 a záhlaví stohovania štítov Arduino. Príslušné záhlavia boli spájkované na príslušných miestach, aby štít perfektne sedel na doske Arduino. Arduino má 18 pinov na jednej strane a 14 pinov na druhej strane. Záhlavia s rovnakým počtom pinov boli použité v rovnakých rozostupoch (18 pinov od seba) ako na Arduine. Zostávajúci extra priestor vedľa záhlaví bol použitý na umiestnenie konektora RJ-9.

Hlavičky boli najlepším spôsobom, ako použiť požadované piny, a zároveň ich sprístupniť na použitie pre ostatné komponenty. Použité senzory sa riadia komunikačným protokolom I2C, ktorý vyžaduje 4 piny od Arduina, a to: SDA (k dispozícii aj ako A4), SCL (k dispozícii aj ako A5), 3,3 V a GND. Štyri vodiče vychádzajúce z konektora RJ-9 boli spájkované do týchto štyroch kolíkových konektorov. Počet požadovaných konektorov RJ-9 závisí od počtu senzorov. V tomto projekte boli použité 3 konektory RJ-9 (dva pre BME280 a jeden pre TSL2561). Štyri vodiče vychádzajúce z konektora RJ-9 boli farebne označené a každý farebný vodič bol označený ako špecifický kolík pre všetky konektory RJ-9. Je potrebné poznamenať, že kód farby sa môže na rôznych kusoch RJ-9 líšiť. V takom prípade je potrebné poznamenať umiestnenie vodiča na konektore. Konektor RJ-9 bol po spájkovaní prilepený na vektorovú dosku pomocou Feviqwik, aby sa pripevnil na povrch. Tieto pripojenia je možné overiť pomocou režimu spojitosti na multimetri. V režime kontinuity by mal multimetr vykazovať nulový odpor. Pripojte jednu zo sond multimetra k spájkovanému kolíku a druhú sondu k kolíku vo vnútri konektora RJ-9. Multimetr by mal vydávať tón, čo znamená, že spájkovacie spoje sú správne a pripojenia sú správne vyrobené. Ak tón nevychádza, skontrolujte spájkovacie spoje. Podobne spájkujte konektor RJ-9 rovnakými vodičmi, ktoré sa pripájajú k rovnakým dierkam na oddeľovacích doskách snímača, tj. A4, A5, 3,3 V a GND. Senzor BME280 podporuje dve adresy I2C, čo znamená, že k rovnakému regulátoru je možné pripojiť dva senzory BME280 naraz. Pritom je potrebné zmeniť adresu jedného zo senzorov premostením spájkovacích podložiek na senzore. Čip bezdrôtového pripojenia ESP-01 vyžadoval nasledujúce prepojenia s Arduinom.

ESP-01 --------- Arduino Uno

10 -------------------- TX

11 -------------------- RX

Vcc ---------------- CH_PD

Vcc ------------------- Vcc

GND ----------------- GND

Poznámka:- Viaceré diódy LED na Arduino Uno boli odstránené, aby sa zlepšila životnosť batérie. LED diódy LED indikátora napájania, RX a TX boli odstránené zahriatím spájkovacích spojov a zatlačením LED pomocou klieští.

Krok 2: Nastavte IDE a knižnice

Pred akýmkoľvek programovaním si musíte stiahnuť Arduino IDE (integrované vývojové prostredie). Programovanie prebiehalo na tejto platforme. Na interakciu s rôznymi komponentmi OPENSDL boli potrebné rôzne knižnice. Pre dané komponenty boli použité nasledujúce knižnice.

Súčasť ------------------------------------------------- -------------- Knižnica

Snímač teploty a relatívnej vlhkosti BME280 --------------------------------- Cactus_io_BME280_I2C.h

Svetelný senzor------------------------------------------------ ---------------- SparkFun TSL2561.h

Hodiny reálneho času ----------------------------------------------- ------------- RTClib.h

Zásuvka na kartu SD ----------------------------------------------- ------------- SD.h

Pripojenie I2C ------------------------------------------------ ------------- Wire.h

Samostatná knižnica na komunikáciu s ESP01 nie je potrebná, pretože kód nahraný do Arduina má AT príkazy, ktoré sú odoslané na sériový monitor, odkiaľ ESP-01 prijíma pokyny. V zásade sú AT príkazy, ktorými ESP01 beží, vytlačené do sériového monitora, ktoré ESP-01 berie ako vstupný príkaz. Ak chcete nainštalovať tieto knižnice, po ich stiahnutí otvorte Arduino IDE, prejdite na Sketch -> Include Library -> Add. Zip library a vyberte stiahnuté knižnice.

Krok 3: Programovanie systému

Programovanie systému
Programovanie systému

Pred programovaním OPENSDL prepojte Arduino s prenosným počítačom. Po pripojení prejdite na Nástroje -> Port a vyberte port COM, ku ktorému je pripojený OPENSDL. Uistite sa tiež, že v časti Nástroje -> Dosky je vybratá položka Arduino Uno.

OPENSDL bol vyvinutý tak, aby pracoval v 2 režimoch. V prvom režime ukladá údaje na SD kartu na štít ústredne. V druhom režime odosiela údaje cez internet na webovú stránku pomocou Wi-Fi čipu ESP-01. Program pre oba režimy je odlišný. Tieto riadky kódu je možné priamo skopírovať a vložiť do editora Arduino IDE a použiť ich priamo. Keď sme v kóde, musíme urobiť niekoľko prispôsobení podľa našich potrieb:

  1. Ručne zmeňte hodnotu oneskorenia (1 000) na konci kódu, aby ste zmenili interval protokolovania. Hodnota 1000 predstavuje interval v milisekundách.
  2. Upravte riadok kódu, ktorý hovorí mySensorData = SD.open ("Logged01.csv", FILE_WRITE); a nahraďte Logged01 názvom súboru požadovaného názvu súboru. Príponu súboru je možné tiež zmeniť úpravou prípony.csv hneď za názvom súboru.
  3. Kalibračná rovnica dosiahnutá nájdením korelácie medzi hlavným/referenčným snímačom a BME280 sa bude líšiť u každého snímača. Tento riadok kódu nahraďte rovnicou na kalibráciu snímačov: Serial.print ((1,0533*t2) -2,2374)-pre snímač s predvolenou adresou (0x77), kde t2 je hodnota načítaná zo snímača teploty.

Na programovanie druhého dostupného režimu OPENSDL, ktorým je bezdrôtový systém, bol poskytnutý samostatný program. ESP-01 musí byť pripojený k OPENSDL podľa pripojení, ako je vysvetlené v kroku č. 2. Po dokončení pripojení pripojte Arduino k prenosnému počítaču a nahrajte prázdny náčrt do Arduina. Prepnite ESP-01 do režimu aktualizácie a aktualizujte firmvér na najnovšiu dostupnú aktualizáciu. Po aktualizácii nezabudnite prepojiť resetovací kolík Arduina s kolíkom 3,3 V, ktorý obchádza zavádzač Arduino

Krok 4: Výroba

Výroba
Výroba
Výroba
Výroba
Výroba
Výroba

Na ochranu a zlepšenie estetiky bol vytvorený kryt pre OPENSDL. Obaly boli vyvinuté 3D tlačou s použitím materiálu PLA a puzdro pre mikrokontrolér bolo vyvinuté laserovým rezaním listu MDF a lepením dielov k sebe. 3D tlačené modely boli vyvinuté pomocou softvéru SketchUp a 2D dxf výkresy na rezanie laserom boli vytvorené pomocou programu AutoCAD.

Pri 3D tlači boli súbory STL vytvorené pomocou programu SketchUp otvorené a skontrolované v softvéri Ultimaker Cura 3.2.1. Uistite sa, že je použitý materiál PLA a tryska použitej tlačiarne je určená na tlač 0,4 mm. Stavebná doska 3D tlačiarne môže vyžadovať lepidlo na prilepenie 3D vytlačeného predmetu. Keď je však tlač dokončená, lepidlo vytvára silnú priľnavosť medzi tlačeným predmetom a stavebnou doskou.

Krok 5: Kód

Kód (súbory.ino) je navrhnutý tak, aby pracoval v softvéri Arduino IDE. Tu je odkaz na moju stránku Github s kódom a ďalšími podrobnosťami.

github.com/arihant93/OPENSDL

Neváhajte sa opýtať na projekt.

Vďaka.

Odporúča: