Мазмуну:
Video: IoT RPi LED билдирүү тактасы: 3 кадам (сүрөттөр менен)
2024 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2024-01-30 10:40
Бул Нускамада мен Raspberry Pi (RPi) колдонуп, Wi-Fiга туташкан LED билдирүү тактасын жасадым. Колдонуучулар 8x8 LED дисплейинде көрсөтүлүүчү кыска билдирүүлөрдү жөнөтүү үчүн браузерлерин колдонуп Raspberry Pi веб -серверине туташат. Pythonдогу MAX7219 драйвери менен 8x8 LED матрицасын интернетте башкалар жакшы документтештиргендиктен, бул долбоор веб-сервер интерфейсин түзүүгө жана келген билдирүүлөрдү башкаруу үчүн ZeroMQ Messaging колдонууга багытталган.
Жаңыртуу: Бул жерде кийинки долбоор IoT Decimal/Hexadecimal 8x8 LED Matrix Drawing Board
(Мен коддор клубуна кирген кыздар үчүн клубдун фасилитаторумун жана студенттерге веб -интерфейстин дизайны жана кабарлашуу боюнча сабак берүү үчүн ушул жөнөкөй долбоор менен келдим.)
1 -кадам: Аппараттык орнотуу
Бул долбоор төмөнкү жабдууларды талап кылат:
- Raspberry Pi
- Кыска USB MicroUSB кабели менен Anker сыяктуу USB кубат булагы
- MAX7219 чекиттүү матрица модулу лента кабели менен (Aliexpress $ 2ден аз)
- Корпус (мен картон кутудан жана спрейден кара боёк менен жасадым)
Аппараттык орнотуу - оңой бөлүк. Жөн эле MAX7219 китепканасынын доктуруна RPi үчүн LED матрицасынан 5 зымдуу тасма кабелин туташтырыңыз.
LED-> RPi ======== VCC-> GPIO Pin #2 (5v) GND-> GPIO Pin #6 (GND) DIN-> GPIO Pin #19CS-> GPIO Pin #24CLK-> GPIO Pin # 23
Мен LED бирдигин RPi корпусуна жабыштыруу үчүн эки тараптуу көбүк лента колдондум. Андан кийин, мен RPi жана батареяны сактоо үчүн картон кутудан корпус жасадым.
2 -кадам: Программаны орнотуу
RPiде төмөнкү программалык камсыздоо болушу керек:
- Python 3
- Apache 2 веб сүйүүчү
- Python үчүн Max7219 драйвери
- ZeroMQ Messaging
Python 3
RPiде Python 3 мурунтан эле орнотулган болушу керек. Менин кодум Python 3 үчүн жазылган болсо, Python 2 анча -мынча өзгөртүүлөр менен иштеши керек.
Apache 2
Apache орнотуп, Python CGI сценарийин иштетүү. Төмөндө RPiде Apache орнотуу үчүн эң сонун ресурстар бар, ошондуктан мен бул жерде кайталабайм. Apache жана CGI орнотуу үчүн жөн эле төмөнкү окуу куралдарын ээрчиңиз. *. Py сценарийлери браузерден аткарыла тургандыгын текшериңиз.
- https://raspberrywebserver.com/cgiscripting/
- https://www.knight-of-pi.org/apache-web-server-with-cgi-for-python/
Max7291 айдоочу
Max7219 драйверин акыркы орнотуу көрсөтмөсүнө ылайык орнотуңуз:
https://max7219.readthedocs.io/en/latest/install.html
Орнотуудан кийин, "Matrix_test.py" үлгүсүндөгү кодду иштетип, LED матрицасында "Hello World" дисплейин көрсөтүңүз. Бул кийинки кадамга өтүүдөн мурун иштеши керек.
ZeroMQ Messaging
Эмне үчүн бизге билдирүү керек? Жогорудагы мисал кодун, matrix_test.py, бир эле учурда эки терминалдык экранда иштетип көрүңүз. Система бир эле учурда бир нече коддорду иштетүүгө мүмкүндүк берет, бирок сиз каалаган эмес каттардын бири -бирине дал келгенин көрөсүз. Бир колдонуучу чөйрөсүндө, бул маселе болбошу мүмкүн, анткени сиз бир эле учурда бир гана программа иштей алаарына ынансаңыз болот. Желе сыяктуу көп колдонуучу чөйрөсүндө, система FIFO (First-In-First-Out) кезегин түзүшү керек, башкалар күтүп жатканда кодду бир гана адам аткара алат. Буга жетүү үчүн башка чечимдер болушу мүмкүн, бирок мен FIFO кезегин башкаруу үчүн ZeroMQ колдонууну чечтим. ZeroMQ серверинин коду LED матрицасында билдирүүнү бир убакта көрсөтүү үчүн чыныгы функцияны камтыйт, ал эми веб -сервер ZeroMQ серверине билдирүүлөрдү сурап жана тапшыруу үчүн ZeroMQ кардары катары иштейт. Ошентип, бир эле учурда бир нече колдонуучу веб -баракча аркылуу билдирүүлөрдү тапшыра алса, ZeroMQ сервери бир убакта бир гана билдирүүнү көрсөтөт.
Бул долбоор үчүн биз ZeroMQ пакетин эмес, Python pyzmq пакетин гана орнотобуз.
чуркоо:
sudo pip3 pyzmq орнотуу
Http://zguide.zeromq.org сайтынан ZeroMQ жетектемесин окуп, салам серверин жана Pythonдогу кардар мисалын сынап көрүңүз. Python мисалынын кодун серверге да, кардарга да RPiге көчүрүп, кийинки кадамга өтүүдөн мурун иштешин текшериңиз.
3 -кадам: Web баракчасын орнотуу
Веб баракчасында мен баракты кооз кылып көрсөтүү үчүн bootstrap css/js негизин колдондум. Бул толугу менен милдеттүү эмес.
Apache тамырына же каталогуна тиркелген led_msg.tar.gz файлын жүктөп алыңыз. Gzip'd tar файлын ачуу үчүн, чуркаңыз:
tar -xzvf led_msg.tar.gz
Бул төмөнкү файлдарды түзөт:
msg.py (негизги программа)
templates/interstitial.html (html шаблону) шаблондор/send_msg.html (html шаблону) static/img/led_150x150-j.webp
Кааласаңыз, статикалык каталогдун астына bootstrap css/js негизин орнотуңуз.
Msg.py браузериңиздин URL дарегин киргизиңиз жана веб баракчанын пайда болушун текшериңиз. Азырынча билдирүү жөнөтпөңүз !!!
Билдирүүлөрдү тапшыруудан мурун, ZeroMQ серверин веб -баракча кардарынан келген билдирүүлөрдү кабыл алуу жана аларды LED матрицасында көрсөтүү үчүн баштоо керек. ZeroMQ сервери иштебесе, экранда эч нерсе көрүнбөйт.
Тиркелген max7219_server.py кодун веб -колдонуучулар аткара турган Apache root dir эмес, үй каталогуна түшүрүңүз. Аны тамыр катары иштетүү:
sudo python max7219_server.py
Эми ZeroMQ сервери веб -баракчадан билдирүүлөрдү алууга даяр. Веб -баракчадан жөнөкөй билдирүүнү киргизиңиз жана тапшырыңыз. Эгерде бардыгы туура орнотулган болсо, анда ZeroMQ серверинин экранында жана LED матрицасында ошол билдирүүнү көрөсүз.
Эгерде сиз серверди өчүргүңүз келсе, жөн гана Control-C кылыңыз, сервердин экранынан чыгыңыз.
Дал ушул. Бул долбоор мага окшоп жагат деп ишенем.
Сиз кыла турган жакшыртуулардын бири, ZeroMQ сервер менен кардарлар ортосундагы байланышты асинхрондук кылуу, башка баракчалар көрсөтүлүп жатканда веб -баракча күтпөйт. Ошондой эле, сиз кошумча LED матрицасын каскад режиминде тиркей аласыз. Мен муну сизге калтырам.
Сунушталууда:
DIY схемасы активдүүлүк тактасы менен кыстырма - MAKER - STEM: 3 кадам (Сүрөттөр менен)
DIY схемасы активдүүлүк тактасы менен кыстырма | MAKER | STEM: Бул долбоор менен сиз электр тогунун жолун ар кандай сенсорлор аркылуу иштете аласыз. Бул дизайн менен сиз көк LEDди жарыктандыруу же Буззерди иштетүү ортосунда которула аласыз. Сиз ошондой эле жарыкка көз каранды резисторду колдоно аласыз
Bluetooth менен башкарылган Messenger LCD -- 16x2 ЖК -- Hc05 -- Жөнөкөй -- Зымсыз билдирүү тактасы: 8 кадам
Bluetooth менен башкарылган Messenger LCD || 16x2 ЖК || Hc05 || Жөнөкөй || Зымсыз билдирүү тактасы: …………………………. Дагы видеолор үчүн менин YouTube каналыма ЖАЗЫЛЫҢЫЗ …… ………………………………… Билдирүү тактасы элдерди жаңы маалымат менен жаңыртуу үчүн колдонулат же эгер сиз бөлмөдө же жарымында билдирүү жөнөткүңүз келсе
Raspberry Pi жана MQTT протоколун колдонуу менен санариптик билдирүү тактасы: 8 кадам
Raspberry Pi жана MQTT протоколун колдонгон Digital эскертүүлөр тактасы: Билдирүү такталары кеңсе, мектептер, ооруканалар жана мейманканалар сыяктуу дээрлик бардык жерде колдонулат. Алар маанилүү эскертүүлөрдү көрсөтүү же алдыдагы окуяларды же жолугушууларды жарнамалоо үчүн кайра -кайра колдонулушу мүмкүн. Бирок кулактандыруу же жарнак принтер болушу керек
La COOL тактасы менен автоматтык сугаруу системасы: 4 кадам (сүрөттөр менен)
La COOL тактасы менен автоматтык сугаруу системасы: Саламатсыздарбы, бул жолу биз инструктаждарыбызды La COOL тактасына бир аз тереңирээк киришүүдөн баштайбыз. Биздин борттогу Actor Output топурак кургап калганда насосту иштетет. Биринчиден, мен анын кантип иштээрин түшүндүрөм: La COOL Board 3,3 вольттуу Чыгууга ээ
Сублиминалдуу билдирүү менен жарыктандырылган сенсордук экрандын плакаты!: 16 кадам (сүрөттөр менен)
Subliminal Message менен жарыктандырылган сенсордук экрандын плакаты!: Think Geek биринчи жолу Serenity/Firefly жетеги менен жазылган " саякат " тобун жарыялагандан бери. плакаттар, мен өзүмдүн топтомум болушу керек экенин билчүмүн. Бир нече жума мурун мен аларды акыры алдым, бирок дилеммага туш болдум: аларды дубалга кантип орнотуу керек? Кантип кылуу