Mundarija:

Raspberry Pi Quyosh ob -havo stantsiyasi: 7 qadam (rasmlar bilan)
Raspberry Pi Quyosh ob -havo stantsiyasi: 7 qadam (rasmlar bilan)

Video: Raspberry Pi Quyosh ob -havo stantsiyasi: 7 qadam (rasmlar bilan)

Video: Raspberry Pi Quyosh ob -havo stantsiyasi: 7 qadam (rasmlar bilan)
Video: Новая битва за арахис ► Смотрим Dune: Spice Wars (ранний доступ) 2024, Noyabr
Anonim
Raspberry Pi Quyoshli ob -havo stantsiyasi
Raspberry Pi Quyoshli ob -havo stantsiyasi
Raspberry Pi Quyoshli ob -havo stantsiyasi
Raspberry Pi Quyoshli ob -havo stantsiyasi
Raspberry Pi Quyoshli ob -havo stantsiyasi
Raspberry Pi Quyoshli ob -havo stantsiyasi
Raspberry Pi Quyoshli ob -havo stantsiyasi
Raspberry Pi Quyoshli ob -havo stantsiyasi

Oldingi ikkita loyiham - ixcham kamera va ko'chma o'yinlar konsoli tugagandan so'ng, men yangi vazifani topmoqchi bo'ldim. Tabiiy taraqqiyot tashqi masofali tizim edi …

Men Raspberry Pi ob -havo stantsiyasini qurmoqchi edim, u o'zini tarmoqdan ushlab tura olardi va natijalarini simsiz ulanish orqali, istalgan joydan menga yuborardi! Bu loyiha haqiqatan ham qiyinchiliklarga duch keldi, lekin baxtga ko'ra, Raspberry Pi -ni quvvatlantirish - bu PiJuice -ni quyosh energiyasi bilan ta'minlangan quvvat manbai sifatida ishlatish oson bo'lgan asosiy muammolardan biri (bizning inqilobiy PiAnywhere texnologiyamiz bilan - eng yaxshi usul) Pi -ni tarmoqdan oling!).

Mening birinchi fikrim o'qish uchun ajoyib AirPi modulidan foydalanish edi. Biroq, bu ikkita asosiy kamchilikka ega edi; natijalarni yuklash uchun to'g'ridan -to'g'ri Internetga ulanish talab qilinadi va uni Pi -dagi GPIO -ga to'g'ridan -to'g'ri ulash lozim, ya'ni uni Raspberry Pi -ni chiqarmasdan havoga chiqarish mumkin emas (agar biz bu ob -havo stantsiyasini xohlasak ideal emas) har qanday vaqt davom etadi).

Yechim … o'zim sezuvchi modulni quraman! Ilhom olish uchun AirPi -ning ko'p qismini ishlatib, menda mavjud bo'lgan bir nechta sensor yordamida juda oddiy prototipni yig'a oldim; harorat, namlik, yorug'lik darajasi va umumiy gazlar. Va buning ajoyib tomoni shundaki, istalgan vaqtda ko'proq sensorlarni qo'shish juda oson.

Men Raspberry Pi a+ ni ishlatishga qaror qildim, chunki u kam quvvat sarflaydi. Menga natijalarni yuborish uchun men EFCom Pro GPRS/GSM modulidan foydalandim, u matnni to'g'ridan -to'g'ri mobil telefonimga natijalari bilan yuborishi mumkin! Juda toza, to'g'rimi?

Quyoshli yoki ko'chma boshqa ajoyib loyihalar uchun sizda mavjud bo'lgan har qanday g'oyalardan mamnunman. Izohlarda menga xabar bering va men darslik yaratish uchun qo'limdan kelganicha harakat qilaman!

1 -qadam: qismlar

Qismlar
Qismlar

1 x PiJuice + Quyosh paneli

1 x Raspberry Pi a+

1 x EFCom Pro GPRS/GSM moduli

1 x Sim karta

1 x non paneli

Protoboard

1 x MCP3008 ADC

1 x LDR

1 x LM35 (harorat sensori)

1 x DHT22 (namlik sensori)

1 x TGS2600 umumiy havo sifati sensori

1 x 2,2 KΩ qarshilik

1 x 22 KΩ qarshilik

1 x 10 kΩ qarshilik

10 x Ayol - Ayol jumper simlari

Bir o'lchovli simlarning assortimenti

1 x bitta tashqi ochiq aloqa qutisi

1 x Ikkita tashqi ochiq aloqa qutisi

1 x suv o'tkazmaydigan kabel ulagichi

2 x 20 mm yarim ko'rli kabel panjaralari

2 -qadam: Sensor davri

Sensor davri
Sensor davri
Sensor davri
Sensor davri
Sensor davri
Sensor davri

Loyihaning bir nechta elementlari bor, shuning uchun hamma narsani bosqichma -bosqich bajarish yaxshidir. Birinchidan, men sezgilar sxemasini qanday yig'ish kerakligini ko'rib chiqaman.

Buni birinchi navbatda non taxtasida qurgan ma'qul, agar xato qilsangiz, men sxemani va bosqichma -bosqich rasmlarni qo'shganman.

  1. Kabelni ulash uchun birinchi komponent - bu MCP3008 analogli raqamli konvertor. Bu 8 tagacha analog kirishni olishi va SPI orqali Raspberry Pi bilan aloqa o'rnatishi mumkin. Chip yuqoriga qaragan va yarim doira sizdan uzoqda joylashganki, o'ngdagi pinlar Raspberry Pi-ga ulanadi. Ularni ko'rsatilgandek ulang. Agar siz chipning qanday ishlashini bilishni istasangiz, MCP3008 va SPI protokoli uchun ajoyib qo'llanma.
  2. Chapdagi pinlar yuqoridan pastgacha 0-7 raqamli 8 ta analog kirishdir. Biz faqat LDR, umumiy gaz sensori (TGS2600) va harorat sensori (LM35) uchun birinchi 3 (CH0, CH1, CH2) dan foydalanamiz. Avval LDRni diagrammada ko'rsatilgandek ulang. 2.2KΩ qarshilik va CH0 orqali bir tomoni erga, ikkinchisi 3.3V ga.
  3. Keyin "umumiy gaz sensori" ni ulang. Bu gaz sensori vodorod va uglerod oksidi kabi havo ifloslanishini aniqlash uchun ishlatiladi. Men aniq kontsentratsiyani qanday qo'lga kiritishni hali ishlab chiqmaganman, shuning uchun hozircha bu sensordan olingan natija 100% to'liq to'yingan asosiy foiz darajasidir. Sensor yuqoriga qaragan holda (pastki qismidagi pinlar), kichik chiqishning o'ng tomonidagi pin 1 -pinli, keyin esa raqamlar pin atrofida soat yo'nalishi bo'yicha ko'payadi. Shunday qilib, 1 va 2 -pinlar 5V ga ulanadi, 3 -pin CH1 va erga 22KΩ qarshilik orqali ulanadi va 4 -pin to'g'ridan -to'g'ri erga ulanadi.
  4. Oxirgi analog sensori - LM35 harorat sensori. Bu 3 pinli. Sensorni oling, shunda yassi tomoni sizga yaqinroq bo'ladi, eng chap pin to'g'ri 5V ga ulanadi (diagrammada belgilanmagan, mening yomonligim!), Markaziy pin CH2 ga, eng o'ng pin esa to'g'ridan -to'g'ri erga ulanadi. Oson!
  5. Ulanish uchun oxirgi komponent DHT22 namlik sensori. Bu raqamli sensor, shuning uchun uni to'g'ridan -to'g'ri Raspberry Pi -ga ulash mumkin. Sensorni panjara sizga qaragan holda oling va uning ostidagi to'rtta pinni oling. Pinlar chapdan 1dan buyurtma qilinadi. 1 dan 3,3 V gacha ulang. 2 -pin 10KΩ qarshilik orqali GPIO4 va 3.3V ga o'tadi. 3 -pinni ajratib qo'ying va 4 -pin to'g'ri erga tushadi.

Bo'ldi shu! Sinov davri qurilgan. Vaqt bo'lganda, men qo'shimcha komponentlarni qo'shishni umid qilaman. Men, albatta, bosim sensori, shamol tezligi sensori qo'shmoqchiman va gaz kontsentratsiyasi to'g'risida aqlli ma'lumotlarni olishni xohlayman.

3 -qadam: GSM moduli

GSM moduli
GSM moduli
GSM moduli
GSM moduli

Endilikda sezgichlar qurilgan bo'lsa, natijalarni qabul qilish usuli bo'lishi kerak. Bu erda GSM moduli kiradi. Biz uning natijalarini uyali tarmoq orqali SMS orqali yuboramiz, kuniga bir marta.

GSM moduli UART yordamida ketma -ket Raspberry Pi bilan aloqa o'rnatadi. Bu erda Raspberry Pi bilan ketma -ket muloqot haqida ajoyib ma'lumotlar. Pi -ning ketma -ket portini nazorat qilish uchun biz avval konfiguratsiyani bajarishimiz kerak.

Raspberry Pi -ni standart Raspbian tasviri bilan yuklang. Endi "/boot/cmdline.txt" faylini o'zgartiring:

"dwc_otg.lpm_enable = 0 konsoli = ttyAMA0, 115200 kgdboc = ttyAMA0, 115200 konsoli = tty1 ildizi =/dev/mmcblk0p2 rootfstype = ext4 lift = tugashning oxirgi muddati"

ga:

"dwc_otg.lpm_enable = 0 konsol = tty1 root =/dev/mmcblk0p2 rootfstype = ext4 elevator = rootwait muddati"

matnning pastki chizilgan qismini olib tashlash orqali.

Ikkinchidan, "/etc/inittab" faylini quyidagi bo'limda ikkinchi qatorni sharhlab tahrir qilishingiz kerak bo'ladi:

#Raspberry Pi ketma -ket chizig'iga getty tikishT0: 23: respawn:/sbin/getty -L ttyAMA0 115200 vt100"

Shunday qilib, u o'qiydi:

#Raspberry Pi seriyali#T0: 23: geta sppawn:/sbin/getty -L ttyAMA0 115200 vt100

va Pi -ni qayta ishga tushiring. Endi ketma -ket port xohlaganingizcha erkin muloqot qilishi kerak. GSM modulini ulash vaqti keldi. Oldingi bosqichdagi sxemaga va yuqoridagi rasmlarga qarang, bu qanday amalga oshiriladi. Asosan, TX RX ga ulangan va RX TX ga ulangan. Raspberry Pi TX va RX -da GPIO 14 va 15 mos keladi.

Ehtimol, siz modul ishlayotganini tekshirishni xohlaysiz, shuning uchun matn yuborishga harakat qilaylik! Buning uchun Minicom -ni yuklab olishingiz kerak. Bu ketma -ket portga yozish imkonini beruvchi dastur. Foydalanish:

"sudo apt-get install minicom"

O'rnatilgandan so'ng, minicom quyidagi buyruq bilan ochilishi mumkin:

"minicom -b 9600 -o -D /dev /ttyAMA0"

9600-bu bod tezligi va /dev /ttyAMA0-Pi seriyali portining nomi. Bu terminal emulyatorini ochadi, unda siz yozgan narsalar ketma -ket portda paydo bo'ladi, ya'ni GSM moduliga yuboriladi.

Sim kartani GSM moduliga joylashtiring va quvvat tugmasini bosing. Shundan so'ng, ko'k chiroq yoqilishi kerak. GSM moduli AT buyruqlar to'plamidan foydalanadi, agar siz haqiqatan ham qiziqsangiz, bu erda hujjatlar. Endi biz Raspberry Pi modulni quyidagi buyruq bilan aniqlaganini tekshiramiz:

"DA"

modul keyin javob berishi kerak:

"OK"

Ajoyib! Keyin biz modulni SMSni ikkilik emas, matn sifatida yuborish uchun sozlashimiz kerak:

"AT+CMGF = 1"

yana javob "OK" bo'lishi kerak. Endi biz SMS yuborish buyrug'ini yozamiz:

"AT+CMGS =" 44 ************* "", yulduzlarni raqamingiz bilan almashtiring.

Modem ">" bilan javob beradi, shundan so'ng siz xabar yozishingiz mumkin. Xabarni yuborish uchun bosing. Hammasi shu, va har qanday omad bilan siz Raspberry Pi -dan matn oldingiz.

Endi biz GSM moduli ishlayotganini bilsak, siz minicomni yopishingiz mumkin; Loyihaning qolgan qismi uchun bizga kerak bo'lmaydi.

4 -qadam: Dasturiy ta'minot va quruq ishga tushirish

Dasturiy ta'minot va Dry Run -ni yuklab oling
Dasturiy ta'minot va Dry Run -ni yuklab oling
Dasturiy ta'minot va Dry Run -ni yuklab oling
Dasturiy ta'minot va Dry Run -ni yuklab oling

Bu bosqichda hamma narsa sim bilan ulanib, quruq yugurish uchun sinovga tayyor bo'lishi kerak. Men har bir sensordan o'qishni olib, natijalarini mobil telefoningizga yuboradigan juda oddiy python dasturini yozdim. Siz butun dasturni PiJuice Github sahifasidan yuklab olishingiz mumkin. Endi PiJuice moduli bilan test o'tkazish uchun yaxshi vaqt bo'lishi mumkin. U faqat Raspberry Pi -ning GPIO -ga ulanadi, Pi -ga ulangan barcha simlar to'g'ridan -to'g'ri PiJuice -dagi mos keladigan pinlarga ulanadi. Pi kabi oson. Kodni yuklab olish uchun buyruqni ishlating:

git klon

Bu kuniga bir marta ma'lumotlarni yuborish uchun sozlangan. Sinov maqsadlari uchun bu juda yaxshi emas, shuning uchun siz dasturni tahrir qilishingiz mumkin. Bu osonlikcha amalga oshiriladi; faqat faylni oching; "sudo nano weatherstation.py". Yuqori qismida "kechiktirishni sozlash" bo'limi mavjud. "Kechiktirish = 86400" qatoriga izoh bering va "kechikish = 5" ga izoh qoldiring. Endi natijalar har 5 soniyada bir marta yuboriladi. Shuningdek, siz dasturni o'z mobil raqamingiz bo'lishi uchun o'zgartirishni xohlaysiz. "+44 **********" deb yozilgan joyni toping va yulduzlarni o'z raqamingiz bilan almashtiring.

Dasturni ishga tushirishdan oldin siz DHT22 namlik sensori o'qish uchun kutubxonani yuklab olishingiz kerak bo'ladi.

git klon

Va kutubxonani o'rnatish kerak:

"CD Adafruit_Python_DHT"

"sudo apt-get update"

"sudo apt-get install build-essential python-dev"

"sudo python setup.py o'rnatish"

Ajoyib, endi siz dasturni sinab ko'rishingiz mumkin.

"sudo python weatherstation.py"

Dastur ishlayotganda, natijalar mobil telefoningizga yuboriladi, lekin har 5 soniyada terminalda chop etiladi.

5 -qadam: O'chirish sxemasini yarating

O'chirish davri
O'chirish davri
O'chirish davri
O'chirish davri
O'chirish davri
O'chirish davri

Endi hamma narsa amalda ishlayotgandek, haqiqiy narsani qurish vaqti keldi. Rasmlar butun birlikning bir -biriga qanday mos kelishi haqidagi umumiy tasavvurni ko'rsatadi. Ikkita alohida uy -joy mavjud; bittasi sezgich zanjiri uchun (ichkarida havo aylanishi uchun teshiklari bo'ladi) va bittasi Raspberry Pi, GPRS birligi va PiJuice uchun (to'liq suv o'tkazmaydigan) quyosh paneli suv o'tkazmaydigan birikmasi bilan hisoblash blokiga ulanadi. Keyin ikkita blokni osongina ajratish mumkin, shunda sensor korpusini yoki hisoblash korpusini butun blokni olib tashlamasdan olib tashlash mumkin. Agar siz ko'proq sensor qo'shmoqchi bo'lsangiz yoki boshqa loyiha uchun sizga Raspberry Pi yoki PiJuice kerak bo'lsa, bu juda yaxshi.

Ikkita ulanish qutisining kichik qismiga to'g'ri kelishi uchun protobardni sindirish kerak bo'ladi. Bu erda sezgi sxemasi joylashtirilgan. Sensor sxemasi endi taxtadan protoboardga o'tkaziladi. Endi siz biroz lehim qilishingiz kerak bo'ladi. Lehimlash temiridan xavfsiz foydalanish qulayligiga ishonch hosil qiling. Agar ishonchingiz komil bo'lmasa, malakali lehimchi bo'lgan odamdan yordam so'rang.

Meni bu sxemani haqiqiy xash qilishdan qutqargan laboratoriyadagi Patrikka katta rahmat. U bir necha daqiqada uni taqillatishga muvaffaq bo'ldi! Agar men kabi, siz eng yaxshi qurilish sxemasi bo'lmasangiz va sizda Patrik kabi sizga yordam berishga tayyor daho bo'lmasa, siz elektr qutingizga to'g'ri kelsa, siz har doim sxemani non taxtasida qoldirishingiz mumkin..

6 -qadam: Uy -joy binolarini tayyorlash

Uy -joy binolarini tayyorlash
Uy -joy binolarini tayyorlash
Uy -joy binolarini tayyorlash
Uy -joy binolarini tayyorlash
Uy -joy binolarini tayyorlash
Uy -joy binolarini tayyorlash

Bu qism, albatta, qiziqarli bo'ladi. Siz har bir qutidagi uzuklarni payqagan bo'lishingiz mumkin. Bular nokaut qilish uchun mo'ljallangan, shunda qutilar elektr tokchalari bo'g'iniga aylanishi mumkin. Biz ularni sensorlar va hisoblash moslamalari o'rtasida, quyosh paneliga ulanish uchun, shuningdek havo aylanishini ta'minlash uchun sezgich qurilmasi uchun ventilyatsiya sifatida ishlatamiz.

Avval rasmlarda ko'rinib turganidek, ikkalasini bog'lash uchun har bir qutiga bitta teshik oching. Teshiklarni yiqitish juda qiyin bo'lishi mumkin, lekin qo'pol qirrasi muhim emas. Men eng yaxshi usulni tornavida yordamida har bir tuynuk atrofidagi chuqurchali halqani teshib, keyin uni qalay qopqog'idek olib tashlashni topdim. Keyin suv o'tkazmaydigan kabel ulagichi ikkita qutini ulash uchun ishlatiladi.

Keyin siz quyosh panelli sim uchun hisoblash korpusida yana bir teshik qilishingiz kerak bo'ladi. Keyin bu teshik yarim ko'rli simi qistirmalari bilan ulanadi. Tarmoqni teshishdan oldin, uning ichidan kabel o'tishi uchun teshik qiling. Bu suv o'tkazmasligi uchun iloji boricha kichikroq bo'lishi kerak, keyin mikro usb uchini teshikdan itaring (bu PiJuice -ga ulanadigan uchi).

Nihoyat, sezish moslamasida havo kirishi va chiqishi uchun qo'shimcha teshik qilish kerak. Men ikkita qutining kesishmasiga qarama -qarshi tomonga borishga qaror qildim. Ikkinchi teshikni kiritish kerak bo'lishi mumkin. O'ylaymanki, biz bir muncha vaqt o'tgach, ob -havo stantsiyasidan foydalanamiz.

7 -qadam: Ob -havo stantsiyasini ulash va tugatish

Ob -havo stantsiyasini ulash va tugatish
Ob -havo stantsiyasini ulash va tugatish
Ob -havo stantsiyasini ulash va tugatish
Ob -havo stantsiyasini ulash va tugatish
Ob -havo stantsiyasini ulash va tugatish
Ob -havo stantsiyasini ulash va tugatish

To'g'ri, deyarli o'sha erda. Oxirgi bosqich - hamma narsani sim bilan ulash.

Hisoblash birligidan boshlash. Bu qutida bizda Raspberry Pi, PiJuice Raspberry Pi GPIO -ga ulanadi va PiJuice -dagi GPIO -ga urg'ochi -urg'ochi -ayol simlari orqali ulanadigan GSM moduli bor. Yaxshi va qulay! Bu bosqichda, ehtimol, quyosh paneli uchun USB kabelining kirish joyiga qandaydir muhr qo'yishni maslahat berardim. Ehtimol, qandaydir qatron yoki super yopishtiruvchi ishlaydi.

Keyin sezish moslamasiga o'ting. Suratda yuqoridan pastgacha simlar; kulrang, oq, binafsha va ko'k - SPI ma'lumot liniyalari, qora - tuproq, to'q sariq - 3,3V, qizil - 5V, yashil - GPIO 4. Ularga ulanish uchun o'tish simlarini topib, keyin ularni suv o'tkazmaydigan kabel orqali uzatish kerak bo'ladi. fotosuratda ko'rinib turganidek, ulagich. Keyin har bir simni tegishli GPIO -ga ulash va ulagichni mahkamlash mumkin. Ushbu bosqichda dizaynni qanday yaxshilash mumkinligini ko'rish oson; LDR katta nurga duch kelmaydi (garchi nisbiy qiymatlarni bilish hali ham foydali bo'lishi mumkin va qo'shimcha teshikni urish yordam berishi mumkin), menimcha, hisoblash birligi bilan bir xil o'lchamda foydalanish yaxshiroq bo'lardi. sezgich qurilmasi uchun quti bo'lsa, unda elektron kartani qutiga joylashtirish osonroq bo'ladi va turli xil asboblar bilan o'ynash uchun joy bo'ladi.

Rasmlarda ko'rib turganingizdek, men uni hozir bog'ga qo'ydim. Umid qilamanki, yaqin bir necha kun ichida men ham ba'zi natijalarni e'lon qila olaman! Yuqorida aytganimdek, agar sizda qandaydir ajoyib loyihalar haqida fikringiz bo'lsa, menga xabar bering!

Tavsiya: