Sisukord:

Avatud lähtekoodiga andmete logija (OPENSDL): 5 sammu (piltidega)
Avatud lähtekoodiga andmete logija (OPENSDL): 5 sammu (piltidega)

Video: Avatud lähtekoodiga andmete logija (OPENSDL): 5 sammu (piltidega)

Video: Avatud lähtekoodiga andmete logija (OPENSDL): 5 sammu (piltidega)
Video: Веб-разработка – информатика для руководителей бизнеса 2016 2024, Juuli
Anonim
Avatud lähtekoodiga andmete logija (OPENSDL)
Avatud lähtekoodiga andmete logija (OPENSDL)
Avatud lähtekoodiga andmete logija (OPENSDL)
Avatud lähtekoodiga andmete logija (OPENSDL)
Avatud lähtekoodiga andmete logija (OPENSDL)
Avatud lähtekoodiga andmete logija (OPENSDL)

Selle projekti eesmärk on projekteerida, ehitada ja katsetada ehitiste toimivuse hindamise uuringute jaoks odavat mõõtmissüsteemi, mis hõlmab vähemalt temperatuuri, suhtelist niiskust, valgustust ja on laiendatav täiendavatele anduritele, ning arendada välja nende seadmete prototüüp.

Selle tulemuseks on kohandatud ja taskukohane süsteem, mis võimaldab sidusrühmadel teha tõhususe ja taskukohase hinnaga hoone tulemuslikkuse hindamiseks vajalikke mõõtmisi, logides korraga mitu keskkonnaparameetrit. Väljatöötatud avatud lähtekoodiga andmete logijat (OPENSDL) võrreldi HOBO U12-012 andmelogijaga. See kaubanduslikult saadav analoogsüsteem võib mõõta kolme parameetrit, nimelt temperatuuri, suhtelist õhuniiskust ja valgustust, ning ühte välist kanalit teist tüüpi andurite jaoks. Mis tahes muu parameetri mõõtmiseks oleks vaja teistsugust andurit. Mõõdetavate parameetrite omadused piirduvad omandiõigusega riist- ja tarkvaraga, mis piirab süsteemi teatud parameetrite mõõtmisega konkreetse täpsusega. HOBO U12-012 maksab umbes 13 000 ₹ (185 USA dollarit), samas kui OPENSDL maksab 4 605 ₹ (66 USD), mis on peaaegu üks kolmandik kaubanduslikust analoogist.

Avatud lähtekoodiga andmete logija temperatuuri, õhuniiskuse ja valgustuse (valgustuse) jälgimiseks Arduino Uno abil.

Nõutav aeg: 2-3 tundi jootmiseks, 5 tundi pakendamiseks (4 tundi - 3D -printimine ja 1 tund laserlõikamiseks) Nõutavad oskused: jootmine, programmeerimise ja elektroonika tundmine või puudumine

Vajalikud osad:

  1. Arduino Uno kaabliga
  2. Andmekoguja kilp
  3. CR1220 mündiaku
  4. BME280 temperatuuri niiskuse rõhuanduri katkestusplaat
  5. TSL2561 valgusanduri katkestusplaat
  6. ESP01-8266 WiFi-moodul
  7. RJ-9 isane ja emane pistik
  8. Kilbi virnastamispäised Arduino jaoks
  9. SD mälukaart (mis tahes mahuga)
  10. Vektorplaat (26 x 18 auku)
  11. 8 AA patareid Akuhoidik

Nõutavad tööriistad:

  • Jootekolb (35W)
  • Jootetraat
  • Traadi lõikur
  • Crimper tööriist
  • Multimeeter

Vajalik tarkvara: Arduino IDE (1.0.5 või uuem)

Kasutatud Arduino raamatukogud:

  • Traatraamatukogu
  • SparkFuni TSL2561 raamatukogu
  • Cactus BME280 multisensoriteek
  • SD -kaardi raamatukogu
  • SPI raamatukogu
  • RTC raamatukogu

Märkus: BME280 andur on Boschi väga täpne temperatuuri, suhtelise niiskuse ja rõhu andur. Sarnaselt on DS1307 Maximilt täpne reaalajas kell ja TSL2561 on täpne valgusandur. Nendele toodetele on odavamaid ja vähem täpseid alternatiive, kuid see õpetus oli suunatud inimestele, kes olid huvitatud andmete kogumisest ehitiste toimivuse hindamiseks ja hoone täpsust ja täpsust nõudvateks seirerakendusteks. See tähendab, et mis tahes spetsiifiline riistvara ja tarkvara seadistus (teegid, programmikood) oli mõeldud ainult määratud toodete jaoks.

Samm: kokkupanek

Kokkupanek
Kokkupanek
Kokkupanek
Kokkupanek
Kokkupanek
Kokkupanek
Kokkupanek
Kokkupanek

Andmekoguja kilpi saab hõlpsasti virnastada Arduino Uno tahvli peale. See kilp pakub andmete registreerimise võimalusi (aja hoidmine ja andmete salvestamine). Kilp tuli virnastada. CR1220 mündipatarei tuli sisestada kaasasolevasse ümarasse pessa, et hoida kella töökorras ka siis, kui Arduino on välja lülitatud. SD-mälukaart tuleb sisestada kaasasolevasse pardakaardi pesasse. Ainulaadne kohandatud kilp töötati välja, kasutades RJ-9 pistikupesa tihvte ja Arduino kilbi virnastamispäiseid. Sobivad päised joodeti sobivates kohtades, nii et kilp sobib ideaalselt Arduino tahvlile. Arduino ühel küljel on 18 ja teisel küljel 14 tihvti. Sama arvu tihvtidega päiseid kasutati sama vahega (18 tihvti üksteisest eemal) nagu Arduino puhul. Ülejäänud lisaruumi päiste kõrval kasutati RJ-9 pistiku paigutamiseks.

Päised olid parim viis nõutavate tihvtide kasutamiseks, muutes need siiski teistele komponentidele kasutamiseks kättesaadavaks. Kasutatavad andurid järgivad I2C kommunikatsiooniprotokolli, mis nõuab Arduino 4 tihvti, nimelt: SDA (saadaval ka A4 -vormingus), SCL (saadaval ka A5 -vormingus), 3.3V ja GND. Neli RJ-9 pistikust väljuvat juhtmest joodeti nendesse nelja päise tihvti. Vajalik RJ-9 pistikute arv sõltub andurite arvust. Selles projektis kasutati 3 RJ-9 pistikut (kaks BME280 ja üks TSL2561 jaoks). Neli RJ-9 pistikust väljuvat juhtmest olid värvikoodiga ja iga värvijuhe määrati kõigi RJ-9 pistikute jaoks spetsiifiliseks tihvtiks. Tuleb märkida, et värvikood võib erinevatel RJ-9 tükkidel erineda. Sellisel juhul tuleb märkida juhtme asukoht pistikul. Pärast jootmist pandi RJ-9 pistik Feviqwiki abil vektorplaadile kleepuma, nii et see kinnitub pinnale. Neid ühendusi saab kontrollida multimeetri järjepidevusrežiimi abil. Järjepidevusrežiimis peaks multimeeter näitama takistust. Ühendage üks multimeetri sondidest joodetud tihvtiga ja teine sond RJ-9 pistiku sees oleva tihvtiga. Multimeeter peaks andma tooni, mis tähendab, et jootekohad on korralikud ja ühendused korralikult tehtud. Kui tooni ei väljastata, kontrollige jooteühendusi. Sarnaselt jootke RJ-9 pistik samade juhtmetega, mis on ühendatud andurite purunemisplaatide samade aukudega, st A4, A5, 3.3V ja GND. BME280 andur toetab kahte I2C aadressi, mis tähendab, et samale kontrollerile saab korraga ühendada kaks BME280 andurit. Seda tehes tuleb ühe anduri aadressi muuta, ühendades anduri jootmispadjad. Traadita ühenduse kiip ESP-01 vajas Arduinoga järgmisi ühendusi.

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

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

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

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

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

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

Märkus:- Arduino Uno mitu LED-i eemaldati, et parandada aku kasutusaega. Toiteindikaatori LED, RX ja TX LED eemaldati jootekohtade soojendamise ja LED -i tangidega surumisega.

Samm: seadistage IDE -d ja teegid

Enne mis tahes programmeerimist tuleb alla laadida Arduino IDE (integreeritud arenduskeskkond). Programmeerimine toimus sellel platvormil. OPENSDL -i erinevate komponentidega suhtlemiseks oli vaja erinevaid raamatukogusid. Antud komponentide jaoks kasutati järgmisi teeke.

Komponent ------------------------------------------------- -------------- Raamatukogu

BME280 temperatuuri ja õhuniiskuse andur --------------------------------- Cactus_io_BME280_I2C.h

Valgusandur ------------------------------------------------ ---------------- SparkFun TSL2561.h

Reaalajas kell ----------------------------------------------- ------------- RTClib.h

SD-kaardi pesa ----------------------------------------------- ------------- SD.h

I2C ühendus ------------------------------------------------ ------------- Traat.h

ESP01-ga suhtlemiseks pole eraldi raamatukogu vaja, kuna Arduinosse üles laaditud koodil on AT-käsud, mis saadetakse jadamonitorile, kust ESP-01 võtab juhised. Niisiis, põhimõtteliselt prinditakse AT-käsud, millega ESP01 töötab, jadamonitori, mida ESP-01 võtab sisendkäskluseks. Nende teekide installimiseks avage pärast nende allalaadimist Arduino IDE, avage Sketch -> Include Library -> Add. Zip library ja valige allalaaditud teegid.

3. samm: süsteemi programmeerimine

Süsteemi programmeerimine
Süsteemi programmeerimine

Enne OPENSDL -i programmeerimist ühendage Arduino sülearvutiga. Pärast ühendamist avage Tools -> Port ja valige COM -port, millesse OPENSDL on ühendatud. Veenduge ka, et jaotises Tööriistad -> Lauad oleks valitud Arduino Uno.

OPENSDL töötati välja kahes režiimis. Esimeses režiimis salvestab see andmed SD -kaardile andmekoguja kilbile. Teises režiimis saadab see andmed Interneti kaudu veebisaidile, kasutades ESP-01 WiFi-kiipi. Mõlema režiimi programm on erinev. Neid koodiridu saab otse kopeerida ja kleepida Arduino IDE redaktorisse ning kasutada otse. Koodi sisestamisel peame tegema mõned kohandused vastavalt meie vajadustele:

  1. Logimisintervalli muutmiseks muutke koodi lõpus käsitsi viivituse väärtust (1000). Väärtus 1000 tähistab intervalli millisekundites.
  2. Muutke koodirida, mis ütleb mySensorData = SD.open ("Logitud01.csv", FILE_WRITE); ja asendage Logged01 soovitud failinimega failinimega. Faili laiendust saab muuta ka, muutes laiendit.csv vahetult pärast failinime.
  3. Põhi-/võrdlusanduri ja BME280 vahelise korrelatsiooni leidmisel saavutatud kalibreerimisvõrrand on iga anduri puhul erinev. Asendage see koodirida andurite kalibreerimise võrrandiga: Serial.print ((1.0533*t2) -2.2374)-vaikimisi aadressiga (0x77) anduri puhul, kus t2 on temperatuuriandurilt loetud väärtus.

OPENSDL -i teise saadaoleva režiimi programmeerimiseks on ette nähtud eraldi programm, milleks on traadita süsteem. ESP-01 tuleb ühendada OPENSDL-iga vastavalt ühendustele, nagu on kirjeldatud punktis 2. Pärast ühenduste loomist ühendage Arduino sülearvutiga ja laadige Arduino tühi visand üles. Pange ESP-01 värskendusrežiimi ja värskendage püsivara uusimale saadaolevale värskendusele. Pärast värskendamist ühendage kindlasti Arduino lähtestusnõel 3.3 V pistikuga, mis möödub Arduino alglaadurist

4. samm: valmistamine

Valmistamine
Valmistamine
Valmistamine
Valmistamine
Valmistamine
Valmistamine

Kaitseks ja esteetika parandamiseks loodi OPENSDL -i jaoks mõeldud korpus. Korpused töötati välja 3D -printimise abil, kasutades PLA materjali, ja mikrokontrolleri korpus töötati välja MDF -lehe laserlõikamise ja tükkide liimimise teel. 3D -prinditud mudelid töötati välja tarkvara SketchUp abil ja laserlõikamiseks mõeldud 2D dxf -joonised loodi AutoCAD -i abil.

3D -printimisel avati ja kontrolliti tarkvaraga Ultimaker Cura 3.2.1 SketchUpi abil loodud STL -faile. Veenduge, et kasutatakse PLA -materjali ja printeri otsik on mõeldud 0,4 mm printimiseks. 3D -printeri ehitusplaat võib 3D -prinditud objekti kleepimiseks vajada liimi. Kuid kui trükkimine on lõpule jõudnud, loob liim prinditava objekti ja ehitusplaadi vahel tugeva nakkumise.

Samm: kood

Kood (.ino -failid) töötab Arduino IDE tarkvaras. Siin on link minu Githubi lehele koodi ja muude üksikasjade jaoks.

github.com/arihant93/OPENSDL

Palun ärge kartke esitada projekti kohta küsimusi.

Tänan.

Soovitan: