Mundarija:
- 1 -qadam: Pi tayyorlang
- 2 -qadam: Hammasini bog'lang
- 3 -qadam: I2C -ni sinab ko'ring
- 4 -qadam: MySQL va PhpMyAdmin -ni o'rnating
- 5 -qadam: Python modullarini o'rnating
- 6 -qadam: Ma'lumotlar bazasiga kirish uchun kod
- 7 -qadam: haroratni ko'rsatish uchun kod
- 8 -qadam: 3D bosma korpus
- 9 -qadam: Nima qilish kerak
Video: Raspberry Pi barometrli ob -havo soati: 9 qadam (rasmlar bilan)
2024 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2024-01-30 13:24
Bu yo'riqnomada men sizga Adafruit 4 -raqamli 7 -segmentli I2C -displeyda ko'rsatiladigan BMP180 I2C sensori bilan Raspberry Pi 2 yordamida termometr / barometrning asosiy soatini qanday qurishni ko'rsataman. Pi, shuningdek, Pi qayta ishga tushirilganda vaqtni saqlash uchun DS3231 real vaqtda I2C soat modulidan foydalanadi.
Soat har biri 5 soniya davomida 4 bosqichdan o'tadi. Birinchidan, u Selsiydagi haroratni, keyin Farengeytda, keyin kPa *da barometrik bosimni ko'rsatadi (bu raqamlar soni cheklanganligi uchun bu raqamni chap tomonga yuradi) va nihoyat, hozirgi va o'rtacha harorat o'rtasidagi barometrik bosim o'zgarishi tendentsiyasini ko'rsatadi. oldingi soat.
Bu soatni boshqasidan farqi shundaki, u har daqiqada BMP180 ma'lumotlarini qayd qilish uchun Pi -dagi MySQL ma'lumotlar bazasidan foydalanadi. Hozirgi barometrik bosim ma'lum vaqt davomida yuqoriga yoki pastga siljishidan unchalik qimmat bo'lmaganligi sababli, u bu ma'lumotlar bazasidan 2 soatdan 1 soatgacha bo'lgan bir soatlik o'rtacha vaqtni hisoblab chiqadi va uni hozirgi bosim bilan solishtiradi. Barometrik bosimning sezilarli darajada oshishi, odatda, ob -havo sharoitining yaxshilanishini ko'rsatdi va katta pasayish bo'ron bo'layotganini ogohlantirishi mumkin edi.
Piy ishlab chiqaradigan issiqlik harorat ko'rsatkichlariga ta'sir qilmasligi uchun soat BMP180 shamollatilgan qopqoqli, 3D bosilgan ABS korpusida joylashgan. Agar siz o'zingiz chop qilmoqchi bo'lsangiz, Autodesk 123D Design sxemasini taqdim etaman.
Soat standart USB devori bilan jihozlangan va umumiy qiymati 450 mA ni tashkil qiladi.
Men Pi va I2C -ning asosiy sozlamalari haqida juda ko'p tafsilotlarni aytmayman, chunki bu havolalarni taqdim etadigan boshqa ko'plab ko'rsatmalarni o'z ichiga oladi.
1 -qadam: Pi tayyorlang
Raspberry Pi -ni sozlang - Tafsilotlar Raspberrypi.org saytida
- Siz tanlagan Linux Distribution -ni SD -kartaga yuklab oling va o'rnating - men Raspbian -dan foydalanardim
- Pi -ni ulang va uni ishga tushiring
- Men pi -ni yo'riqchimga ulash uchun micro WiFi adapteridan foydalandim, chunki soat korpusi Ethernet portini yashiradi.
- Men SSH yordamida pi -ga ulanadigan boshsiz rejimdan foydalandim, shuning uchun sizga faqat quvvat kerak.
- Pi -da I2C -ni sozlang - men bu ko'rsatmalarni Adafruit saytida bajarganman.
2 -qadam: Hammasini bog'lang
Men ushbu loyihada ishlatadigan barcha modullar 5 V ga bardoshli va I2C dan foydalanadi, bu 2 simli protokoli bo'lib, IClar bir -biri bilan aloqa o'rnatadi, shuning uchun simlarni ulash juda oddiy. Barcha VCC -ni 5V ga, barcha Grounds -ni va barcha SCA va SCL liniyalarini sxemaga muvofiq ulang. Ish tugadi.
3 -qadam: I2C -ni sinab ko'ring
I2C o'rnatishning bir qismi i2cdetect -ni ishga tushirishdir, agar hamma narsa to'g'ri ulangan bo'lsa, u ilova qilingan rasmga o'xshaydi.
Quyida mos keladigan manzillar keltirilgan
- 0x70 = 7 segmentli displey
- 0x77 = BMP180 termometr / barometr sensori
- 0x68 = Real vaqt soati DS3231
- 0x57 = signalli ma'lumotlarni saqlash uchun EEPROM bortida DS3231.
4 -qadam: MySQL va PhpMyAdmin -ni o'rnating
Agar siz bu erdagi ko'rsatmaga amal qilsangiz, mySQL -ni o'rnatish juda oson
sudo apt-get mysql-serverni o'rnating
Men phpMyAdmin -ni o'rnatdim, u Apache -da ishlaydigan veb -sayt bo'lib, undan mySQL ma'lumotlar bazalarini yaratish va boshqarish mumkin. Qo'llanma bu erda
sudo apt-get phpmyadmin-ni o'rnating
O'rnatilgandan so'ng, rasmga ko'ra tuzilishi bilan phpMyAdmin yordamida BP180 nomli ma'lumotlar bazasini o'rnatdim.
Men ham o'rnatishingiz mumkin bo'lgan mysqlDB deb nomlangan python modulidan foydalanaman
sudo apt-get install python-mysqldb
5 -qadam: Python modullarini o'rnating
Sensorlarga ulanish uchun quyidagi python modullarini yuklab oling va o'rnating.
- Adafruit_BMP085 moduli
- SDL_DS3231 moduli
- Adafruit 7 segment moduli
6 -qadam: Ma'lumotlar bazasiga kirish uchun kod
Quyidagi kod parchasi harorat va barometrik bosimni qayd qilish uchun ishlatiladi va har 5 daqiqada ishlaydigan cron skriptidan (Linux rejalashtirilgan vazifalar) chaqiriladi. Crond -dan qanday foydalanishni bilish uchun ushbu qo'llanmani ko'rib chiqing.
NB! Mening kodlash ko'nikmalarimni buzishdan bezovta bo'lmang, men ishlab chiquvchi emasman, ha, ehtimol, buni qilishning millionlab yaxshiroq, tezroq, silliq va toza usullari bor
Siz kodda harorat 7 darajaga pasayganini ko'rasiz, bu hatto Raspberry Pi ishlab chiqaradigan issiqlikka teng, hatto korpus tashqarisida o'rnatilgan BMP180 bilan. Men uni dastlab korpus ichida bo'lganimda, u atrof -muhitga qaraganda 15 daraja issiqroq edi. Bu juda chiziqli ko'rinadi, lekin men hech qanday cheklovlarni sinab ko'rish imkoniyatiga ega emasman. Sizning tajribangiz haqidagi fikr -mulohazalaringiz minnatdor bo'lardi.
7 -qadam: haroratni ko'rsatish uchun kod
Bu kod kirish qismiga muvofiq displeyda aylanib o'tishga chaqiriladi.
Shunga qaramay, men ishlab chiquvchi emasman, shuning uchun kod juda qo'pol, lekin u ishlaydi
8 -qadam: 3D bosma korpus
Keyingi - korpus dizayni. Bu juda qiyin edi, chunki shakli burilishga moyil, chunki tashqi qobig'ining qismlari qalinligi atigi 2 mm. Men avval Pi va uning barcha qismlarining maketlarini chizdim, so'ngra uning atrofini o'rab oldim. Bosma 0,25 qavat chuqurlikdagi RapMan 3.2 -da (bu juda sekin printer) taxminan 7 soat davom etdi.
Ilova qilingan sxema Autodesk 123D Dizaynida qilingan, menimcha, bu ajoyib dasturiy ta'minot.
E'tibor bering, Pi -ni o'rnatish uchun zarur bo'lgan ba'zi teshiklar dizaynda emas, chunki matbaa biroz burishgan bo'lsa, ularni keyinroq burg'ulash yaxshiroqdir. Barqaror qo'l - 3 mm matkap uchi. Siz tasodifan men kabi 7 soatlik bosmadan o'tib ketmasligingiz uchun chuqurlikni niqob tasmasi bilan belgilang.
9 -qadam: Nima qilish kerak
- Haqiqiy vaqt soati 5-marta bosilgandan so'ng qo'shimcha edi, shuning uchun u hozirda korpusning yon tomoniga issiq yopishtirilgan, u yaxshi ko'rinmaydi, shuning uchun men dizaynni qayta bajarib, unga joy qo'shmoqchiman.
- 7 segmentli displeyning yorqinligi hozircha eng yorug'lik darajasida o'rnatildi, bu kuchli yorug'lik sharoitlari uchun maqbul emas. Men korpusning yuqori qismiga fotosurat qarshiligini qo'shmoqchiman va atrofdagi yorug'lik sharoitiga qarab 7 segmentli nashrida sozlashni xohlayman.
- Asosiy yorilish bilan bog'liq kichik dizayn muammolari mavjud, ular ham hal qilinadi.
- Har qanday fikr qabul qilinadi.
Umid qilamanki, sizga bu ko'rsatma yoqdi va sizni ilhomlantirdi deb o'ylayman. Maqsad - bu o'z g'oyalaringizni qo'shish uchun foydalanishingiz mumkin bo'lgan platformani taqdim etish. Maza qiling!
Tavsiya:
"Uizli" joylashuv soati 4 qo'l bilan: 11 qadam (rasmlar bilan)
"Uizli" 4 qo'l bilan joylashuv soati: Shunday qilib, bir muddat tepib kelayotgan Raspberry Pi bilan men undan eng yaxshi foydalanishimga imkon beradigan yaxshi loyihani topmoqchi edim. Men ppeters0502 tomonidan o'zingizning Uesli joylashuvingizni aniqlab beradigan ajoyib yo'riqnomani uchratdim va shunday deb o'yladim
Kichkintoyning birinchi soati - taymer bilan: 16 qadam (rasmlar bilan)
Kichkintoyning birinchi soati - Chiroqli taymer bilan: Bu qo'llanmada siz bir -birining o'rnini qanday qilib almashtirishingiz mumkinligi ko'rsatilgan - bu sizning bolangizning rasmlari, oilasi/uy hayvonlari fotosuratlari yoki boshqa narsalarni o'z ichiga olishi mumkin - ularni vaqti -vaqti bilan o'zgartirish yaxshi bo'lardi. Aniq nuqtai nazarni kerakli burchakka mahkamlang
Pensiya soati / hisoblash / Dn soati: 4 qadam (rasmlar bilan)
Pensiya soati / hisoblash / Dn soati: Menda tortmasida 8x8 o'lchamli LED nuqta matritsali displeylar bor edi va ular bilan nima qilish kerakligi haqida o'yladim. Boshqa ko'rsatmalardan ilhomlanib, men kelajakdagi sana/vaqtni sanash uchun orqaga/yuqoriga ko'rsatish ekranini yaratish g'oyasini oldim va agar belgilangan vaqt
ESP8266 hech qanday RTCsiz tarmoq soati - Nodemcu NTP soati RTC yo'q - INTERNET CLOCK LOYIHASI: 4 qadam
ESP8266 hech qanday RTCsiz tarmoq soati | Nodemcu NTP soati RTC yo'q | INTERNET CLOCK LOYIHASI: Loyihada RTCsiz soat loyihasi yaratiladi, wifi yordamida internetdan vaqt oladi va uni st7735 displeyida ko'rsatadi
Gixie soati: Glow Tube -ning eng chiroyli soati: 4 qadam
Gixie soati: eng chiroyli nurli soat: Menga Niksi kolbasi juda yoqadi, lekin bu juda qimmat, men bunga qodir emasman. Shunday qilib, men yarim yil davomida bu Gixie soatini yaratdim. Gixie soatiga ws2812 akril nuri yordamida erishish mumkin, men RGB naychasini yupqaroq qilish uchun qo'limdan kelganini qilaman