Mundarija:

Aqlli budilnik: Raspberry Pi -dan tayyorlangan aqlli budilnik: 10 qadam (rasmlar bilan)
Aqlli budilnik: Raspberry Pi -dan tayyorlangan aqlli budilnik: 10 qadam (rasmlar bilan)

Video: Aqlli budilnik: Raspberry Pi -dan tayyorlangan aqlli budilnik: 10 qadam (rasmlar bilan)

Video: Aqlli budilnik: Raspberry Pi -dan tayyorlangan aqlli budilnik: 10 qadam (rasmlar bilan)
Video: Сделал ИГРОВУЮ КОНСОЛЬ из БУДИЛЬНИКА 2024, Noyabr
Anonim
Aqlli budilnik: Raspberry Pi -dan tayyorlangan aqlli budilnik
Aqlli budilnik: Raspberry Pi -dan tayyorlangan aqlli budilnik

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:

  1. Veb-sayt IP-manzili
  2. Soat / sana
  3. Keyingi signal vaqti
  4. Harorat va namlik

Bu mening o'qish sohasidagi birinchi loyiham: Howest (Kortrijk Belgium) multimediya va aloqa texnologiyasi (MCT).

1 -qadam: komponentlar va materiallar

Materiallar va komponentlar
Materiallar va komponentlar
Materiallar va komponentlar
Materiallar va komponentlar
Materiallar va komponentlar
Materiallar va komponentlar

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

Uskunani birlashtirish
Uskunani birlashtirish
Uskunani birlashtirish
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.

  1. 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.
  2. LCD displeyda 4 ta holat ko'rsatiladi (IP-manzil, sana/vaqt, keyingi signal, temp/hum)
  3. Havoning harorati va namligini o'lchaydigan dht11
  4. Signalni o'chirish tugmasi yoki 3 soniyadan ko'proq bosib tursangiz, RPI o'chadi
  5. Belgilangan budilnik joriy vaqtga to'g'ri kelsa, shovqinli signal
  6. Xonadagi yorug'likni o'lchash uchun LDR sensori
  7. 2 Led, agar qorong'i bo'lsa, xonani yoritadi -> LDR

3 -qadam: ma'lumotlar bazasi modeli (mySQL)

Ma'lumotlar bazasi modeli (mySQL)
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

Raspberry Pi bilan aloqa
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

Raspberry Pi uchun dasturiy ta'minot
Raspberry Pi uchun dasturiy ta'minot

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

Raspberry Pi -da veb -serverni sozlash
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

Dasturiy ta'minot: Python
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

Dasturiy ta'minot: veb -sayt
Dasturiy ta'minot: veb -sayt
Dasturiy ta'minot: veb -sayt
Dasturiy ta'minot: veb -sayt
Dasturiy ta'minot: veb -sayt
Dasturiy ta'minot: veb -sayt
Dasturiy ta'minot: veb -sayt
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

Kosonni qurish
Kosonni qurish
Kosonni qurish
Kosonni qurish
Kosonni qurish
Kosonni qurish

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.

Tavsiya: