Mündəricat:

Açıq Mənbə Məlumat Qeydiyyatı (OPENSDL): 5 addım (şəkillərlə)
Açıq Mənbə Məlumat Qeydiyyatı (OPENSDL): 5 addım (şəkillərlə)

Video: Açıq Mənbə Məlumat Qeydiyyatı (OPENSDL): 5 addım (şəkillərlə)

Video: Açıq Mənbə Məlumat Qeydiyyatı (OPENSDL): 5 addım (şəkillərlə)
Video: SQL 2024, Iyul
Anonim
Açıq Mənbə Məlumat Qeydiyyatı (OPENSDL)
Açıq Mənbə Məlumat Qeydiyyatı (OPENSDL)
Açıq Mənbə Məlumat Qeydiyyatı (OPENSDL)
Açıq Mənbə Məlumat Qeydiyyatı (OPENSDL)
Açıq Mənbə Məlumat Qeydiyyatı (OPENSDL)
Açıq Mənbə Məlumat Qeydiyyatı (OPENSDL)

Bu layihənin məqsədi, ən azı temperatur, nisbi rütubət, işıqlandırma və əlavə sensorlar üçün genişlənən Bina Performansının Qiymətləndirilməsi tədqiqatları üçün aşağı qiymətli bir ölçü sistemi dizayn etmək, qurmaq və sınaqdan keçirmək və bu cihazların prototipini inkişaf etdirməkdir..

Bu, maraqlı tərəflərin eyni anda birdən çox ekoloji parametrləri qeyd edərək performans qiymətləndirilməsi üçün lazım olan ölçüləri səmərəli və əlverişli bir şəkildə həyata keçirməsinə imkan verən xüsusi və əlverişli bir sistemlə nəticələnir. Açıq Mənbə Məlumat Qeydiyyatı (OPENSDL), HOBO U12-012 məlumat qeyd cihazı ilə müqayisə edildi. Ticarətdə mövcud olan bu həmsöhbət sistemi, 3 parametri ölçə bilər, yəni temperatur, RH və işıqlandırma və digər sensor növləri üçün bir xarici kanal. Başqa bir parametrin ölçülməsi üçün fərqli bir algılayıcı cihaz tələb olunacaq. Ölçüləcək parametrlərin xüsusiyyətləri, sistemin müəyyən parametrləri xüsusi dəqiqliklə ölçməsini məhdudlaşdıran mülkiyyət aparatı və proqram təminatı ilə məhdudlaşır. Bir HOBO U12-012, təxminən 13,000 (185 ABŞ dolları), OPENSDL isə, 4, 605 (66 ABŞ dolları) dəyərindədir ki, bu da ticarət tərəfdaşının demək olar ki üçdə bir hissəsidir.

Arduino Uno köməyi ilə temperatur, RH və işıq səviyyələrini (işıqlandırmanı) izləmək üçün açıq mənbəli məlumat qeydçisi Bu, OPENSDL məlumat qeydçisini inkişaf etdirmək üçün bir DIYdir.

Lazım olan vaxt: lehimləmə üçün 2-3 saat, qablaşdırma üçün 5 saat (4 saat - 3D çap və lazer kəsmə üçün 1 saat) Tələb olunan bacarıqlar: Lehimləmə, proqramlaşdırma və elektronika haqqında az və ya heç bir məlumat

Lazım olan hissələr:

  1. Arduino Uno kabel ilə
  2. Məlumat qeyd edən qalxan
  3. CR1220 sikkə hüceyrəli batareya
  4. BME280 temperatur rütubət təzyiq sensoru qırılma lövhəsi
  5. TSL2561 işıq sensoru qırılma lövhəsi
  6. ESP01-8266 Wi-Fi modulu
  7. RJ-9 kişi və qadın konnektoru
  8. Arduino üçün qalxan yığma başlıqları
  9. SD yaddaş kartı (istənilən tutum)
  10. Vektor lövhəsi (26 x 18 deşik)
  11. 8 AA batareya Batareya tutacağı

Lazımi alətlər:

  • Lehimləmə dəmir (35W)
  • Lehim teli
  • Tel kəsici
  • Crimper aləti
  • Multimetr

Tələb olunan proqram təminatı: Arduino IDE (1.0.5 və ya daha yüksək)

İstifadə olunan Arduino kitabxanaları:

  • Tel kitabxana
  • SparkFun TSL2561 kitabxanası
  • Cactus BME280 multisensor kitabxanası
  • SD kart kitabxanası
  • SPI kitabxanası
  • RTC kitabxanası

Qeyd: BME280 sensoru Bosch -dan çox dəqiq, temperatur, nisbi rütubət və təzyiq sensoru. Eynilə, DS1307 Maxim -dən dəqiq bir real vaxt saatıdır və TSL2561 dəqiq bir işıq sensoru. Bu məhsullar üçün daha az bahalı və daha az dəqiq alternativlər var, lakin bu təlimat yüksək dəqiqlik və dəqiqlik tələb edən performans qiymətləndirmə və bina monitorinq tətbiqləri üçün məlumat toplamaqla maraqlanan insanlara yönəldilmişdir. Bu o deməkdir ki, hər hansı bir xüsusi qurğu və proqram quruluşu (kitabxanalar, proqram kodu) yalnız göstərilən məhsullar üçün nəzərdə tutulmuşdur.

Addım 1: Quraşdırma

Məclis
Məclis
Məclis
Məclis
Məclis
Məclis
Məclis
Məclis

Məlumat qeyd edən qalxanı Arduino Uno lövhəsinin üstünə asanlıqla yığmaq olar. Bu qalxan məlumatların qeydiyyat imkanlarını (vaxt saxlama və məlumatların saxlanması) təmin edir. Qalxan yığılmalı idi. Arduino söndürüldükdə belə saatın işləməsini təmin etmək üçün yuvarlaq yuvaya CR1220 sikkə batareyası daxil edilməli idi. SD yaddaş kartı, təqdim olunan kart kart yuvasına daxil edilməlidir. RJ-9 bağlayıcı dişi sancaqlar və Arduino qalxanı yığma başlıqları istifadə edərək unikal xüsusi bir qalxan hazırlanmışdır. Müvafiq başlıqlar, qalxan Arduino lövhəsinə mükəmməl oturması üçün uyğun yerlərdə lehimləndi. Arduinonun bir tərəfində 18, digər tərəfində 14 sancaq var. Eyni sayda sancaqlar olan başlıqlar, Arduino ilə eyni aralıqda (bir -birindən 18 pin) istifadə edilmişdir. Başlıqlara bitişik qalan əlavə yer RJ-9 konnektorunu yerləşdirmək üçün istifadə edilmişdir.

Başlıqlar, tələb olunan sancaqları istifadə etməyin ən yaxşı yolu idi, halbuki onları digər komponentlərdə istifadə etmək üçün hazır hala gətirdi. İstifadə olunan sensorlar, Arduino -dan 4 pin tələb edən I2C rabitə protokolunu izləyir, yəni: SDA (A4 olaraq da mövcuddur), SCL (A5 olaraq da mövcuddur), 3.3V & GND. RJ-9 bağlayıcısından çıxan dörd tel bu dörd başlıq pininə lehimləndi. Lazım olan RJ-9 konnektorlarının sayı sensorların sayından asılıdır. Bu layihədə 3 RJ-9 konnektoru istifadə edildi (ikisi BME280 üçün, biri TSL2561 üçün). RJ-9 bağlayıcısından çıxan dörd tel rəng kodlu idi və hər rəng tel bütün RJ-9 konnektorları üçün xüsusi bir pin təyin edildi. Rəng kodunun fərqli RJ-9 ədədlərində fərqli ola biləcəyini qeyd etmək lazımdır. Bu vəziyyətdə, konnektordakı telin yerini qeyd etmək lazımdır. RJ-9 konnektoru, lehimləndikdən sonra, Feviqwik istifadə edərək vektor lövhəsinə yapışdırılır və səthə sabitlənir. Bu əlaqələr multimetrdə davamlılıq rejimindən istifadə etməklə yoxlanıla bilər. Davamlılıq rejimində olduqda multimetr sıfır müqavimət göstərməlidir. Multimetrin problarından birini lehimlənmiş pinə, digərini isə RJ-9 konnektoru içərisindəki pinə bağlayın. Multimetr bir ton yaymalıdır, yəni lehim birləşmələrinin düzgün olduğunu və əlaqələrin düzgün qurulduğunu göstərir. Ton çıxmırsa, lehim birləşmələrini yoxlayın. Eynilə, AJ, A5, 3.3V və GND kimi sensor qırılma lövhələrində eyni pin deliklərinə bağlanan eyni tellərlə RJ-9 konnektorunu lehimləyin. BME280 sensoru iki I2C ünvanını dəstəkləyir, yəni iki BME280 sensoru eyni nəzarətçiyə eyni anda qoşula bilər. Bunu edərkən, sensordakı lehim yastıqlarını bağlayaraq sensorlardan birinin ünvanı dəyişdirilməlidir. Bir ESP-01 simsiz əlaqə çipi Arduino ilə aşağıdakı əlaqələri tələb edirdi.

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

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

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

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

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

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

Qeyd:- Batareya ömrünü artırmaq üçün Arduino Uno üzərindəki çoxlu LED-lər çıxarıldı. Güc göstərici LED, RX və TX LEDləri, lehim birləşmələrini qızdırmaq və LED -i forseps ilə itələməklə çıxarıldı.

Addım 2: IDE və Kitabxanaları qurun

Hər hansı bir proqramlaşdırma etməzdən əvvəl Arduino IDE (Integrated Development Environment) yüklənməlidir. Proqramlaşdırma bu platformada edildi. OPENSDL -in fərqli komponentləri ilə qarşılıqlı əlaqə qurmaq üçün fərqli kitabxanalar tələb olunurdu. Verilən komponentlər üçün aşağıdakı kitabxanalar istifadə edilmişdir.

Komponent ------------------------------------------------- -------------- Kitabxana

BME280 temperatur və RH sensoru -------------------------------- Cactus_io_BME280_I2C.h

İşıq sensoru ------------------------------------------------ ---------------- SparkFun TSL2561.h

Real vaxt saatı ----------------------------------------------- ------------- RTClib.h

SD kart yuvası ----------------------------------------------- ------------- SD.h

I2C bağlantısı ------------------------------------------------ ------------- Tel.h

ESP01 ilə ünsiyyət qurmaq üçün ayrı bir kitabxana tələb olunmur, çünki Arduinoda yüklənən kod, ESP-01-in təlimatları götürdüyü seriyalı monitora göndərilən AT əmrlərinə malikdir. Beləliklə, əsasən, ESP01-in işlədiyi AT əmrləri ESP-01 tərəfindən giriş əmri olaraq qəbul edilən Serial Monitorda çap olunur. Bu kitabxanaları yükləmək üçün, yüklədikdən sonra Arduino IDE -ni açın, Sketch -> Kitabxanaya Daxil et -> Zip kitabxanası əlavə edin və yüklənmiş kitabxanaları seçin.

Addım 3: Sistemin proqramlaşdırılması

Sistemin Proqramlaşdırılması
Sistemin Proqramlaşdırılması

OPENSDL proqramlaşdırmadan əvvəl Arduino noutbuka qoşulur. Bağlandıqdan sonra Alətlər -> Limana gedin və OPENSDL -in qoşulduğu COM portunu seçin. Ayrıca, Alətlər -> Lövhələr altında Arduino Uno -nun seçildiyinə əmin olun.

OPENSDL 2 rejimdə işləmək üçün hazırlanmışdır. Birinci rejimdə, məlumatları qeyd kartında SD kartdakı məlumatları saxlayır. İkinci rejimdə, ESP-01 Wi-Fi çipindən istifadə edərək məlumatları internet üzərindən bir veb sayta göndərir. Hər iki rejim üçün proqram fərqlidir. Bu kod xətləri birbaşa Arduino IDE redaktoruna kopyalanıb yapışdırıla və birbaşa istifadə edilə bilər. Kod daxil olduqdan sonra ehtiyaclarımıza uyğun olaraq bir neçə fərdiləşdirmə etməliyik:

  1. Giriş aralığını dəyişdirmək üçün kodun sonunda gecikmə dəyərini (1000) əl ilə dəyişdirin. 1000 dəyəri, milisaniyələrdəki aralığı təmsil edir.
  2. MySensorData = SD.open ("Logged01.csv", FILE_WRITE) deyən kod xəttini düzəldin; və Logged01 -i istədiyiniz fayl adının fayl adı ilə əvəz edin. Faylın uzantısı da fayl adından dərhal sonra.csv uzantısı dəyişdirilərək dəyişdirilə bilər.
  3. Master/istinad sensoru ilə BME280 arasındakı əlaqəni tapmaqla əldə edilən kalibrləmə tənliyi hər bir sensora görə dəyişəcək. Sensorların kalibrlənməsi üçün bu kod sətrini tənliklə əvəz edin: Serial.print ((1.0533*t2) -2.2374)-standart ünvanı (0x77) olan sensorlar üçün, burada t2 temperatur sensorundan oxunan dəyərdir.

OPENSDL -in simsiz sistem olan ikinci mövcud rejimini proqramlaşdırmaq üçün ayrıca bir proqram təmin edilmişdir. ESP-01, 2 nömrəli addımda izah edildiyi kimi, OPENSDL-ə qoşulmalıdır. Əlaqələri bitirdikdən sonra Arduino'yu noutbuka qoşun və Arduinoya boş bir eskiz yükləyin. ESP-01-i yeniləmə rejiminə qoyun və firmware-ni ən son mövcud yeniləmə ilə yeniləyin. Yenilədikdən sonra Arduino sıfırlama pinini Arduino yükləyicisini aşan 3.3V pinlə bağladığınızdan əmin olun.

Addım 4: İstehsal

İstehsal
İstehsal
İstehsal
İstehsal
İstehsal
İstehsal

OPENSDL qoruması və estetikasını yaxşılaşdırmaq üçün bir korpus yaradılmışdır. Korpuslar PLA materialından istifadə edərək 3D çap, mikro nəzarətçi üçün korpus isə MDF təbəqəsinin lazerlə kəsilməsi və parçaların bir -birinə yapışdırılması yolu ilə hazırlanmışdır. 3D çaplı modellər SketchUp proqramı ilə, lazer kəsmə üçün 2D dxf təsvirləri AutoCAD istifadə edərək yaradılmışdır.

3D çap üçün, SketchUp istifadə edərək hazırlanan STL sənədləri Ultimaker Cura 3.2.1 proqramında açılmış və yoxlanılmışdır. PLA materialının istifadə olunduğundan və istifadə olunan printerin ucunun 0,4 mm çap üçün olduğundan əmin olun. 3D printerin quruluş plitəsi, 3D çap edilmiş obyekti yapışdırmaq üçün yapışqan tələb edə bilər. Amma çap tamamlandıqda, yapışqan çap olunmuş obyektlə tikinti lövhəsi arasında möhkəm yapışma yaradır.

Addım 5: Kod

Kod (.ino faylları) Arduino IDE proqramında işləmək üçün hazırlanmışdır. Kod və digər detallar üçün Github səhifəmin bağlantısı burada.

github.com/arihant93/OPENSDL

Zəhmət olmasa layihə ilə bağlı suallar verməkdən çəkinməyin.

Təşəkkürlər.

Tövsiyə: