Mundarija:
- 1 -qadam: komponentlar va materiallar
- 2 -qadam: Uskunani birlashtirish
- 3 -qadam: ma'lumotlar bazasi modeli (mySQL)
- 4 -qadam: Raspberry Pi bilan aloqa
- 5 -qadam: Raspberry Pi dasturiy ta'minoti
- 6 -qadam: Raspberry Pi -da veb -serverni sozlash
- 7 -qadam: dasturiy ta'minot: Python
- 8 -qadam: dasturiy ta'minot: veb -sayt
- 9 -qadam: ishni ochish
- 10 -qadam: Foydalanuvchi Manuel
Video: Aqlli budilnik: Raspberry Pi -dan tayyorlangan aqlli budilnik: 10 qadam (rasmlar bilan)
2025 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2025-01-13 06:58
Siz hech qachon aqlli soatni xohlaganmisiz? Agar shunday bo'lsa, bu siz uchun yechim!
Men Smart Budilnikni yaratdim, bu soat, siz uyg'otish vaqtini veb -saytga ko'ra o'zgartirishingiz mumkin. Signal o'chganda, ovoz eshitiladi (signal) va 2 chiroq yonadi (2 LED). LEDlar faqat qorong'i bo'lganda yonadi (yorug'lik sensori). LEDlar xonaning yoritilishini ta'minlaydi, shunda siz tabiiy ravishda turishingiz mumkin. Signalni o'chirish uchun tugmani bosing. Kechiktirish funktsiyasidan foydalanmoqchi bo'lganingizda (+5 minut), qo'lingizni ultratovush sensori oldida ushlab turish kerak. Agar harakat aniqlansa (ultratovush sensori), LCD holati o'zgaradi.
LCD holati:
- Veb-sayt IP-manzili
- Soat / sana
- Keyingi signal vaqti
- Harorat va namlik
Bu mening o'qish sohasidagi birinchi loyiham: Howest (Kortrijk Belgium) multimediya va aloqa texnologiyasi (MCT).
1 -qadam: komponentlar va materiallar
Loyiham uchun men quyida sanab o'tadigan bir nechta qismlardan foydalandim, shuningdek, men ularga buyurtma bergan veb -saytlar bilan bir qatorda komponentlarning mos keladigan narxlari bilan Excel faylini qo'shaman.
Komponentlar
- Raspberry Pi 3 modeli B+
- Raspberry Pi quvvat manbai
- LCD displey
- Buzzer
- LDR
- 2 Led
- DHT-11
- HC-SR04 Ultrasonik masofa sensori
- Tugma
- Trimmer
Materiallar:
- Yog'och 7 mm
- Yog'och 2 sm
- Yopishtiruvchi film
Asboblar:
- Lehimlash
- Super elim
- Ko'rdim
- Tornavidalar
- Matkap
Quyidagi PDF -faylda narxlarning to'liq ro'yxatini ko'rishingiz mumkin.
2 -qadam: Uskunani birlashtirish
Men o'zim tuzgan Fritzing sxemasiga amal qilib, o'z sxemamni qurdim va quyidagi sxemani yukladim. Zanjirda bir nechta datchiklar va bitta boshqaruvchi aktuator mavjud. Men turli xil sxemalar ro'yxatini beraman, ularni qanday ulash kerak, sxemada topishingiz mumkin.
- Ultrasonik masofa sensori mavjud, u 15 sm masofada (o'z -o'zidan kodlangan masofada) harakatni aniqlaydi va u LCD holatini o'zgartiradi, lekin agar signal yoqilgan bo'lsa, u signalni 5 daqiqaga qoldiradi.
- LCD displeyda 4 ta holat ko'rsatiladi (IP-manzil, sana/vaqt, keyingi signal, temp/hum)
- Havoning harorati va namligini o'lchaydigan dht11
- Signalni o'chirish tugmasi yoki 3 soniyadan ko'proq bosib tursangiz, RPI o'chadi
- Belgilangan budilnik joriy vaqtga to'g'ri kelsa, shovqinli signal
- Xonadagi yorug'likni o'lchash uchun LDR sensori
- 2 Led, agar qorong'i bo'lsa, xonani yoritadi -> LDR
3 -qadam: ma'lumotlar bazasi modeli (mySQL)
Siz mening ERD diagrammasini yuqorida ko'rishingiz mumkin, men damp faylini ham bog'layman, shunda ma'lumotlar bazasini o'zingiz import qilishingiz mumkin.
Ushbu ma'lumotlar bazasi yordamida siz bir nechta narsalarni ko'rsatishingiz mumkin:
- Harorat
- Namlik
- Yorug'lik qiymati
- Budilnik o'rnatilgan/o'chirilgan/kechiktirilgan
- Agar buzzer ishlayotgan bo'lsa
- Agar chiroqlar yonsa
Agar siz ushbu ma'lumotlar bazasini qayta yaratmoqchi bo'lsangiz, Raspberry Pi -ga ulanish uchun siz yangi foydalanuvchi yaratishingiz kerak bo'ladi.
4 -qadam: Raspberry Pi bilan aloqa
Avval Putty -ni yuklab olishingiz kerak bo'ladi, ularning veb -saytida bepul versiya mavjud. Sizga Raspbian kerak bo'ladi, uni bu erdan yuklab olishingiz mumkin.
Putty -ni ochganingizda "sessiya" ni bosishingiz kerak bo'ladi. Buni qilganingizdan so'ng, "Masofaviy xost" ostidagi Pi -ning IP -manzilini to'ldirishingiz kerak bo'ladi. Keyin siz tanlagan foydalanuvchi nomini kiritishingiz mumkin. keyin "OK" ni bosing.
Odatda, bu barcha harakatlardan so'ng, u avtomatik ravishda ulanishni boshlaydi. Keyin siz parolni kiritishingiz kerak va siz ulangansiz.
5 -qadam: Raspberry Pi dasturiy ta'minoti
Mening kodim ishlashi uchun (men quyida havola qilaman) siz ba'zi paketlar va kutubxonalarni o'rnatishingiz kerak bo'ladi. Sizga kerak bo'lgan birinchi narsa - Pi -ni yangilash.
Birinchidan, quyidagi buyruqni kiritish orqali tizimingizning paketlar ro'yxatini yangilang: sudo apt-get update Keyingi, quyidagi buyruq bilan barcha o'rnatilgan paketlaringizni so'nggi versiyalariga yangilang: sudo apt-get dist-upgrade Agar siz paketlarni o'rnatgan bo'lsangiz ba'zi kutubxonalarni o'rnatish kerak:
- Flaskflask_cors
- RPI. GPIO
- vaqt
- tiqish
- vaqt
- pastki jarayon
- mysq
- lSocketIO
6 -qadam: Raspberry Pi -da veb -serverni sozlash
Putty konsolingizga o'ting.
Biz Apache veb -serverini o'rnatamiz. Shunday qilib, siz tarmoqqa ulangan har qanday qurilmada veb -saytni ochishingiz mumkin bo'ladi. Quyidagi buyruqni kiriting va Enter ni bosing: sudo apt-get install apache2
Endi papkaga o'ting:/var/www/html/Bu erda siz o'zingizning barcha fayllaringizni veb -saytingizga joylashtira olasiz va sizning IP -manzilingizga kirganingizda index.html sahifasi ochiladi. index.html -ga I harfini yozishdan ehtiyot bo'ling, aks holda u avtomatik ravishda indeks sahifasini ochmaydi.
7 -qadam: dasturiy ta'minot: Python
Men bir nechta python skriptlarini yaratdim, men o'z githubhere -ni bog'layman, shunda siz kodni o'zingiz ko'rishingiz mumkin. Lekin men buni biroz tushuntiraman.
Men Ultrasonik sensor, yorug'lik, LDR va LCD uchun ba'zi sinflarni kodladim. Men DHT11 sensori uchun kutubxonalardan foydalandim. (import Adafruit_DHT) Oxir -oqibat men loyihani to'liq ishlashi uchun faqat bitta faylni ishlataman, bu app.py. Bundan tashqari, ushbu faylda men ba'zi marshrutlarni kodladim, shuning uchun ma'lumotlar bazasidan ma'lumotlarni o'qib, keyinchalik javascript fayllarimda ishlatgan json ob'ektiga yuborishim mumkin edi.
8 -qadam: dasturiy ta'minot: veb -sayt
Chunki men saytga signal qo'yishingiz mumkin bo'lgan imkoniyatni yaratdim. Shunday qilib, men buni qilishim uchun veb -sayt yaratdim. Veb -sayt orqali siz namlik, harorat va tarixni kuzatishingiz mumkin.
Pi yuklanayotganda, u mening python skriptimni ishga tushiradi. Bu veb -saytda ma'lumotlarni ko'rsatish va signalni o'rnatish imkoniyatini beradi. Sayt ham javob beradi, shuning uchun uni mobil telefonda xususiyatlarini yo'qotmasdan yoki boshqa yo'l bilan ochish mumkin.
Mening kodimni github -da shu erda topish mumkin.
9 -qadam: ishni ochish
Menimcha, men soatni taqlid qilish uchun quti quraman.
Men rasmlarni qo'yaman, bu erda siz ishni o'rnatish jarayonini ko'rishingiz mumkin. O'lchovlar uchun men quyida faylni yukladim, u erda siz uni qanday yaratishingiz mumkinligi haqidagi sxemani ko'rishingiz mumkin.
10 -qadam: Foydalanuvchi Manuel
Bu erda siz loyihaning qanday ishlashini ko'rsatmasini topishingiz mumkin. Umid qilamanki, agar siz ushbu dars oxirida aqlli budilnikni yaratgan bo'lsangiz, kuningiz yaxshi bo'ladi!
O'qiganingiz uchun tashakkur.