Mundarija:
- 1 -qadam: 3D bosib chiqarish - Stivenson ekrani
- 2 -qadam: O'chirish davri
- 3 -qadam: IoT - Blynk
- 4 -qadam: Kod - Arduino IDE -ni tayyorlash
- 5 -qadam: Kod - Blynk
- 6 -qadam: Kod - Google Sheets
- 7 -qadam: Kod - Blynk va Google Sheets
- 8 -qadam: Yakuniy sharhlar
Video: Boshqa IoT ob -havo stantsiyasi: 8 qadam
2024 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2024-01-30 13:25
Quyidagilar dadamning tug'ilgan kuniga sovg'a edi; Men ko'rgan boshqa Instructable-dan ilhomlanib, unga o'zini o'zi quradigan to'plam sifatida isbotlashni niyat qilganman. Ammo, men u bilan bu loyihada ishlay boshlaganimda, sovg'ani ilhomlantirgan dastlabki darslik eskirganligini va boshqa ko'plab onlayn darsliklar tushuntirishlarida jiddiy kamchiliklarga ega ekanligini tezda angladim. Shunday qilib, men boshqa IoT ob -havo stantsiyasini nashr etishga qaror qildim, umid qilamanki, boshidan oxirigacha amal qilish oson.
Bundan tashqari, bu ko'rsatma Blynk, Google Sheets yoki ikkalasini ham sensor o'qilishini kuzatish va yozish uchun qanday ishlatishni ko'rsatadi. Bundan tashqari, Google Sheets yozuvlari to'g'ridan -to'g'ri varaqqa yoziladi (uchinchi tomon xizmatidan o'tmasdan).
Stivenson ekraniga kelsak, Internetda 3D-bosib chiqarish mumkin bo'lgan ko'plab mavjud. https://www.thingiverse.com/thing:1718334. Men bu ko'rsatma uchun shu asosda quraman.
Stivenson ekrani "asboblar uchun boshpana - bu meteorologik asbob -uskunalar uchun tashqi manbalardan yog'ingarchilik va to'g'ridan -to'g'ri issiqlik nurlanishiga qarshi boshpana yoki to'siq, shu bilan birga ular atrofida havo erkin aylanishiga imkon beradi". (Vikipediya).
Qismlar
- Wemos LolIn - NodeMCU v3 (1.43 AQSh dollari)
- BME280 (harorat, bosim va namlik sensori) (USD 2.40)
- 6V 1000mA quyosh paneli (9,96 AQSh dollari)
- 5V 1A Micro USB 18650 Lityum Batareyani zaryadlash kartasi moduli+Ikki funktsiyali himoya TP4056 (0,99 AQSh dollari)
- 4x 1,2V NiMH qayta zaryadlanuvchi batareyalar
- Batareya ushlagichi (4x AA, yonma -yon va oxiridan oxirigacha)
- Micro USB Erkak ulagichi
- Kabel aloqalari
- 3x qanotli yong'oqlar
- Qutb yoki supurgi tayog'i
- Epoksi va/yoki super yopishtiruvchi (orqaga qarab, kremniy yaxshiroq ishlagan bo'lishi mumkin)
Dasturiy ta'minot
- Blynk ilovasi
- Google Sheets (agar siz tarixiy ma'lumotlarga kirishni xohlasangiz)
- EasyEDA (sxematik chizish uchun)
- Arduino IDE
Asboblar
- Lehimlash temir
- Lehim
- Issiqlik quvurlari
- 3D printer
- Yelimli qurol
1 -qadam: 3D bosib chiqarish - Stivenson ekrani
Yuqorida aytib o'tilganidek, fayllarni https://www.thingiverse.com/thing:1718334 saytidan yuklab oling va kerakli bitlarni chop eting. O'rnatish bo'yicha ko'rsatmalar yuqoridagi havolada ham mavjud. Men ba'zi o'zgartirishlar kiritdim (pastdagi izohlarga qarang).
Bosib chiqarilgan qismlar:
- Top_Cover_for_m3_tapping.stl
- Middle_Ring.stl (x5)
- Middle_Ring_bottom.stl (x1, STL yuqorida biriktirilgan)
- Solid_Plate.stl (x1)
- Solid_Plate_Base.stl (x1)
- Pole_Mount_1in_Round.stl
- Sensor_Grid.stl
- Electronics_Mount.stl
- My_Solar_Cell_Mount.stl (x2, STL yuqorida biriktirilgan)
O'rnatish tartibi:
- Teshiklarni burang
- M3 chiziqlarini tishli rozetkalarga burab qo'ying
- Top_Cover
- Solid_Plate
- Middle_Rings
- Sensor_Grid -ga suring
- Electronics_Mount
- Solid_Plate_Bottom
- Pole_Mount
- My_Solar_Cell_Mounts Top_Cover -ning yuqori qismiga epoksi qilingan
Men Quyosh panelining zaryadlovchi simini zaryadlovchiga ulashini, keyin esa tekshirgichdan Sensor_Grid datchigiga o'tishiga ruxsat berish uchun Solid plitalarida teshiklar qildim.
Sensor tugagandan so'ng, har 60 daqiqada quyidagi ko'rsatkichlarni olish uchun dasturlashtirilgan:
- Harorat
- Namlik
- Bosim
Eslatmalar
- Men quyosh batareyasini o'rnatish uchun quyosh batareyasini ushlab turishga moslashtirdim.
- Men elektronni Pole_Mount va Solid_Plate orasiga o'rnatdim. Bu elektronikani yaxshi himoya qilmaganga o'xshaydi. Shuning uchun men Solid_Plate -da yubkaga ega bo'ldim, shunda u bo'shliqni yopadi va shu bilan elektronikani yaxshiroq himoya qiladi. Yuqoridagi fotosuratlarning ba'zilari men bu o'zgarishlarni amalga oshirishdan oldin olingan.
- Mening epoksiyam quyosh panelini ushlab turmasdan tushdi, men uni yana super elim bilan yopishtirdim. O'ylaymanki, men silikon ishlatishga majbur bo'laman.
2 -qadam: O'chirish davri
LoLin va BME280-ni rasmda ko'rsatilgandek, 3D bosilgan to'rga o'rnatib, sxemada ko'rsatilgan sxema bo'yicha ulang.
BME280 -> LiLon
- VCC -> 3.3V
- GND -> GND
- SCL -> D1
- SDA -> D2
LiLon -> LiLon
D0 -> RST (bu boshqaruvchini qattiq uyqudan uyg'otish uchun kerak, lekin kodni tekshirgichga yuklanganidan keyingina ulash lozim)
ESLATMA
Men mos LiLon batareyasini olishda qiyinchiliklarga duch keldim. Bundan tashqari, negadir men VIN orqali quvvat ololmadim. Shuning uchun men quyidagicha quvvat oldim:
- TP4056 chiqishi Erkak USB ulagichiga ulangan, keyin uni quvvatlantirish uchun kartaning USB rozetkasiga ulangan.
- TP4056-dagi B va B+ NiMH batareyalarini ushlab turadigan AA akkumulyator ushlagichiga ulangan.
3 -qadam: IoT - Blynk
"Blynk-bu moslashtiriladigan mobil ilovalar, shaxsiy bulut, qoidalar dvigateli va qurilmalarni boshqarish tahlil paneli bilan jihozlangan agnostik IoT platformasi". Asosan, bu Internet orqali dunyoning istalgan burchagidan masofadan turib sensorlarni xavfsiz boshqarish va nazorat qilish imkonini beradi. Tijorat xizmati bo'lsa -da, har bir hisob 2000 ta bepul kredit bilan ta'minlanadi. Kreditlar sizga turli o'lchagichlar, displeylar, bildirishnomalar va boshqalarni sensor yoki sensorlar bilan bog'lash imkonini beradi. Obunaning narxi sevimli mashg'ulot byudjeti doirasidan tashqarida bo'lsa -da, bepul kreditlar bu kabi oddiy loyiha uchun etarli.
Xizmatdan foydalanishni boshlash uchun avval telefoningizga/qurilmangizga Blynk ilovasini yuklab olishingiz, yaratishingiz va hisob qaydnomangizni yaratishingiz (yoki mavjud hisob bilan kirishingiz) va keyin yangi loyihani quyidagicha yaratishingiz kerak bo'ladi.
- Uskunani tanlang
- Loyihangizga nom bering (bu holda men "Ob -havo stantsiyasidan" foydalanganman.
- "Yaratish" ni bosing
- Keyin elektron pochta orqali tasdiqlash kodini olasiz.
Sizga kerakli vidjetlarni qo'shishingiz shart emas. 2000 ta bepul kreditim bilan men quyidagilarni qo'shdim:
- 3 o'lchagich
- 1 ta super jadval
O'lchagichlar va jadvallar ilova qilingan fotosuratlarga mos ravishda o'rnatildi, ularning har biriga kodda ishlatiladigan o'z virtual pimi qo'yilgan.
Sozlamalar bajarilgandan so'ng, sanani yig'ishni boshlash uchun yuqori o'ngdagi ijro tugmasini bosish mumkin.
Qo'shimcha ma'lumot olish uchun qarang
docs.blynk.cc/#getting-started.
4 -qadam: Kod - Arduino IDE -ni tayyorlash
Ushbu loyihani bajarish uchun Arduino IDE -ga quyidagi kutubxonalarni qo'shish kerak bo'ladi:
- https://github.com/adafruit/Adafruit_BME280_Library (harorat, bosim va namlik sensori kerak)
- https://github.com/adafruit/Adafruit_Sensor
- https://github.com/esp8266/Arduino (bu sizga ESP8266 kartasiga kirish imkonini beradi)
- https://github.com/blynkkk/blynk-library/releases/tag/v0.6.1 (Blynk kutubxonasi)
- https://github.com/electronicsguy/ESP8266/tree/master/HTTPSRedirect (Google Sheets -ga ulanish uchun HTTPSRedicect kerak)
Arduino IDE uchun kutubxonalarni o'rnatish bo'yicha ko'rsatmalar uchun https://www.arduino.cc/en/guide/libraries saytiga tashrif buyuring.
Mening apparat sozlamalarim quyidagicha:
- Kengash: NodeMCU 1.0 (ESP-12E moduli)
- Yuklab olish tezligi: 115200
Quyidagi bosqichlarda biriktirilgan koddan foydalanganda, iltimos, quyidagilarni qo'shish bo'yicha har doim koddagi izohlarga murojaat qiling:
- Wi -Fi SID
- Wifi parol
- Blynk avtorizatsiya kaliti
- Google skript identifikatori
- Google Sheet almashish kaliti
5 -qadam: Kod - Blynk
Men BME280 sensorini ishga tushirish uchun ko'p yillar davomida kurashdim va quyidagi qatorni o'z ichiga olgan misolni topdim.
holat = bme.begin (0x76); // Men foydalanadigan sensorning I2C manzili 0x76
Ko'rinib turibdiki, men sensor manzilini o'rnatishim kerak edi. Men buni qilganimdan keyin hammasi yaxshi ishladi.
Blynk juda yaxshi mobil foydalanuvchi interfeysiga ega, ammo u quyidagi cheklovlarga ega:
- Faqat 2000 ta bepul kredit, undan ko'pini talab qiladigan loyihalar har oylik obunani talab qiladi (agar siz o'z Blynk serveringizni saqlamasangiz).
- Agar siz o'z Blynk serveringizni joylashtirmasangiz, tarixiy ma'lumotlarni eksport qila olmaysiz.
Yuqoridagi sabablarga ko'ra, men ma'lumotlarni yig'ish jarayonini Google Sheet -ga qanday qo'shishim mumkinligini ko'rib chiqdim. Bu keyingi bo'limda yoritilgan.
6 -qadam: Kod - Google Sheets
Tarixiy ma'lumotlarni keyinroq tahlil qilish uchun o'qishlaringizni yozib olish uchun siz ularni ma'lumotlar bazasiga yozishingiz kerak. HTTPSRedirect kutubxonasi bizga ma'lumotlarni Google Sheet -ga yozish orqali buni amalga oshirishga imkon beradi.
Ushbu yondashuvning asosiy cheklovlari quyidagilar:
- Yaxshi mobil foydalanuvchi interfeysi yo'q
- Google Sheet -da maksimal 400 000 katak bo'lishi mumkin. Bu loyiha uchun bu katta muammo emas, chunki bu chegaraga yetguncha 11 yildan ko'proq vaqt ketadi.
Google Sheet quyidagicha o'rnatiladi.
Ikki varaqdan iborat Google Sheet yarating.
1 -varaq: ma'lumotlar
Ma'lumotlar varag'ida 4 ta ustun bo'lishi kerak: sana/vaqt, harorat, namlik, bosim (A dan D gacha ustunlar). Ustunlarni mos ravishda formatlang, masalan. A ustuni "Sana vaqti" bo'lsin, shunda sana va vaqt hujayralarda ko'rsatiladi.
2 -varaq: asboblar paneli
Quyida keltirilgan formulalarni kiritib, ilova qilingan fotosuratlar bo'yicha boshqaruv paneli jadvalini yarating:
- B2: = counta (Ma'lumotlar! B: B) -1
- B3: = B1+VAQT KIMI
- B6: = so'rov (Ma'lumot! A2: D, "B tartibini A chegarasi chegarasi 1 bo'yicha tanlang")
- C6: = so'rov (Ma'lumotlar! A2: D, "C tartibini A chegarasi chegarasi 1 bo'yicha tanlang")
- D6: = so'rov (Ma'lumotlar! A2: D, "D tartibini A chegarasi chegarasi 1 bo'yicha tanlang")
- B8: = so'rov (Ma'lumotlar! A2: D, "Buyurtmani B chegarasi 1 chegarasi bo'yicha tanlang")
- C8: = so'rov (Ma'lumotlar! A2: D, "Buyurtmani C chegarasi 1 chegarasi bo'yicha tanlang")
- D8: = so'rov (Ma'lumotlar! A2: D, "Buyurtmani D son chegarasi 1 bo'yicha tanlang")
- B9: = so'rov (Ma'lumotlar! A2: D, "B tartibini B son chegarasi 1 bo'yicha tanlang")
- C9: = so'rov (Ma'lumotlar! A2: D, "C tartibini C chegarasi chegarasi 1 bo'yicha tanlang")
- D9: = so'rov (Ma'lumotlar! A2: D, "D tartibini D son chegarasi 1 bo'yicha tanlang")
- B11: = so'rov (Ma'lumotlar! A2: D, "A ni tanlang, bu erda B B chegara 1 chegarasi bo'yicha null tartib emas")
- C11: = so'rov (Ma'lumotlar! A2: D, "A ni tanlang, bu erda C C chegarasi 1 chegarasi bo'yicha null tartib emas")
- D11: = so'rov (Ma'lumotlar! A2: D, "A ni tanlang, bu erda D D chegarasi 1 chegarasi bo'yicha null tartib emas")
- B12: = so'rov (Ma'lumotlar! A2: D, "B ni tanlang, bu erda B B chegara 1 chegarasi bo'yicha null tartib emas")
- C12: = so'rov (Ma'lumotlar! A2: D, "C ni tanlang, bu erda C C chegarasi 1 chegarasi bo'yicha null tartib emas")
- D12: = so'rov (Ma'lumotlar! A2: D, "D ni tanlang, bu erda D bo'sh chegarasi 1 ga teng emas")
- G3: = 4+B2*4+29+17
- G4: = (G2-G3)/G2
- G6: = G2/4 G8: = G7*G6
- G9: = (G8/60)/24
- G10: = G9/365
- G11: = ((((((G2-G3)/4)*G7)/60)/24/365)
Google Sheets -da maksimal 400 000 ta katak bo'lishi mumkin. Bu har bir o'qish 4 katakdan foydalangan holda qancha bo'sh joy qolganini va qachon tugashini hisoblash uchun ishlatiladi.
Bu formulalarni takomillashtirish mumkin. Men bu erda ikkita narsani qilardim, ya'ni so'rovlar formulasini bilib oldim, keyin mantiqni eslab qolishga yordam beradigan formulani yozdim.
"Diagramma muharriri" skrinshotida harorat grafigi uchun asosiy sozlamalar ko'rsatilgan. Xuddi shu sozlash yordamida yaratilgan boshqa grafikalar. Grafiklar orasidagi yagona farq vertikal o'qning minimal qiymatlari edi (sozlash oynasida joylashgan). "Moslashtirish" yorlig'ida kirish nomlari, grafik sarlavhalari va boshqalar kabi boshqa sozlamalar mavjud.
Endi bizga URL orqali qo'ng'iroqlar orqali ma'lumotlarni yozish imkonini beradigan Google Skript kerak.
Skriptni yaratish
Google Sheet URL manzilida "d /" va " / tahrirlash" o'rtasidagi kalitni belgilang. Bu sizning -Google-Sheet-almashish kalitingiz va sizga quyidagi kod kerak bo'ladi.
Keyin "Asboblar> Skript muharriri" ga o'ting va kodni biriktirilgan GS fayliga joylashtirib, Google App Script -ni yarating. Var ss = SpreadsheetApp.openByUrl ("https://docs.google.com/spreadsheets/d/-Your-Google-Sheet-Sharing-Key–/edit") ni yangilang; almashish kalitini aks ettirish.
Endi skriptni Nashr qilish> Veb -ilova sifatida joylashtirish -ga o'ting.
Joriy veb-ilovaning URL manzilini nusxalash va GScriptID (-Sizning Google-Script-ID-ni) olish uchun kerak bo'lganda saqlang. GScriptID - "s /" va " / exec?" O'rtasidagi satr. "Har kim, hatto anonim" ham ilovaga kirishiga ishonch hosil qiling. Bu jarayonda sizdan ba'zi ruxsatlarni berish talab qilinadi. Bularni berishingiz muhim.
Eslatma: Agar siz kodni o'zgartirsangiz, siz "Yangi" loyiha versiyasini yaratishingiz va uni chop etishingiz kerak, aks holda siz hali ham eski kodni urgan bo'lasiz.
Endi skriptni https://script.google.com/macros/s/-Your-Google-Script-ID–/exec?Temperature=10&Humidity=11&Pressure=12 ga o'tib sinab ko'rishingiz mumkin. Har safar bu havolani yangilaganingizda, Google Sheet -ga yangi yozuv qo'shilishi kerak.
Bu yuqoridagi darslikdan olingan: https://embedded-lab.com/blog/post-data-google-sheets-using-esp8266/. Ammo bu qo'llanma eskirgan, shuning uchun keyingi bo'limda bog'langan Arduino kodi so'nggi HTTPSRedirect kutubxonalarini joylashtirish uchun o'zgartirildi.
Arduino kodi
Qo'shilgan kodni ko'ring.
7 -qadam: Kod - Blynk va Google Sheets
Ikkala dunyodan ham yaxshiroq foydalanish uchun Blynk va Google Sheets kodlarini birlashtirish mumkin.
Qo'shilgan kodni ko'ring.
8 -qadam: Yakuniy sharhlar
Yuqorida aytilganlarning hech biri mening g'oyalarim emas, aksincha bu boshqalarning g'oyalari va ishlariga asoslangan loyihadir. Men uni bir joyga to'plashni yaxshi ko'raman. qiziqarli va amaliy loyihani amalga oshirish uchun turli texnologiyalar va vositalardan foydalanish. O'qishlarimni Google Sheet -da saqlashni o'rganish menga ayniqsa yoqdi. Buning uchun men ElectronicsGuy (Sujay Phadke) ga minnatdorchilik bildirmoqchiman.
Yangilash
Ushbu loyihani tugatgandan so'ng, men simsiz sozlamalarni o'zgartirishim kerak edi. Men hozir boshqa kompyuterda ishlay boshladim. O'zgarishlarni yuklaganingizdan so'ng, loyiha ishlamay qoldi. Muammolarni bartaraf etgandan so'ng, men chuqur uyqu funktsiyasi ishlamayapti degan xulosaga keldim. Men loyihani uyga olib bordim va u erga yukladim (xuddi shu kod yordamida) va u ishladi. Men shunday xulosaga keldimki, men qo'shgan kutubxonalarda biror narsa o'zgardi. Shuning uchun men hozirda uy kompyuterimdagi kutubxonalarni ushbu bo'limga biriktirdim; faqat kimdir bu muammoga duch kelsa.
Tavsiya:
Boshqa 3D bosma aylantirish tugmasi: 7 qadam (rasmlar bilan)
Yana 3D -bosma rotatorli kalit: Men bir muddat oldin, asosan, Minivac 601 Replica loyihasi uchun asosan 3D bosilgan aylanadigan kalitni yaratdim. "Think-a-Tron 2020" yangi loyiham uchun men o'zimni boshqa aylantirgichga muhtojman. Men SP5T paneli o'rnatish kalitini qidiraman. Qo'shiq
Meteo tugun IoT Smart Meteo stantsiyasi: 6 qadam
Meteo tugun IoT Smart Meteo stantsiyasi: Men ofisimdagi harorat va namlikni kuzatuvchi qurilma yasamoqchiman. LUA yoki Arduino IDE bilan mos keladigan ko'plab taxtalar mavjud. Wi -Fi tarmog'iga ulangan ko'plab taxtalar mavjud. Men Adafruitni yaxshi ko'raman va men bu brendning barcha mahsulotlarini yaxshi ko'raman
Smartfonlar va boshqa qurilmalar uchun USB zaryadlovchi stantsiyasi: 4 qadam
Smartfonlar va boshqa qurilmalar uchun USB zaryadlovchi stantsiyasi: Bu qo'llanmada uyga, sayohatga, ish joyiga USB zaryadlovchi stantsiyalarini (smartfonlar va boshqa qurilmalar) qanday qilish kerakligi ko'rsatilgan. Zaryadlash uchun USB simlaridan foydalanadigan gadjetlar soni tobora ko'payib bormoqda. oxirgi qadamdagi misollar), men olishga qaror qildim
Kichik limonli batareya va nolli elektr energiyasi va batareyasiz boshqa yorug'lik uchun boshqa dizaynlar: 18 qadam (rasmlar bilan)
Kichkina limonli batareya va nolga teng elektr energiyasi va akkumulyatorsiz yorug'lik uchun boshqa dizaynlar: Salom, ehtimol siz limon batareyalari yoki bio-batareyalar haqida bilasiz. Ular odatda o'quv maqsadlarida ishlatiladi va ular past kuchlanishli elektrokimyoviy reaktsiyalardan foydalanadilar, ular odatda yonib turgan lampochka yoki lampochka ko'rinishida ko'rsatiladi. Bular
Yotoqxona elektr stantsiyasi/NiMH zaryadlash stantsiyasi: 3 qadam
Yotoqxona elektr stantsiyasi/NiMH zaryadlash stantsiyasi: Menda elektr stantsiyasi bor. Men bitta dastgohga zaryadlangan hamma narsani siqib chiqarmoqchi edim va unda lehimlash uchun joy bo'lishi kerak edi. Quvvatli narsalar ro'yxati: uyali telefon (buzilgan, lekin u mening telefonim batareyalarini zaryad qiladi, shuning uchun u har doim ulanadi va zaryadlanadi)