Mundarija:

Yangiliklar, ob -havo, signal, taymer va Todolist bilan sehrli oyna: 9 qadam
Yangiliklar, ob -havo, signal, taymer va Todolist bilan sehrli oyna: 9 qadam

Video: Yangiliklar, ob -havo, signal, taymer va Todolist bilan sehrli oyna: 9 qadam

Video: Yangiliklar, ob -havo, signal, taymer va Todolist bilan sehrli oyna: 9 qadam
Video: 38-dars: Analog va raqamli signallar. 2024, Noyabr
Anonim
Yangiliklar, ob -havo, signal, taymer va Todolist bilan sehrli oyna
Yangiliklar, ob -havo, signal, taymer va Todolist bilan sehrli oyna
Yangiliklar, ob -havo, signal, taymer va Todolist bilan sehrli oyna
Yangiliklar, ob -havo, signal, taymer va Todolist bilan sehrli oyna

Sehrli oyna-bu bir tomonlama maxsus ko'zgu, uning orqasida displey bor. Raspberry Pi -ga ulangan displeyda ob -havo, xona harorati, vaqt, sana, todolist va boshqalar kabi ma'lumotlar ko'rsatiladi. Siz hatto mikrofon qo'shishingiz va aqlli yordamchini o'rnatishingiz mumkin. Imkoniyatlar cheksiz.

Bu loyiha ancha qimmat bo'lishi mumkin, sizga kerak bo'ladigan eng qimmat qismlardan biri bu displey. Shuning uchun men eski noutbukdan displeyni qayta ishladim. Men bu loyihani amalga oshirish uchun katta, yorqin, yuqori kontrastli displeyni olishni maslahat beraman. Bunga arziydi.

Men qilgan oynada quyidagi xususiyatlar bor:

  • Foydalanuvchi tanlagan RSS tasmasidan yangiliklar
  • Ob -havo
  • Ichki harorat
  • Signal tizimi
  • Taymer tizimi
  • Toodist
  • Bir nechta foydalanuvchilar: qaysi foydalanuvchi tanlanganiga qarab, chiziqlar chizig'i va axborot manbalari o'zgaradi.

Ta'minotlar

Ushbu sehrli oynani yaratish uchun sizga kerak bo'ladi:

  • Bir tomonlama ko'zgu
  • Yog'och
  • Malinali Pi
  • Micro SD karta (8+GB)
  • Non paneli
  • 20 Vt quvvatli ikkita dinamik
  • Karnaylarni quvvatlantirish uchun MAX9744 20W kuchaytirgich
  • 1 m 30 boshli WS2801 chizig'i
  • DS18B20 1 simli harorat sensori
  • HC-SR501 infraqizil sensori
  • Aylanadigan kodlovchi
  • Monitor yoki eski noutbuk displeyi

    Agar siz eski noutbuk displeyidan foydalansangiz, noutbuk displey adapterini sotib olishingiz kerak bo'ladi. Siz ularni AliExpress, Ebay yoki Amazon -dan olishingiz mumkin. Faqat displeyingizning seriya raqamini qidiring

Shuningdek, sizga quyidagi kichik komponentlar kerak bo'ladi:

  • Diyot
  • 4.7k Ohm qarshilik
  • 470 Ohm qarshilik
  • Sensorlarni Raspberry Pi -ga ulash uchun simlar

Va bu quvvat manbalari:

  • 5V 2A yorug'lik chizig'ini quvvatlantirish uchun
  • Displeyni quvvatlantirish uchun 12V 2A
  • Kuchaytirgichni quvvatlantirish uchun 12V 2A
  • Raspberry Pi -ni quvvatlantirish uchun 5.1V 3A (rasmiy RPi quvvat manbaidan foydalaning)

1 -qadam: Raspbian -ni o'rnatish

Displey va oynaning orqasidagi barcha komponentlar Raspberry Pi tomonidan quvvatlanadi. Siz SD -kartaga Pi standart operatsion tizimi Raspbian -ni o'rnatishingiz kerak bo'ladi.

  1. Win32 disk tasvirini yuklab oling. Linux va MacOS foydalanuvchilari Etcher kabi narsalardan foydalanishlari mumkin.
  2. Raspberry Pi veb -saytidan so'nggi Raspbian rasmini yuklab oling. "Ish stoli bilan Raspbian Buster" variantini tanlang.
  3. Win32 Disk Imager -ni oching va rasm faylini SD -kartaga yozing.

SD -karta deyarli tayyor. Biz Raspberry Pi -ga masofadan ulanishimizga ishonch hosil qilishimiz kerak:

  1. SD -kartaning "yuklash" bo'limiga o'ting va tizim fayllarini tekshiring.
  2. "Ssh" nomli faylni kengaytmasiz qo'shing.
  3. 'Cmdline.txt' birinchi satrining oxiriga 'ip = 169.254.10.1' (tirnoqsiz) qo'shing.

SD -kartani kompyuterdan xavfsiz chiqarib oling, Raspberry Pi -ga qo'ying va yuklang.

2 -qadam: WiFi konfiguratsiyasi

WiFi tarmoqlarini skanerlash uchun quyidagi buyruqni bajaring:

sudo iw dev wlan0 skanerlash | grep SSID

Siz Raspberry Pi ulanishi mumkin bo'lgan barcha SSID -lar ro'yxatini ko'rasiz.

Quyidagi buyruqni bajarish va tarmoq parolini kiritish orqali shifrlangan parol bilan tarmoq kirishini yarating:

wpa_passphrase "YOUR_NETWORK_SSID_HERE"

Endi yuqoridagi buyruq natijasini ushbu faylga joylashtiring:

sudo nano /etc/wpa_supplicant/wpa_supplicant.conf

Endi Raspberry Pi -ni qayta ishga tushiring. Siz Internetga ulanasiz.

3 -qadam: dasturiy ta'minotni o'rnatish va sozlash

Ushbu loyiha uchun siz ushbu paketlarni Raspberry Pi -ga yuklab olishingiz kerak bo'ladi:

pip3 mysql-ulagichi-python kolbasi-rozetkasi kolbasi-korslari gevent gevent-websocket adafruit-circuitpython-ws2801 adafruit-circuitpython-max9744

sudo apt install apache2 mariadb-server

Ovozni GPIO 12 (chapda) va 13 (o'ngda) pinlari orqali yoqish uchun /boot/config.txt ostiga bu qatorni qo'shing:

dtoverlay = audremap

Raspi-config-dan foydalanib, displeyingiz aniqligini va i2c, bitta simli va SPI-ni yoqing. Shuningdek, yuklash usulini "Desktop Autologin" ga o'rnating.

/Etc/xdg/lxsession/LXDE-pi/autostart-ga quyidagilarni qo'shing:

@xset s off@xset -dpms@xset s noblank@chromium -browser --kiosk 127.0.0.1/mirror.html # yuklashdan so'ng xromni yuklang va veb -saytni to'liq ekran rejimida oching.

Bu LXDE (Raspbian ish stoli muhiti) yuklanganda brauzerni to'g'ri sahifada ochadi. Shuningdek, ekran saqlovchini o'chirish uchun @xscreensaver chizig'ini olib tashlang yoki izoh bering.

Github ombori

Mening GitHub omborimni klonlang va Frontend jildining tarkibini/var/www/html -ga qo'ying. Bizga keyinchalik Backend papkasi kerak bo'ladi.

4 -qadam: ma'lumotlar bazasi

Ma'lumotlar bazasi
Ma'lumotlar bazasi

Bu 3NF ga optimallashtirilgan ma'lumotlar bazasi sxemasi. U barcha signallarni, yangiliklar manbalarini, foydalanuvchilarni, sensor ma'lumotlarini, tovushlarni va todolistni saqlaydi.

  1. Pi ma'lumotlar bazasi serveriga kirish uchun MySQL Workbench -dan foydalaning (mariadb)
  2. Ushbu sxema yordamida ma'lumotlar bazasini yarating va o'z ma'lumotlaringizni kiriting.
  3. GitHub omborimning Backend papkasida config.py -ni tahrir qiling: ma'lumotlar bazasi nomini, siz tanlagan foydalanuvchi nomini va parolni o'zgartiring.
  4. App.py -ni tahrir qiling va OpenWeatherMap API -ni URL manzilini o'zgartiring. (Bu erda o'zingizni yarating)

5 -qadam: Ko'zgu ramkasini qurish

Ko'zgu ramkasini qurish
Ko'zgu ramkasini qurish
Ko'zgu ramkasini qurish
Ko'zgu ramkasini qurish
Ko'zgu ramkasini qurish
Ko'zgu ramkasini qurish

Men ramkani metall burchakli Miter bo'g'inlari yordamida oynaning atrofida qurdim. Men ishlatgan yog'och taxtalarning qalinligi 18 mm va kengligi 10 sm. Rasmlarda siz 45 sm x 60 sm o'lchamdagi oynaning aniq o'lchamlarini ko'rishingiz mumkin. Ko'zgu orqasida barcha elektronika bor, shuning uchun taxtalaringiz ularga mos keladigan darajada keng ekanligiga ishonch hosil qiling.

Men karnaylarni ramkaga mahkamlash uchun metall ilgaklar ishlatardim. Shunday qilib, ular oynaga tebranmaydilar, bu esa oynadagi tebranish stressini kamaytiradi.

6 -qadam: elektronika

Elektronika
Elektronika
Elektronika
Elektronika

Zanjirni qurish uchun yuqoridagi sxemalarga amal qiling. Elektronni oynaga mahkamlash uchun lenta ishlatardim.

7 -qadam: Elektronni ramkaga o'rnatish

Elektronni ramkaga o'rnatish
Elektronni ramkaga o'rnatish
Elektronni ramkaga o'rnatish
Elektronni ramkaga o'rnatish

Karnaylarni yuqori qismidagi metall ilgaklarga mahkamlagandan so'ng, qolgan elektronikani oynaga qo'shing. Men, shuningdek, oyna va elektronika orasiga yupqa yog'och taxta qo'ydim, shuning uchun elektronikani oynaga yopishtirish o'rniga, elektron taxtani yog'och taxtaga yopishtirdim. Laptop displeyi oynaning pastki qismidagi oq paneli.

Rasmlarda ko'rib turganingizdek, men barcha quvvat adapterlarini ko'p rozetkali rozetkaga uladim, shuning uchun ramkadan faqat bitta kabel chiqib ketdi. Shuning uchun menga etarlicha keng taxtalar kerak edi (10 sm).

Men aylanuvchi kodlovchi mos kelishi uchun oynaning o'ng tomonida kengligi 2 sm bo'lgan teshik ochdim. Bu sizga ovoz balandligini osongina o'zgartirish (burilish) yoki taymerlar va signallarni o'chirish (surish) imkonini beradi.

Men chiziqlar uchun kabellarni yo'naltirish uchun oynaning ikkala tomonida 8 mm ikkita ikkita teshik ochdim.

8 -qadam: teginishni tugatish

Tugatish tegishi
Tugatish tegishi
Tugatish tegishi
Tugatish tegishi
Tugatish tegishi
Tugatish tegishi

Men elektronikani yashirish uchun oynaning orqa qismiga qora mato qo'shdim. Bundan tashqari, korpusning ichki qismi qorayadi, bu esa simlarni oynadan ko'rishni ancha qiyinlashtiradi. Men uni velcro bilan biriktirdim, kerak bo'lganda elektronikaga kirishni osonlashtirdim.

Backend papkasini Github omboridan eslab qoladigan joyga nusxalash.

Python skript yuklashda ishlashi uchun systemd birligini qo'shing:

sudo nano /etc/systemd/system/magicmirror.service

[Birlik]

Tavsif = sehrli oyna python skriptlari uchun xizmatdan keyin = network.target [Service] ExecStart =/usr/bin/python3 -u app.py WorkingDirectory =/home/pi/magicMirror/Backend StandardOutput = irsiy StandardError = meros qilib qayta ishga tushirish = har doim foydalanuvchi = pi [O'rnatish] WantedBy = multi-user.target

"WorkingDirectory" ni Backend katalogiga o'zgartiring va "User" ni o'z foydalanuvchi nomingizga o'zgartiring.

9 -qadam: Webapp bilan ishlash

Webapp bilan o'zaro aloqa
Webapp bilan o'zaro aloqa
Webapp bilan o'zaro aloqa
Webapp bilan o'zaro aloqa
Webapp bilan o'zaro aloqa
Webapp bilan o'zaro aloqa
Webapp bilan o'zaro aloqa
Webapp bilan o'zaro aloqa

IP -manzilga o'ting (displeyda). Siz quyidagi xususiyatlarga ega mobil qurilmalar uchun birinchi veb-saytni ko'rasiz:

  • O'zaro ta'sir qiladigan harorat o'lchagichi
  • Vaqt. Taymer ishlayotganda, siz oynaning o'zida ham hisoblagichni ko'rasiz.
  • Signal tizimi
  • Foydalanuvchilar, yangiliklar manbalari va karnay ovozini tahrirlash mumkin bo'lgan sozlamalar yorlig'i.
  • Toodist. Todo elementlari oynada ko'rsatiladi

Mirror.html - bu sehrli oynada ko'rsatiladigan sahifa. Men yuqoridagi rasmlarga misol qo'shdim.

Tavsiya: