Kazalo:

Odprtokodni zapisovalnik podatkov (OPENSDL): 5 korakov (s slikami)
Odprtokodni zapisovalnik podatkov (OPENSDL): 5 korakov (s slikami)

Video: Odprtokodni zapisovalnik podatkov (OPENSDL): 5 korakov (s slikami)

Video: Odprtokodni zapisovalnik podatkov (OPENSDL): 5 korakov (s slikami)
Video: Полный курс Redux Toolkit + RTK Query для начинающих | Редакс за 2 часа! 2024, Julij
Anonim
Odprtokodni zapisovalnik podatkov (OPENSDL)
Odprtokodni zapisovalnik podatkov (OPENSDL)
Odprtokodni zapisovalnik podatkov (OPENSDL)
Odprtokodni zapisovalnik podatkov (OPENSDL)
Odprtokodni zapisovalnik podatkov (OPENSDL)
Odprtokodni zapisovalnik podatkov (OPENSDL)

Cilj tega projekta je oblikovati, zgraditi in preizkusiti poceni merilni sistem za študije vrednotenja zmogljivosti stavbe, ki vključuje vsaj temperaturo, relativno vlažnost, osvetljenost in je razširljiv na dodatne senzorje, ter razviti prototip teh naprav.

Rezultat tega je prilagojen in cenovno ugoden sistem, ki zainteresiranim stranem omogoča, da na učinkovit in cenovno ugoden način izvedejo meritve, potrebne za oceno zmogljivosti stavbe, tako da zabeležijo več okoljskih parametrov hkrati. Razviti odprtokodni zapisovalnik podatkov (OPENSDL) so primerjali z zapisovalnikom podatkov HOBO U12-012. Ta komercialno dostopen sistem za merjenje lahko meri 3 parametre, in sicer temperaturo, RH in osvetljenost ter en zunanji kanal za druge vrste senzorjev. Za merjenje katerega koli drugega parametra bi bila potrebna druga senzorska naprava. Značilnosti parametrov, ki jih je treba meriti, so omejene na lastniško strojno in programsko opremo, ki sistem omejuje na merjenje določenih parametrov s posebno natančnostjo. HOBO U12-012 stane približno 13 000 ₹ (185 USD), OPENSDL pa 4 605 ₹ (66 USD), kar je skoraj tretjina komercialnega primerka.

Odprtokodni zapisovalnik podatkov za spremljanje temperature, relativne vlažnosti in ravni svetlobe (osvetljenosti) s pomočjo Arduino Uno To je DIY za razvoj zapisovalnika podatkov OPENSDL.

Potreben čas: 2-3 ure za spajkanje, 5 ur za pakiranje (4 ure - 3D tiskanje in 1 ura za lasersko rezanje) Potrebne veščine: Spajkanje, malo ali nič znanja o programiranju in elektroniki

Potrebni deli:

  1. Arduino Uno s kablom
  2. Ščit zapisovalnika podatkov
  3. Gumbna baterija CR1220
  4. BME280 prekinitvena plošča senzorja tlaka temperature BME280
  5. Odklopna plošča senzorja svetlobe TSL2561
  6. ESP01-8266 Modul Wi-Fi
  7. Moški in ženski konektor RJ-9
  8. Glave za zlaganje ščitov za Arduino
  9. Pomnilniška kartica SD (katere koli zmogljivosti)
  10. Vektorska plošča (26 x 18 lukenj)
  11. 8 baterij AA Držalo za baterije

Potrebna orodja:

  • Spajkalnik (35 W)
  • Spajkalna žica
  • Rezalnik žice
  • Orodje za stiskanje
  • Multimeter

Potrebna programska oprema: Arduino IDE (1.0.5 ali novejša)

Uporabljene knjižnice Arduino:

  • Žična knjižnica
  • Knjižnica SparkFun TSL2561
  • Večsenzorska knjižnica Cactus BME280
  • Knjižnica kartice SD
  • Knjižnica SPI
  • Knjižnica RTC

Opomba: Senzor BME280 je zelo natančen Boschev senzor temperature, relativne vlažnosti in tlaka. Podobno je DS1307 natančna ura v realnem času podjetja Maxim, TSL2561 pa natančen svetlobni senzor. Za te izdelke obstajajo cenejše in manj natančne alternative, vendar je bila ta vadnica namenjena ljudem, ki so bili zainteresirani za zbiranje podatkov za ocenjevanje zmogljivosti stavb in aplikacije za spremljanje stavb, ki zahtevajo visoko natančnost in natančnost. To pomeni, da so bile vse posebne nastavitve strojne opreme in programske opreme (knjižnice, programska koda) namenjene izključno določenim izdelkom.

1. korak: Montaža

Montaža
Montaža
Montaža
Montaža
Montaža
Montaža
Montaža
Montaža

Ščit zapisovalnika podatkov lahko enostavno zložite na ploščo Arduino Uno. Ta ščit omogoča beleženje podatkov (vodenje časa in shranjevanje podatkov). Ščit je bilo treba zložiti. V okroglo režo je bilo treba vstaviti gumbasto baterijo CR1220, da je ura delovala tudi, ko je Arduino izklopljen. Pomnilniško kartico SD morate vstaviti v priloženo režo za kartico. Edinstven prilagojen ščit je bil razvit z uporabo ženskih zatičev priključka RJ-9 in zložljivih glav ščita Arduino. Ustrezne glave so bile spajkane na ustreznih mestih, tako da se ščit popolnoma prilega plošči Arduino. Arduino ima 18 zatičev na eni strani in 14 zatičev na drugi strani. Glave z enakim številom zatičev so bile uporabljene na enakem razmiku (18 pinov narazen) kot na Arduinu. Preostali dodatni prostor poleg glav je bil uporabljen za namestitev priključka RJ-9.

Glave so bile najboljši način za uporabo zahtevanih zatičev, hkrati pa so bile še vedno na voljo za uporabo drugim komponentam. Uporabljeni senzorji sledijo komunikacijskemu protokolu I2C, ki od Arduina zahteva 4 nožice, in sicer: SDA (na voljo tudi kot A4), SCL (na voljo tudi kot A5), 3,3 V in GND. Štiri žice, ki prihajajo iz priključka RJ-9, so bile spajane v te štiri zatiče glave. Število potrebnih priključkov RJ-9 je odvisno od števila senzorjev. V tem projektu so bili uporabljeni 3 priključki RJ-9 (dva za BME280 in eden za TSL2561). Štiri žice, ki prihajajo iz priključka RJ-9, so bile barvno označene, vsaka barvna žica pa je bila označena za poseben pin za vse priključke RJ-9. Upoštevati je treba, da se barvna oznaka lahko razlikuje pri različnih kosih RJ-9. V tem primeru je treba zabeležiti lokacijo žice na priključku. Konektor RJ-9 je po spajkanju s pomočjo Feviqwika zlepljen na vektorsko ploščo, tako da se pritrdi na površino. Te povezave je mogoče preveriti z uporabo načina neprekinjenosti na multimetru. V neprekinjenem načinu mora multimeter pokazati ničelni upor. Eno od sond multimetra priključite na spajkani zatič, drugo sondo pa na zatič v priključku RJ-9. Multimeter naj oddaja ton, kar pomeni, da so spojni spoji pravilni in da so povezave pravilno izvedene. Če ton ne oddaja, preverite spajkalne spoje. Podobno spajkajte priključek RJ-9 z istimi žicami, ki se povezujejo z istimi luknjami na odmičnih ploščah senzorja, to je A4, A5, 3,3 V in GND. Senzor BME280 podpira dva naslova I2C, kar pomeni, da je mogoče na isti krmilnik hkrati povezati dva senzorja BME280. Pri tem je treba naslov enega od senzorjev spremeniti s premostitvijo spajkalnih blazinic na senzorju. Brezžični čip ESP-01 je zahteval naslednje povezave z Arduinom.

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

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

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

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

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

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

Opomba:- Več lučk LED na Arduino Uno je bilo odstranjenih zaradi podaljšanja življenjske dobe baterije. LED -lučke za indikator napajanja, RX in TX so bile odstranjene s segrevanjem spajkalnih spojev in potiskanjem LED s kleščami.

2. korak: Namestite IDE in knjižnice

Preden začnete programirati, morate prenesti Arduino IDE (integrirano razvojno okolje). Programiranje je potekalo na tej platformi. Za interakcijo z različnimi komponentami OPENSDL so bile potrebne različne knjižnice. Za navedene komponente so bile uporabljene naslednje knjižnice.

Komponenta ------------------------------------------------- --------------Knjižnica

BME280 senzor temperature in relativne vlažnosti --------------------------------- Cactus_io_BME280_I2C.h

Svetlobni senzor ------------------------------------------------ ---------------- SparkFun TSL2561.h

Ura v realnem času ----------------------------------------------- ------------- RTClib.h

Vtičnica za kartico SD ----------------------------------------------- ------------- SD.h

Priključek I2C ------------------------------------------------ ------------- Wire.h

Ločena knjižnica za komunikacijo z ESP01 ni potrebna, saj ima koda, naložena v Arduino, ukaze AT, ki se pošljejo na serijski monitor, od koder ESP-01 sprejme navodila. Tako so v bistvu ukazi AT, s katerimi se izvaja ESP01, natisnjeni v serijski monitor, ki jih ESP-01 jemlje kot vhodni ukaz. Če želite namestiti te knjižnice, jih po prenosu odprite Arduino IDE, pojdite na Sketch -> Include Library -> Add. Zip library in izberite prenesene knjižnice.

3. korak: Programiranje sistema

Programiranje sistema
Programiranje sistema

Pred programiranjem OPENSDL povežite Arduino s prenosnikom. Po povezavi pojdite na Orodja -> Vrata in izberite vrata COM, v katera je priključen OPENSDL. Prepričajte se tudi, da je v Orodja -> Plošče izbran Arduino Uno.

OPENSDL je bil razvit za delo v dveh načinih. V prvem načinu shrani podatke na kartico SD na ščit zapisovalnika podatkov. V drugem načinu pošlje podatke prek interneta na spletno mesto z uporabo čipa Wi-Fi ESP-01. Program za oba načina je drugačen. Te vrstice kode lahko neposredno kopirate in prilepite v urejevalnik Arduino IDE in jih uporabite neposredno. Ko smo v kodi, moramo narediti nekaj prilagoditev glede na naše potrebe:

  1. Ročno spremenite vrednost zakasnitve (1000) na koncu kode, da spremenite interval beleženja. Vrednost 1000 predstavlja interval v milisekundah.
  2. Uredite vrstico kode, ki pravi mySensorData = SD.open ("Logged01.csv", FILE_WRITE); in Logged01 nadomestite z imenom datoteke želenega imena datoteke. Razširitev datoteke lahko spremenite tudi tako, da spremenite razširitev.csv tik za imenom datoteke.
  3. Umeritvena enačba, dosežena z ugotavljanjem korelacije med glavnim/referenčnim senzorjem in BME280, se bo razlikovala pri vsakem senzorju. To vrstico kode zamenjajte z enačbo za umerjanje senzorjev: Serial.print ((1.0533*t2) -2.2374)-za senzor s privzetim naslovom (0x77), kjer je t2 vrednost, odčitana s temperaturnega senzorja.

Za programiranje drugega razpoložljivega načina OPENSDL, ki je brezžični sistem, je na voljo ločen program. ESP-01 mora biti priključen na OPENSDL v skladu s povezavami, kot je razloženo v 2. koraku. Ko končate povezave, priključite Arduino na prenosni računalnik in v Arduino naložite prazno skico. ESP-01 preklopite v način posodobitve in posodobite vdelano programsko opremo na najnovejšo razpoložljivo posodobitev. Po posodobitvi obvezno povežite ponastavitveni zatič Arduina s 3,3 V pin, ki obide zagonski nalagalnik Arduino

4. korak: Izdelava

Izdelava
Izdelava
Izdelava
Izdelava
Izdelava
Izdelava

Ohišje za OPENSDL je bilo ustvarjeno za zaščito in izboljšanje estetike. Ohišja so bila razvita s 3D tiskanjem iz materiala PLA, ohišje za mikrokrmilnik pa je bilo razvito z laserskim rezanjem pločevine MDF in lepljenjem kosov skupaj. 3D natisnjeni modeli so bili razviti s programsko opremo SketchUp, risbe 2D dxf za lasersko rezanje pa so bile ustvarjene z uporabo AutoCAD -a.

Za 3D tiskanje so bile datoteke STL, ustvarjene z uporabo programa SketchUp, odprte in preverjene v programski opremi Ultimaker Cura 3.2.1. Prepričajte se, da uporabljate material PLA in da je nastavek tiskalnika za tiskanje 0,4 mm. Za izdelavo plošče 3D tiskalnika bo morda potrebno lepilo za lepljenje 3D natisnjenega predmeta. Ko pa je tiskanje končano, lepilo ustvari močno oprijem med natisnjenim predmetom in gradbeno ploščo.

5. korak: Koda

Koda (datoteke.ino) deluje v programski opremi Arduino IDE. Tukaj je povezava do moje strani Github za kodo in druge podrobnosti.

github.com/arihant93/OPENSDL

Ne oklevajte in postavljajte vprašanja o projektu.

Hvala.

Priporočena: