Мазмуну:
- Жабдуулар
- 1 -кадам: Raspbian орнотуу
- 2 -кадам: WiFi конфигурациясы
- 3 -кадам: Программаны орнотуу жана конфигурациялоо
- 4 -кадам: Маалыматтар базасы
- 5 -кадам: Күзгү алкакты куруу
- 6 -кадам: Электроника
- 7 -кадам: Электрониканы алкакка орнотуу
- 8 -кадам: Тийиштерди бүтүрүү
- 9 -кадам: Webapp менен өз ара аракеттенүү
Video: Жаңылыктар, аба ырайы, ойготкуч, таймер жана Тодолист менен Magic Mirror: 9 кадам
2024 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2024-01-30 10:39
Сыйкырдуу күзгү-артында дисплейи бар атайын бир тараптуу күзгү. 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 орнотушуңуз керек.
- Win32 Диск Камерасын жүктөп алыңыз. Linux жана MacOS колдонуучулары Etcher сыяктуу нерсени колдоно алышат.
- Raspberry Pi веб -сайтынан акыркы Raspbian сүрөтүн жүктөп алыңыз. "Иш столунда Raspbian Buster" опциясын тандаңыз.
- Win32 Disk Imager программасын ачып, сүрөт файлын SD картага жазыңыз.
SD карта азыр дээрлик даяр. Биз Raspberry Pi менен алыстан туташа алаарыбызды текшеришибиз керек:
- Тутумуңуздун файл изилдөөчүсүн колдонуп SD картанын "жүктөө" бөлүмүнө өтүңүз.
- Кеңейтүүсүз 'ssh' деп аталган файлды кошуңуз.
- '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ке ылайыкташтырылган маалымат базасынын схемасы. Ал бардык ойготкучтарды, жаңылык булактарын, колдонуучуларды, сенсордук маалыматтарды, үндөрдү жана толодистти сактайт.
- PiS маалымат базасына кирүү үчүн MySQL Workbenchти колдонуңуз (mariadb)
- Бул схеманы колдонуу менен маалымат базасын түзүңүз жана өзүңүздүн маалыматыңызды киргизиңиз.
- GitHub репозиторийимдин Backend папкасында config.py'ди түзөтүңүз: маалымат базасынын атын, тандаган колдонуучу атыңызды жана сырсөзүңүздү өзгөртүңүз.
- 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 менен өз ара аракеттенүү
IP дарегине серфинг (дисплейде). Сиз төмөнкү функциялары бар мобилдик биринчи веб-сайтты көрөсүз:
- Өз ара аракеттенүүчү температура туткасы
- Убакыт. Таймер иштеп турганда, күзгүнүн өзүндө да артка саноону көрөсүз.
- Сигнал системасы
- Колдонуучуларды, жаңылык булактарын жана динамиктин үнүн түзөтө турган жөндөөлөр өтмөгү.
- Токолист. Todo нерселери күзгүдө көрсөтүлөт
Mirror.html - бул сыйкырдуу күзгүдө көрсөтүлгөн барак. Мен жогорудагы сүрөттөргө мисал коштум.
Сунушталууда:
WiFi Сааты, Таймер жана Аба ырайы бекети, Блинк көзөмөлдөнөт: 5 кадам (Сүрөттөр менен)
WiFi Сааты, Таймер жана Аба ырайы бекети, Блинк көзөмөлдөнөт: Бул Morphing санариптик сааты (концепциясы жана морфинг коду үчүн Хари Вигунанын аркасы менен), бул дагы аналогдук саат, аба ырайы жөнүндө маалымат берүүчү станция жана ашкана таймери. WiFi аркылуу смартфонуңуздагы Blynk колдонмосу
DHT11 менен ESP32 негизделген M5Stack M5stick C аба ырайы монитору - DHT11 менен M5stick-Cдеги температуранын нымдуулугун жана жылуулук индексин көзөмөлдөңүз: 6 кадам
DHT11 менен ESP32 негизделген M5Stack M5stick C аба ырайы монитору | DHT11 менен M5stick-Cдеги температуранын нымдуулугун жана жылуулук индексин көзөмөлдөңүз: Салам балдар, бул көрсөтмөлөрдө биз DHT11 температура сенсорун m5stick-C менен (m5stack менен иштеп чыгуу тактасы) кантип интерфейс кылууну жана m5stick-C дисплейинде көрсөтүүнү үйрөнөбүз. Ошентип, бул үйрөткүчтө биз температураны, нымдуулукту & жылуулук мен
Акыркы 1-2 күндүн ичинде трендди көрүү үчүн Arduino, BME280 жана дисплей менен аба ырайы станциясы: 3 кадам (сүрөттөр менен)
Акыркы 1-2 күндүн ичинде трендди көрүү үчүн Arduino, BME280 жана дисплей менен метеорологиялык станция: Саламатсызбы! Алар учурдагы абанын басымын, температурасын жана нымдуулугун көрсөтөт. Аларга акыркы 1-2 күндүн ичинде курстун презентациясы жетишпеди. Бул процесске ээ болмок
Аба ырайы шамы - Аба ырайы жана температура бир караганда: 8 кадам
Аба ырайы шамы - Аба ырайы жана Температура Бир Караганда: Бул сыйкырдуу шамды колдонуп, сиз учурдагы температураны жана шарттарды дароо сыртта айта аласыз
IoT оңой: Алыскы аба ырайы маалыматын тартуу: UV жана абанын температурасы жана нымдуулугу: 7 кадам
IoT оңой: Алыскы аба ырайы маалыматын тартуу: UV жана абанын температурасы жана нымдуулугу: Бул окуу куралы боюнча биз алыскы маалыматтарды UV (Ultra-Violet радиация), абанын температурасы жана нымдуулугу катары тартып алабыз. Бул маалыматтар абдан маанилүү болот жана келечекте толук аба ырайы станциясында колдонулат