Мазмуну:

Жаңылыктар, аба ырайы, ойготкуч, таймер жана Тодолист менен Magic Mirror: 9 кадам
Жаңылыктар, аба ырайы, ойготкуч, таймер жана Тодолист менен Magic Mirror: 9 кадам

Video: Жаңылыктар, аба ырайы, ойготкуч, таймер жана Тодолист менен Magic Mirror: 9 кадам

Video: Жаңылыктар, аба ырайы, ойготкуч, таймер жана Тодолист менен Magic Mirror: 9 кадам
Video: Xiaomi Mi Band 6 - установка Русского Языка/полная русификация ❗❗🔥🔥 2024, Ноябрь
Anonim
Жаңылыктар, аба ырайы, ойготкуч, таймер жана Тодолист менен Magic Mirror
Жаңылыктар, аба ырайы, ойготкуч, таймер жана Тодолист менен Magic Mirror
Жаңылыктар, аба ырайы, ойготкуч, таймер жана Тодолист менен Magic Mirror
Жаңылыктар, аба ырайы, ойготкуч, таймер жана Тодолист менен Magic Mirror

Сыйкырдуу күзгү-артында дисплейи бар атайын бир тараптуу күзгү. Raspberry Pi менен туташкан дисплей аба ырайы, бөлмө температурасы, убакыт, күн, токолист жана башка көптөгөн нерселерди көрсөтөт. Сиз микрофонду кошуп, акылдуу жардамчыны орнотсоңуз болот. Мүмкүнчүлүктөр чексиз.

Бул долбоор абдан кымбат болушу мүмкүн, сизге эң кымбат бөлүктөрдүн бири, албетте, дисплей. Ошол себептен эски ноутбуктун дисплейин кайра иштеттим. Бирок мен бул долбоорду ишке ашыруу үчүн чоң, жаркыраган, жогорку контрасттуу дисплейди алууну сунуштайм. Бул татыктуу.

Мен жасаган күзгүдө мындай өзгөчөлүктөр бар:

  • Колдонуучу тандаган RSS каналынан жаңылыктар
  • Аба ырайы
  • Ички температура
  • Сигнал системасы
  • Таймер системасы
  • Токолист
  • Бир нече колдонуучу: LED тилкесинин түсү жана кабар булагы кайсы колдонуучу тандалганына жараша өзгөрөт.

Жабдуулар

Бул сыйкырдуу күзгү куруу үчүн, сизге керек болот:

  • Бир тараптуу күзгү
  • Жыгач
  • A Raspberry Pi
  • Micro SD карта (8+ГБ)
  • Нан тактасы
  • 20W эки динамик
  • MAX9744 20W күчөткүчтөр динамиктерди иштетет
  • 1м 30 жетектөөчү WS2801 лентасы
  • DS18B20 1 зымдуу температура сенсору
  • HC-SR501 инфракызыл сенсор
  • Айлануучу кодер
  • Монитор же эски ноутбуктун дисплейи

    Эгерде сиз эски ноутбук дисплейин колдонуп жатсаңыз, ноутбуктун дисплей адаптерин сатып алышыңыз керек болот. Буларды AliExpress, Ebay же Amazonдон алсаңыз болот. Жөн гана дисплейиңиздин сериялык номерин издеңиз

Сизге ошондой эле төмөнкү чакан компоненттер керек болот:

  • Диод
  • 4.7k Ohm каршылыгы
  • 470 Ом каршылыгы
  • Сенсорлорду Raspberry Pi менен туташтыруу үчүн зымдар

Жана бул энергия булактары:

  • 5V 2A LED тилкесин иштетүү үчүн
  • Дисплейди иштетүү үчүн 12V 2A
  • Күчөткүчтү иштетүү үчүн 12V 2A
  • Raspberry Pi'ди иштетүү үчүн 5.1V 3A (расмий RPi энергия булагын колдонуңуз)

1 -кадам: Raspbian орнотуу

Дисплей жана күзгүнүн артындагы бардык компоненттер Raspberry Pi менен иштейт. Сиз SD картага Pi'нин демейки операциялык тутуму Raspbian орнотушуңуз керек.

  1. Win32 Диск Камерасын жүктөп алыңыз. Linux жана MacOS колдонуучулары Etcher сыяктуу нерсени колдоно алышат.
  2. Raspberry Pi веб -сайтынан акыркы Raspbian сүрөтүн жүктөп алыңыз. "Иш столунда Raspbian Buster" опциясын тандаңыз.
  3. Win32 Disk Imager программасын ачып, сүрөт файлын SD картага жазыңыз.

SD карта азыр дээрлик даяр. Биз Raspberry Pi менен алыстан туташа алаарыбызды текшеришибиз керек:

  1. Тутумуңуздун файл изилдөөчүсүн колдонуп SD картанын "жүктөө" бөлүмүнө өтүңүз.
  2. Кеңейтүүсүз 'ssh' деп аталган файлды кошуңуз.
  3. 'Cmdline.txt' биринчи сабынын аягына 'ip = 169.254.10.1' (тырмакчасыз) кошуңуз.

SD картаны компьютериңизден коопсуз чыгарып, Raspberry Piге салып, жүктөңүз.

2 -кадам: WiFi конфигурациясы

WiFi тармактарын сканерлөө үчүн, төмөнкү буйрукту аткарыңыз:

sudo iw dev wlan0 scan | grep SSID

Сиз Raspberry Pi туташа турган бардык SSID тизмесин көрөсүз.

Төмөнкү буйрукту аткарып жана тармагыңыздын сырсөзүн киргизип, шифрленген сырсөз менен тармак кирүүсүн түзүңүз:

wpa_passphrase "YOUR_NETWORK_SSID_HERE"

Эми бул файлга жогорудагы буйруктун чыгарылышын чаптаңыз:

sudo nano /etc/wpa_supplicant/wpa_supplicant.conf

Эми Raspberry Pi'ни кайра жүктөңүз. Сиз интернетке туташасыз.

3 -кадам: Программаны орнотуу жана конфигурациялоо

Бул долбоор үчүн сиз Raspberry Piге бул пакеттерди жүктөп алышыңыз керек:

pip3 mysql-connector-python колбасына-сокетине колбалар-геворт gevent-websocket adafruit-circuitpython-ws2801 adafruit-circuitpython-max9744 орнотуу

sudo apt apache2 mariadb-серверин орнотот

Бул линияны /boot/config.txt түбүнө кошуп, GPIO казыктары 12 (сол) жана 13 (оң) аркылуу аудиону иштетүү үчүн:

dtoverlay = audremap

Дисплейиңиздин чечимин орнотуу жана i2c, One-зым жана SPI иштетүү үчүн raspi-config колдонуңуз. Жүктөө ыкмасын "Desktop Autologin" деп коюңуз.

/Etc/xdg/lxsession/LXDE-pi/autostart ичинде, төмөнкүлөрдү кошуңуз:

@xset s off@xset -dpms@xset s noblank@chromium -browser --kiosk 127.0.0.1/mirror.html # жүктөгөндөн кийин хромду жүктөп, веб -сайтты толук экран режиминде ачыңыз

Бул LXDE (Raspbian'дин рабочий чөйрөсү) жүктөлгөндө браузерди туура баракта ачат. Ошондой эле @xscreensaver линиясын алып салыңыз же комментарий берип, экранды өчүрүңүз.

Github репозиторийи

Менин GitHub репозиторийимди клондоштуруп, Frontend папкасынын мазмунун/var/www/htmlге салыңыз. Бизге кийинчерээк Backend папкасы керек болот.

4 -кадам: Маалыматтар базасы

Маалыматтар базасы
Маалыматтар базасы

Бул 3NFке ылайыкташтырылган маалымат базасынын схемасы. Ал бардык ойготкучтарды, жаңылык булактарын, колдонуучуларды, сенсордук маалыматтарды, үндөрдү жана толодистти сактайт.

  1. PiS маалымат базасына кирүү үчүн MySQL Workbenchти колдонуңуз (mariadb)
  2. Бул схеманы колдонуу менен маалымат базасын түзүңүз жана өзүңүздүн маалыматыңызды киргизиңиз.
  3. GitHub репозиторийимдин Backend папкасында config.py'ди түзөтүңүз: маалымат базасынын атын, тандаган колдонуучу атыңызды жана сырсөзүңүздү өзгөртүңүз.
  4. App.py файлын түзөтүңүз жана OpenWeatherMap API URL дарегин өзүңүзгө өзгөртүңүз. (Бул жерде өзүңүздү түзүңүз)

5 -кадам: Күзгү алкакты куруу

Күзгү алкакты куруу
Күзгү алкакты куруу
Күзгү алкакты куруу
Күзгү алкакты куруу
Күзгү алкакты куруу
Күзгү алкакты куруу

Мен металл бурчтары бар Miter муундарын колдонуу менен күзгүнүн тегерегиндеги раманы курдум. Мен колдонгон жыгач тактайлардын калыңдыгы 18 мм, туурасы 10 см. Сүрөттөрдө сиз 45см х 60см күзгүнүн так өлчөмдөрүн көрө аласыз. Күзгүнүн артында бардык электроника бар, андыктан тактайларыңыз кенен болгондуктан, аларга ылайыкташтырыңыз.

Динамиктерди алкакка бекитүү үчүн металл илгичтерди колдондум. Ошентип, алар айнектин үстүндөгү титирөөнү басаңдатып, күзгүнүн үстүндө эс алышпайт.

6 -кадам: Электроника

Электроника
Электроника
Электроника
Электроника

Районду куруу үчүн жогорудагы схемаларды аткарыңыз. Күзгүгө электрониканы оңдоо үчүн лента колдондум.

7 -кадам: Электрониканы алкакка орнотуу

Электрониканы алкакка орнотуу
Электрониканы алкакка орнотуу
Электрониканы алкакка орнотуу
Электрониканы алкакка орнотуу

Динамиктерди үстүңкү жактагы металл илгичтерге бекиткенден кийин, калган электрониканы күзгүгө кошуңуз. Мен дагы күзгү менен электрониканын ортосуна жука жыгач тактайчаны койгом, андыктан электрониканы күзгүгө жабыштыруунун ордуна, электрониканы жыгач тактайга чаптап койгом. Ноутбуктун дисплейи күзгүнүн түбүндөгү ак панель.

Сүрөттөрдөн көрүнүп тургандай, мен бардык кубат адаптерлерин көп розеткага туташтырдым, андыктан кадрдан бир гана кабель чыгып кетти. Ушул себептен мага кеңири тактайлар керек болчу (10см).

Мен айлануучу коддогуч батышы үчүн күзгүнүн оң жагында туурасы 2 см болгон тешик бургуладым. Бул үн көлөмүн оңой алмаштырууга (бурулушка) же таймерлерди жана ойготкучтарды жабууга (түртүү) мүмкүндүк берет.

Мен күзгүнүн эки жагында 8 мм болгон эки тешикти бурдум.

8 -кадам: Тийиштерди бүтүрүү

Тийиштерди бүтүрүү
Тийиштерди бүтүрүү
Тийиштерди бүтүрүү
Тийиштерди бүтүрүү
Тийиштерди бүтүрүү
Тийиштерди бүтүрүү

Электрониканы жашыруу үчүн күзгүнүн артына кара кездеме коштум. Ошондой эле корпустун ичин караңгылатат, бул зымдарды күзгүдөн көрүүнү бир топ кыйындатат. Мен аны велкро менен чаптадым, керек болгондо электроникага жетүүнү жеңилдеттим.

Менин Github репозиторийимден Backend папкасын эсиңизде калган жерге көчүрүңүз.

Python скрипти жүктөөдө иштеши үчүн systemd бирдигин кошуңуз:

sudo нано /etc/systemd/system/magicmirror.service

[Бирдик]

Description = magicmirror python скриптинин кызматы After = network.target [Service] ExecStart =/usr/bin/python3 -u app.py WorkingDirectory =/home/pi/magicMirror/Backend StandardOutput = мурастоо StandardError = мурастоо Кайра баштоо = дайыма Колдонуучу = pi [Орнотуу] WantedBy = multi-user.target

'WorkingDirectory'ди Backend каталогуна өзгөртүңүз жана Колдонуучуну жеке колдонуучу атыңызга өзгөртүңүз.

9 -кадам: Webapp менен өз ара аракеттенүү

Webapp менен өз ара аракеттенүү
Webapp менен өз ара аракеттенүү
Webapp менен өз ара аракеттенүү
Webapp менен өз ара аракеттенүү
Webapp менен өз ара аракеттенүү
Webapp менен өз ара аракеттенүү
Webapp менен өз ара аракеттенүү
Webapp менен өз ара аракеттенүү

IP дарегине серфинг (дисплейде). Сиз төмөнкү функциялары бар мобилдик биринчи веб-сайтты көрөсүз:

  • Өз ара аракеттенүүчү температура туткасы
  • Убакыт. Таймер иштеп турганда, күзгүнүн өзүндө да артка саноону көрөсүз.
  • Сигнал системасы
  • Колдонуучуларды, жаңылык булактарын жана динамиктин үнүн түзөтө турган жөндөөлөр өтмөгү.
  • Токолист. Todo нерселери күзгүдө көрсөтүлөт

Mirror.html - бул сыйкырдуу күзгүдө көрсөтүлгөн барак. Мен жогорудагы сүрөттөргө мисал коштум.

Сунушталууда: