Satura rādītājs:

Atvērtā koda datu reģistrētājs (OPENSDL): 5 soļi (ar attēliem)
Atvērtā koda datu reģistrētājs (OPENSDL): 5 soļi (ar attēliem)

Video: Atvērtā koda datu reģistrētājs (OPENSDL): 5 soļi (ar attēliem)

Video: Atvērtā koda datu reģistrētājs (OPENSDL): 5 soļi (ar attēliem)
Video: Java tech talk: Spring Boot and GraphQl integration. Как сделать это просто? 2024, Novembris
Anonim
Atvērtā pirmkoda datu reģistrētājs (OPENSDL)
Atvērtā pirmkoda datu reģistrētājs (OPENSDL)
Atvērtā pirmkoda datu reģistrētājs (OPENSDL)
Atvērtā pirmkoda datu reģistrētājs (OPENSDL)
Atvērtā pirmkoda datu reģistrētājs (OPENSDL)
Atvērtā pirmkoda datu reģistrētājs (OPENSDL)

Šī projekta mērķis ir izstrādāt, izveidot un pārbaudīt ēku veiktspējas novērtēšanas pētījumu zemu izmaksu mērīšanas sistēmu, kas ietver vismaz temperatūru, relatīvo mitrumu, apgaismojumu un ir paplašināma ar papildu sensoriem, un izstrādāt šo ierīču prototipu..

Tā rezultātā tiek izveidota pielāgota un pieņemama sistēma, kas ļauj ieinteresētajām personām efektīvi un par pieņemamu cenu veikt ēku darbības novērtēšanai nepieciešamos mērījumus, vienlaikus reģistrējot vairākus vides parametrus. Izstrādātais atvērtā pirmkoda datu reģistrētājs (OPENSDL) tika salīdzināts ar datu reģistrētāju HOBO U12-012. Šī komerciāli pieejamā ekvivalenta sistēma var izmērīt 3 parametrus, proti, temperatūru, RH un apgaismojumu, un vienu ārējo kanālu citiem sensoru veidiem. Jebkura cita parametra mērīšanai būtu nepieciešama cita sensoru ierīce. Mērāmo parametru raksturlielumi attiecas tikai uz patentētu aparatūru un programmatūru, kas aprobežojas ar noteiktu parametru mērīšanu ar īpašu precizitāti. HOBO U12-012 maksā aptuveni 13 000 ₹ (185 USD), savukārt OPENSDL maksā 4 605 ₹ (66 USD), kas ir gandrīz viena trešdaļa no komerciālā ekvivalenta.

Atvērtā koda datu reģistrētājs temperatūras, RH un gaismas līmeņu (apgaismojuma) uzraudzībai, izmantojot Arduino Uno. Šis ir DIY, lai izstrādātu datu reģistrētāju OPENSDL.

Nepieciešamais laiks: 2-3 stundas lodēšanai, 5 stundas iesaiņošanai (4 stundas - 3D drukāšana un 1 stunda lāzera griešanai) Nepieciešamās prasmes: lodēšana, nelielas zināšanas programmēšanā un elektronikā

Nepieciešamās detaļas:

  1. Arduino Uno ar kabeli
  2. Datu reģistrētāja vairogs
  3. CR1220 monētu šūnu baterija
  4. BME280 temperatūras mitruma spiediena sensora sadalīšanas panelis
  5. TSL2561 gaismas sensora izlaušanas dēlis
  6. ESP01-8266 Wi-Fi modulis
  7. RJ-9 vīriešu un sieviešu savienotājs
  8. Arduino vairoga sakraušanas galvenes
  9. SD atmiņas karte (jebkura ietilpība)
  10. Vektoru dēlis (26 x 18 caurumi)
  11. 8 AA baterijas Bateriju turētājs

Nepieciešamie rīki:

  • Lodāmurs (35W)
  • Lodēšanas stieple
  • Stiepļu griezējs
  • Gofrēšanas rīks
  • Multimetrs

Nepieciešamā programmatūra: Arduino IDE (1.0.5 vai jaunāka)

Izmantotās Arduino bibliotēkas:

  • Vadu bibliotēka
  • SparkFun TSL2561 bibliotēka
  • Cactus BME280 multisensoru bibliotēka
  • SD karšu bibliotēka
  • SPI bibliotēka
  • RTC bibliotēka

Piezīme: BME280 sensors ir ļoti precīzs Bosch temperatūras, relatīvā mitruma un spiediena sensors. Līdzīgi DS1307 ir precīzs Maxim reālā laika pulkstenis, un TSL2561 ir precīzs gaismas sensors. Šiem produktiem ir lētākas un mazāk precīzas alternatīvas, taču šī apmācība bija paredzēta cilvēkiem, kuri bija ieinteresēti apkopot datus ēku veiktspējas novērtēšanai un ēku uzraudzības lietojumprogrammām, kurām nepieciešama augsta precizitāte un precizitāte. Tas nozīmē, ka jebkura īpaša aparatūras un programmatūras iestatīšana (bibliotēkas, programmas kods) bija paredzēta tikai norādītajiem produktiem.

1. solis: montāža

Montāža
Montāža
Montāža
Montāža
Montāža
Montāža
Montāža
Montāža

Datu reģistrētāja vairogu var viegli sakraut uz Arduino Uno tāfeles. Šis vairogs nodrošina datu reģistrēšanas iespējas (laika saglabāšana un datu glabāšana). Vairogu vajadzēja sakraut. CR1220 monētu šūnu baterija bija jāievieto paredzētajā apaļajā slotā, lai pulkstenis darbotos pat tad, ja Arduino ir izslēgts. SD atmiņas karte jāievieto komplektācijā iekļautajā kartes slotā. Unikāls pielāgots vairogs tika izstrādāts, izmantojot RJ-9 savienotāja sieviešu tapas un Arduino vairoga sakraušanas galvenes. Atbilstošās galvenes tika pielodētas atbilstošās vietās, lai vairogs lieliski iederētos Arduino plāksnē. Arduino vienā pusē ir 18 tapas, bet otrā - 14 tapas. Galvenes ar tādu pašu tapu skaitu tika izmantotas tādā pašā attālumā (18 tapas viena no otras) kā Arduino. Atlikušā papildu vieta blakus galvenēm tika izmantota RJ-9 savienotāja novietošanai.

Galvenes bija labākais veids, kā izmantot nepieciešamās tapas, vienlaikus padarot tās pieejamas citām sastāvdaļām. Izmantotie sensori atbilst I2C sakaru protokolam, kuram no Arduino ir nepieciešamas 4 tapas, proti: SDA (pieejams arī kā A4), SCL (pieejams arī kā A5), 3.3V un GND. Četri vadi, kas izplūst no RJ-9 savienotāja, tika pielodēti šajās četrās galvenes tapās. Nepieciešamais RJ-9 savienotāju skaits ir atkarīgs no sensoru skaita. Šajā projektā tika izmantoti 3 RJ-9 savienotāji (divi BME280 un viens TSL2561). Četri vadi, kas iznāca no RJ-9 savienotāja, bija krāsoti, un katrs krāsu vads tika apzīmēts ar īpašu tapu visiem RJ-9 savienotājiem. Jāatzīmē, ka krāsu kods dažādiem RJ-9 gabaliem var atšķirties. Šādā gadījumā jāatzīmē stieples atrašanās vieta uz savienotāja. RJ-9 savienotājs pēc lodēšanas tika pielīmēts pie vektoru plāksnes, izmantojot Feviqwik, lai tas tiktu fiksēts uz virsmas. Šos savienojumus var pārbaudīt, izmantojot nepārtrauktības režīmu multimetrā. Nepārtrauktības režīmā multimetram vajadzētu parādīt nulles pretestību. Savienojiet vienu no multimetra zondēm ar lodēto tapu, bet otru-ar RJ-9 savienotāja iekšpusē esošo tapu. Multimetram vajadzētu izstarot signālu, kas nozīmē, ka lodēšanas savienojumi ir pareizi un savienojumi ir veikti pareizi. Ja tonis netiek izstarots, pārbaudiet lodēšanas savienojumus. Līdzīgi lodējiet RJ-9 savienotāju ar vienādiem vadiem, kas savienojas ar tām pašām caurumiem uz sensoru sadalīšanas dēļiem, t.i., A4, A5, 3.3V un GND. BME280 sensors atbalsta divas I2C adreses, kas nozīmē, ka vienam un tam pašam kontrolierim var pievienot divus BME280 sensorus vienlaikus. To darot, viena sensora adrese ir jāmaina, savienojot sensora lodēšanas spilventiņus. ESP-01 bezvadu savienojuma mikroshēmai bija nepieciešami šādi savienojumi ar Arduino.

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

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

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

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

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

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

Piezīme:- Lai uzlabotu akumulatora darbības laiku, Arduino Uno tika noņemtas vairākas gaismas diodes. Strāvas indikatora gaismas diodes, RX un TX gaismas diodes tika noņemtas, sasildot lodēšanas savienojumus un spiežot gaismas diodi ar knaiblēm.

2. darbība: iestatiet IDE un bibliotēkas

Pirms programmēšanas ir jālejupielādē Arduino IDE (integrētā izstrādes vide). Programmēšana tika veikta šajā platformā. Lai mijiedarbotos ar dažādiem OPENSDL komponentiem, bija nepieciešamas dažādas bibliotēkas. Dotajām sastāvdaļām tika izmantotas šādas bibliotēkas.

Komponents ------------------------------------------------- -------------- Bibliotēka

BME280 temperatūras un mitruma sensors --------------------------------- Cactus_io_BME280_I2C.h

Gaismas sensors ------------------------------------------------ ---------------- SparkFun TSL2561.h

Reālā laika pulkstenis ----------------------------------------------- ------------- RTClib.h

SD kartes ligzda ----------------------------------------------- ------------- SD.h

I2C savienojums ------------------------------------------------ ------------- Vads.h

Atsevišķa bibliotēka saziņai ar ESP01 nav nepieciešama, jo Arduino augšupielādētajam kodam ir AT komandas, kuras tiek nosūtītas uz seriālo monitoru, no kurienes ESP-01 saņem norādījumus. Tātad būtībā AT komandas, ar kurām darbojas ESP01, tiek drukātas sērijas monitorā, kuras ESP-01 uztver kā ievades komandu. Lai instalētu šīs bibliotēkas, pēc to lejupielādes atveriet Arduino IDE, dodieties uz Skice -> Iekļaut bibliotēku -> Pievienot. Zip bibliotēku un atlasiet lejupielādētās bibliotēkas.

3. darbība: sistēmas programmēšana

Sistēmas programmēšana
Sistēmas programmēšana

Pirms OPENSDL programmēšanas savienojiet Arduino ar klēpjdatoru. Pēc savienošanas dodieties uz Tools -> Port un izvēlieties COM portu, kurā ir pievienots OPENSDL. Tāpat pārliecinieties, vai sadaļā Rīki -> Dēļi ir atlasīta Arduino Uno.

OPENSDL tika izstrādāts darbam 2 režīmos. Pirmajā režīmā tas saglabā datus SD kartē uz datu reģistrētāja vairoga. Otrajā režīmā tas nosūta datus internetā uz vietni, izmantojot ESP-01 Wi-Fi mikroshēmu. Abu režīmu programma ir atšķirīga. Šīs koda rindas var tieši kopēt un ielīmēt Arduino IDE redaktorā un izmantot tieši. Kad kods ir ievadīts, mums ir jāveic daži pielāgojumi atbilstoši mūsu vajadzībām:

  1. Manuāli mainiet aizkaves vērtību (1000) koda beigās, lai mainītu reģistrēšanas intervālu. Vērtība 1000 norāda intervālu milisekundēs.
  2. Rediģējiet koda rindiņu, kurā teikts mySensorData = SD.open ("Logged01.csv", FILE_WRITE); un aizstājiet Logged01 ar vēlamā faila nosaukuma faila nosaukumu. Faila paplašinājumu var mainīt arī, mainot paplašinājumu.csv tieši aiz faila nosaukuma.
  3. Kalibrēšanas vienādojums, kas iegūts, atrodot korelāciju starp galveno/atskaites sensoru un BME280, katram sensoram būs atšķirīgs. Aizstājiet šo koda rindu ar sensoru kalibrēšanas vienādojumu: Serial.print ((1.0533*t2) -2.2374)-sensoram ar noklusējuma adresi (0x77), kur t2 ir vērtība, kas nolasīta no temperatūras sensora.

Otra pieejamā OPENSDL režīma, kas ir bezvadu sistēma, programmēšanai ir paredzēta atsevišķa programma. ESP-01 ir jāpievieno OPENSDL atbilstoši savienojumiem, kā paskaidrots 2. solī. Pēc savienojumu pabeigšanas pievienojiet Arduino klēpjdatoram un augšupielādējiet tukšu skici Arduino. Novietojiet ESP-01 atjaunināšanas režīmā un atjauniniet programmaparatūru uz jaunāko pieejamo atjauninājumu. Pēc atjaunināšanas noteikti pievienojiet Arduino atiestatīšanas tapu ar 3.3V tapu, kas apiet Arduino sāknēšanas ielādētāju

4. solis: izgatavošana

Izgatavošana
Izgatavošana
Izgatavošana
Izgatavošana
Izgatavošana
Izgatavošana

Aizsardzībai un estētikas uzlabošanai tika izveidots korpuss OPENSDL. Korpusi tika izstrādāti, izmantojot 3D drukāšanu, izmantojot PLA materiālu, un mikrokontrollera korpuss tika izstrādāts, lāzerā sagriežot MDF loksni un salīmējot gabalus. 3D drukātie modeļi tika izstrādāti, izmantojot SketchUp programmatūru, un 2D dxf rasējumi lāzera griešanai tika izveidoti, izmantojot AutoCAD.

3D drukāšanai STL faili, kas iegūti, izmantojot SketchUp, tika atvērti un pārbaudīti Ultimaker Cura 3.2.1 programmatūrā. Pārliecinieties, vai tiek izmantots PLA materiāls, un printera sprausla ir paredzēta 0,4 mm drukāšanai. 3D printera konstrukcijas plāksnei var būt nepieciešama līme, lai pielīmētu 3D drukāto objektu. Bet, kad drukāšana ir pabeigta, līme rada spēcīgu saķeri starp iespiesto priekšmetu un konstrukcijas plāksni.

5. darbība: kods

Kods (.ino faili) ir paredzēts darbam Arduino IDE programmatūrā. Šeit ir saite uz manu Github lapu, lai iegūtu kodu un citu informāciju.

github.com/arihant93/OPENSDL

Lūdzu, nevilcinieties uzdot jautājumus par projektu.

Paldies.

Ieteicams: