Mundarija:
- 1 -qadam: yig'ish
- 2 -qadam: IDE va kutubxonalarni sozlash
- 3 -qadam: tizimni dasturlash
- 4 -qadam: ishlab chiqarish
- 5 -qadam: kod
Video: Ochiq kodli ma'lumotlar yozuvchisi (OPENSDL): 5 qadam (rasmlar bilan)
2024 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2024-01-30 13:26
Loyihaning maqsadi-hech bo'lmaganda harorat, nisbiy namlik, yoritishni o'z ichiga olgan va qo'shimcha sensorlar uchun kengaytiriladigan binolarning ishlashini baholash uchun arzon narxlardagi o'lchov tizimini loyihalash, qurish va sinovdan o'tkazish va ushbu qurilmalarning prototipini ishlab chiqish..
Natijada, manfaatdor tomonlarga bir vaqtning o'zida bir nechta atrof -muhit parametrlarini hisobga olish orqali ishlashni baholash uchun zarur bo'lgan o'lchovlarni samarali va arzon narxlarda o'tkazishga imkon beradigan moslashtirilgan va arzon tizim yaratiladi. Ochiq kodli ma'lumotlar yozuvchisi (OPENSDL) HOBO U12-012 ma'lumot yozuvchisi bilan taqqoslandi. Tijoratda mavjud bo'lgan analog tizim 3 parametrni o'lchashi mumkin, ya'ni harorat, RH, yorug'lik va boshqa turdagi sensorlar uchun bitta tashqi kanal. Boshqa parametrlarni o'lchash uchun boshqa sezgich qurilmasi kerak bo'ladi. O'lchanishi kerak bo'lgan parametrlarning xarakteristikasi maxsus apparat va dasturiy ta'minot bilan chegaralanadi, bu tizimni aniq aniqlik bilan ma'lum parametrlarni o'lchashni cheklaydi. HOBO U12-012 narxi taxminan 13000 evro (185 AQSh dollari), OPENSDL esa 4605 (66 AQSh dollari) turadi, bu tijorat hamkasblarining deyarli uchdan bir qismini tashkil qiladi.
Arduino Uno yordamida harorat, RH va yorug'lik darajasini (yorug'lik) kuzatish uchun ochiq manbali ma'lumotlarni qayd qilish vositasi - bu OPENSDL ma'lumot yozish moslamasini ishlab chiqish uchun DIY.
Vaqt talab qilinadi: lehim uchun 2-3 soat, qadoqlash uchun 5 soat (4 soat - 3D bosib chiqarish va lazer bilan kesish uchun 1 soat) Kerakli ko'nikmalar: Lehimlash, dasturlash va elektronika sohasida hech qanday bilim yoki umuman yo'q
Kerakli qismlar:
- Kabel bilan Arduino Uno
- Ma'lumotlarni yozish qalqoni
- CR1220 tanga batareyasi
- BME280 harorat namlik bosimi sensori sindiruvchi taxtasi
- TSL2561 yorug'lik sensori sindirish taxtasi
- ESP01-8266 Wi-Fi moduli
- RJ-9 erkak va ayol ulagichi
- Arduino uchun qalqon yig'ish sarlavhalari
- SD xotira kartasi (har qanday sig'im)
- Vektorli taxta (26 x 18 teshik)
- 8 ta AA batareyasi Batareya ushlagichi
Kerakli asboblar:
- Lehimlash temir (35W)
- Lehim sim
- Tel kesuvchi
- Crimper vositasi
- Multimetr
Kerakli dasturiy ta'minot: Arduino IDE (1.0.5 yoki undan yuqori)
Arduino kutubxonalari ishlatilgan:
- Tel kutubxona
- SparkFun TSL2561 kutubxonasi
- Cactus BME280 multisensor kutubxonasi
- SD -karta kutubxonasi
- SPI kutubxonasi
- RTC kutubxonasi
Eslatma: BME280 sensori Boschdan kelgan juda aniq, harorat, nisbiy namlik va bosim sensori. Xuddi shunday, DS1307 - bu Maksimning aniq real vaqtda soati va TSL2561 - aniq yorug'lik sensori. Bu mahsulotlar uchun arzonroq va aniqroq alternativalar bor, lekin bu qo'llanma yuqori aniqlik va aniqlikni talab qiladigan ish faoliyatini baholash va qurilish monitoringi dasturlari uchun ma'lumot to'plashga qiziqqan odamlarga mo'ljallangan edi. Bu shuni anglatadiki, har qanday maxsus uskuna va dasturiy ta'minotni sozlash (kutubxonalar, dastur kodlari) faqat ko'rsatilgan mahsulotlar uchun mo'ljallangan.
1 -qadam: yig'ish
Ma'lumotlarni yozish qalqoni Arduino Uno taxtasi ustiga osongina yig'ilishi mumkin. Bu qalqon ma'lumotlarni yozib olish imkoniyatlarini beradi (vaqtni saqlash va ma'lumotlarni saqlash). Qalqonni bir -biriga yopishtirish kerak edi. CR1220 tanga batareyasi Arduino o'chirilgan bo'lsa ham soatning ishlashi uchun dumaloq uyaga joylashtirilishi kerak edi. SD xotira kartasi o'rnatilgan karta uyasiga joylashtirilgan bo'lishi kerak. Noyob moslashtirilgan qalqon RJ-9 konnektorli ayol pinlari va Arduino qalqoni yig'ish sarlavhalari yordamida ishlab chiqilgan. Tegishli sarlavhalar tegishli joylarda lehimlangan, shunda qalqon Arduino kartasiga to'liq mos keladi. Arduino -ning bir tomonida 18 ta, boshqa tomonida 14 ta pin bor. Bir xil miqdordagi pinli sarlavhalar Arduino -da bo'lgani kabi bir xil masofada (bir -biridan 18 pinli) ishlatilgan. Sarlavhalarga ulashgan qolgan bo'sh joy RJ-9 ulagichini joylashtirish uchun ishlatilgan.
Sarlavhalar kerakli pimlarni ishlatishning eng yaxshi usuli edi, shu bilan birga ularni boshqa komponentalarga ishlatishga imkon berdi. Ishlatiladigan sensorlar I2C aloqa protokoliga amal qiladi, buning uchun Arduino -dan 4 ta pin kerak bo'ladi: SDA (A4 formatida ham mavjud), SCL (A5 sifatida ham mavjud), 3.3V va GND. RJ-9 ulagichidan chiqadigan to'rtta sim, bu to'rtta bosh pimiga lehimlangan. RJ-9 ulagichlarining soni sensorlar soniga bog'liq. Ushbu loyihada 3 ta RJ-9 ulagichi ishlatilgan (ikkitasi BME280 va bittasi TSL2561 uchun). RJ-9 ulagichidan chiqadigan to'rtta simlar rangli kodlangan va har bir rangli sim barcha RJ-9 ulagichlari uchun maxsus pin bilan belgilangan. Shuni ta'kidlash kerakki, rang kodi har xil RJ-9 qismlarida farq qilishi mumkin. Bunday holda, ulagichdagi simning joylashishini ta'kidlash kerak. RJ-9 ulagichi lehimlangandan so'ng, u Feviqwik yordamida vektorli taxtaga yopishib olindi, shunda u sirtga o'rnatiladi. Bu ulanishlarni multimetrdagi uzluksizlik rejimi yordamida tekshirish mumkin. Uzluksiz rejimda multimetr nol qarshilik ko'rsatishi kerak. Multimetr problaridan birini lehimli pinga, ikkinchisini esa RJ-9 ulagichi ichidagi pinga ulang. Multimetr ohang chiqarishi kerak, ya'ni lehim bo'g'inlari to'g'ri va ulanishlar to'g'ri qilingan. Agar ohang chiqmasa, lehim bo'g'inlarini tekshiring. Xuddi shunday, RJ-9 ulagichini xuddi shu simlar bilan sensorlar uzilib qolgan taxtalarda, ya'ni A4, A5, 3.3V & GND. BME280 sensori ikkita I2C manzilini qo'llab -quvvatlaydi, ya'ni ikkita BME280 sensori bir vaqtning o'zida bitta kontrollerga ulanishi mumkin. Shu bilan birga, datchiklardan birining manzilini sensordagi lehim yostiqchalari orqali o'zgartirish kerak. ESP-01 simsiz ulanish chipi Arduino bilan quyidagi ulanishlarni talab qildi.
ESP-01 --------- Arduino Uno
10 -------------------- TX
11 -------------------- RX
Vcc ---------------- CH_PD
Vcc ------------------- Vcc
GND ----------------- GND
Eslatma:- Arduino Uno-dagi bir nechta LEDlar batareyaning ishlash muddatini yaxshilash uchun olib tashlandi. Quvvat ko'rsatkichi LED, RX va TX LEDlari lehim bo'g'inlarini qizdirish va LEDni forseps bilan itarish orqali olib tashlandi.
2 -qadam: IDE va kutubxonalarni sozlash
Har qanday dasturlashdan oldin Arduino IDE (Integrated Development Environment) ni yuklab olish kerak. Dasturlash ushbu platformada amalga oshirildi. Turli kutubxonalar OPENSDLning turli komponentalari bilan o'zaro aloqada bo'lishlari kerak edi. Berilgan komponentalar uchun quyidagi kutubxonalar ishlatilgan.
Komponent ------------------------------------------------- -------------- kutubxona
BME280 harorat va RH sensori -------------------------------- Cactus_io_BME280_I2C.h
Nur sensori ------------------------------------------------ ---------------- SparkFun TSL2561.h
Haqiqiy vaqt soati ----------------------------------------------- ------------ RTClib.h
SD-karta uyasi ----------------------------------------------- ------------- SD.h
I2C ulanishi ------------------------------------------------ ------------- Tel.h
ESP01 bilan aloqa qilish uchun alohida kutubxona talab qilinmaydi, chunki Arduino-ga yuklangan kodda ATSP buyruqlari mavjud bo'lib, ular ketma-ket monitorga yuboriladi, u erdan ESP-01 ko'rsatmalarni oladi. Shunday qilib, asosan, ESP01 ishlaydigan AT buyruqlari ketma-ket monitorda chop etiladi, ular ESP-01 kirish buyrug'i sifatida qabul qilinadi. Ushbu kutubxonalarni o'rnatish uchun, ularni yuklab olgandan so'ng, Arduino IDE -ni oching, Sketch -> Kutubxonani qo'shish -> Zip kutubxonasini qo'shish -ga o'ting va yuklab olingan kutubxonalarni tanlang.
3 -qadam: tizimni dasturlash
OPENSDL -ni dasturlashdan oldin Arduino -ni noutbukga ulang. Ulanishdan so'ng, Tools -> Port -ga o'ting va OPENSDL ulangan COM portini tanlang. Shuningdek, asboblar -> taxtalar ostida Arduino Uno tanlanganligiga ishonch hosil qiling.
OPENSDL 2 rejimda ishlash uchun ishlab chiqilgan. Birinchi rejimda, u ma'lumotlarni yozish qalqonida SD -kartadagi ma'lumotlarni saqlaydi. Ikkinchi rejimda, u Internet orqali ma'lumotlarni ESP-01 Wi-Fi chipi yordamida veb-saytga yuboradi. Ikkala rejim uchun ham dastur boshqacha. Ushbu kod satrlarini to'g'ridan -to'g'ri Arduino IDE tahrirlovchisiga ko'chirish va joylashtirish va to'g'ridan -to'g'ri ishlatish mumkin. Kodni kiritgandan so'ng, biz o'z ehtiyojlarimizga qarab bir nechta sozlashlarni amalga oshirishimiz kerak:
- Jurnal vaqtini o'zgartirish uchun kod oxirida kechikish (1000) qiymatini qo'lda o'zgartiring. 1000 qiymati millisekundlarda intervalni ifodalaydi.
- MySensorData = SD.open ("Logged01.csv", FILE_WRITE) yoziladigan kod qatorini tahrir qiling; va Logged01 -ni kerakli fayl nomining fayl nomi bilan almashtiring. Fayl nomidan keyin.csv kengaytmasini o'zgartirish orqali fayl kengaytmasini o'zgartirish mumkin.
- Master/mos yozuvlar sensori va BME280 o'rtasidagi bog'liqlikni topish orqali erishilgan kalibrlash tenglamasi har bir sensordan farq qiladi. Ushbu kod qatorini sensorlarni kalibrlash tenglamasi bilan almashtiring: Serial.print ((1.0533*t2) -2.2374)-standart manzilga ega sensorlar uchun (0x77), bu erda t2-harorat sensori orqali o'qiladigan qiymat.
OPENSDL -ning ikkinchi mavjud rejimini, ya'ni simsiz tizimni dasturlash uchun alohida dastur ajratilgan. ESP-01 2-bosqichda aytilganidek, ulanishlar bo'yicha OPENSDL ga ulangan bo'lishi kerak. Ulanishlarni tugatgandan so'ng, Arduino -ni noutbukga ulang va Arduino -ga bo'sh eskizni yuklang. ESP-01-ni yangilash rejimiga o'tkazing va dasturiy ta'minotni so'nggi yangilanishlarga yangilang. Yangilashdan so'ng, Arduino yuklash moslamasini chetlab o'tadigan Arduino -ning tiklash pinini 3.3V -ga ulang.
4 -qadam: ishlab chiqarish
OPENSDL muhofazasi va estetikasini yaxshilash uchun korpus yaratilgan. Qoplamalar PLA materialidan foydalangan holda 3D bosib chiqarish usulida ishlab chiqilgan, va mikrokontrolder uchun korpus MDF qatlamini lazer bilan kesish va bo'laklarni yopishtirish orqali ishlab chiqilgan. 3D bosma modellar SketchUp dasturi yordamida ishlab chiqilgan va lazer bilan kesish uchun 2D dxf chizmalar AutoCAD yordamida yaratilgan.
3D bosib chiqarish uchun SketchUp yordamida ishlab chiqarilgan STL fayllari Ultimaker Cura 3.2.1 dasturida ochilgan va tekshirilgan. PLA materiali ishlatilganligiga ishonch hosil qiling va printerning uchi 0,4 mm bosib chiqarishga mo'ljallangan. 3D printerning plastinkasi 3D bosilgan ob'ektni yopishtirish uchun elim talab qilishi mumkin. Ammo bosib chiqarish tugagandan so'ng, elim bosilgan buyum va qurilish plitasi o'rtasida kuchli yopishqoqlikni hosil qiladi.
5 -qadam: kod
Kod (.ino fayllari) Arduino IDE dasturida ishlash uchun yaratilgan. Bu erda kod va boshqa tafsilotlar uchun mening Github sahifamga havola.
github.com/arihant93/OPENSDL
Iltimos, loyiha haqida savollar berishdan tortinmang.
Rahmat.
Tavsiya:
Ma'lumotlar yozuvchisi - kompyuter moduli: 5 qadam
Ma'lumotlarni yozish - kompyuter moduli: I2C interfeysli sensorni Ethernet sensoriga aylantiradigan Sensor Bridges -dan HTTP -ga asoslangan ma'lumotlarni yig'ish uchun chekilgan ma'lumotlar yozuvchisi
OpenLogger: yuqori aniqlikdagi, Wi-Fi yoqilgan, ochiq manba, ko'chma ma'lumotlar yozuvchisi: 7 qadam
OpenLogger: Yuqori aniqlikdagi, Wi-Fi yoqilgan, ochiq manba, ko'chma ma'lumotlar yozuvchisi: OpenLogger-bu qimmat dasturiy ta'minot yoki yozma dasturiy ta'minotni talab qilmasdan yuqori sifatli o'lchovlarni ta'minlash uchun mo'ljallangan, ko'chma, ochiq manba, arzon narxlardagi, yuqori aniqlikdagi ma'lumotlar yozuvchisi. boshidan. Agar siz muhandis, olim yoki havaskor bo'lsangiz
Ochiq kodli dasturiy ta'minot paneli uchun qulay modulli neopikselli panel: 4 qadam (rasmlar bilan)
Ochiq manba kodli panelli modulli Neopixel panellari: Bu ko'rsatma, bir-biriga yopishtirilishi va lehimlanishi mumkin bo'lgan Neopixel LED-lari uchun kichik (8mm x 10mm) plastinka taxtasi haqida bo'lib, u yupqa tuzilishga qaraganda ancha qattiqroq bo'ladi. LED tasmasi ancha kichikroq shaklda
Ochiq kodli apparat uchun versiya nazorati: 10 qadam
Ochiq kodli uskunalar uchun versiya nazorati: Brainbow jamoasida elektronika bo'yicha bir qancha loyihalar mavjud va biz elektron dizayndagi ish jarayonini boshqarish uchun versiya boshqaruvidan foydalanish jarayonimiz bilan bo'lishmoqchimiz. Bu ish oqimi katta va kichik loyihalar uchun ishlatilgan, oddiydan
Ochiq ofisda ma'lumotlar bazasini yarating: 7 qadam
Ochiq ofisda ma'lumotlar bazasini yarating: ma'lumotlar bazalari haqiqatan ham foydali bo'lishi mumkin. Ular shaxsiy narsalar uchun, masalan, kompakt disklar to'plami yoki biznes uchun, qancha mashinasi borligi uchun tayyorlanishi mumkin. Endi men sizga Openoffice.Org -da ma'lumotlar bazasini qanday qilishni ko'rsataman