Mundarija:

Boshqa IoT ob -havo stantsiyasi: 8 qadam
Boshqa IoT ob -havo stantsiyasi: 8 qadam

Video: Boshqa IoT ob -havo stantsiyasi: 8 qadam

Video: Boshqa IoT ob -havo stantsiyasi: 8 qadam
Video: Номозни масхара килган шайтон жазосини олди 🙀 2024, Noyabr
Anonim
Boshqa IoT ob -havo stantsiyasi
Boshqa IoT ob -havo stantsiyasi
Boshqa IoT ob -havo stantsiyasi
Boshqa IoT ob -havo stantsiyasi
Boshqa IoT ob -havo stantsiyasi
Boshqa IoT ob -havo stantsiyasi
Boshqa IoT ob -havo stantsiyasi
Boshqa IoT ob -havo stantsiyasi

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

3D bosib chiqarish - Stevenson ekrani
3D bosib chiqarish - Stevenson ekrani
3D bosib chiqarish - Stevenson ekrani
3D bosib chiqarish - Stevenson ekrani
3D bosib chiqarish - Stevenson ekrani
3D bosib chiqarish - Stevenson 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

O'chirish davri
O'chirish davri
O'chirish davri
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

IoT - Blynk
IoT - Blynk
IoT - Blynk
IoT - Blynk
IoT - Blynk
IoT - Blynk
IoT - Blynk
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

Kod - Google Sheets
Kod - Google Sheets
Kod - Google Sheets
Kod - Google Sheets
Kod - Google Sheets
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

Yakuniy izohlar
Yakuniy izohlar
Yakuniy izohlar
Yakuniy izohlar

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: