Агуулгын хүснэгт:
- Алхам 1: Тоног төхөөрөмжийн тохиргоо
- Алхам 2: Програм хангамжийн тохиргоо
- Алхам 3: Вэб хуудасны тохиргоо
Видео: IoT RPi LED мессежийн самбар: 3 алхам (зурагтай)
2024 Зохиолч: John Day | [email protected]. Хамгийн сүүлд өөрчлөгдсөн: 2024-01-30 11:03
Энэхүү зааварчилгаанд би Raspberry Pi (RPi) ашиглан wifi-д холбогдсон LED мессежийн самбар хийсэн. Хэрэглэгчид 8x8 LED дэлгэц дээр гарч ирэх богино мессежийг илгээхийн тулд браузераа ашиглан Raspberry Pi -ийн вэб сервертэй холбогдох болно. Python дахь MAX7219 драйвертай 8х8 хэмжээтэй LED матрицыг интернэтэд сайн баримтжуулсан байдаг тул энэхүү төсөл нь вэб серверийн интерфэйсийг бий болгох, ирж буй мессежийг удирдахын тулд ZeroMQ мессежийг ашиглахад чиглэгддэг.
Шинэчлэлт: Энд IoT Decimal/Hexadecimal 8x8 LED матрицын зургийн самбарын дараагийн төсөл байна.
(Би код бичдэг охидын клубын клубын удирдагч бөгөөд оюутнуудад вэб интерфэйсийн дизайн, мессеж бичих талаар заахын тулд энэхүү энгийн төслийг гаргасан.)
Алхам 1: Тоног төхөөрөмжийн тохиргоо
Энэ төсөл нь дараахь тоног төхөөрөмжийг шаарддаг.
- Raspberry Pi
- Богино USB -ээс MicroUSB кабель бүхий Anker гэх мэт USB тэжээлийн эх үүсвэр
- Туузан кабель бүхий MAX7219 цэг матрицын модуль (Aliexpress 2 доллараас бага үнээр)
- Хаалт (би картон хайрцгаар хийсэн бөгөөд шүршигчээ хараар будсан)
Тоног төхөөрөмжийн тохиргоо бол хамгийн хялбар хэсэг юм. LED матрицаас 5 утастай тууз кабелийг MAX7219 номын сангийн RPi -д холбоход л хангалттай.
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 мессеж
Python 3
RPi нь Python 3-ийг аль хэдийн суулгасан байх ёстой. Миний кодыг Python 3 -д зориулж бичсэн боловч Python 2 нь бага зэргийн өөрчлөлтүүдтэй ажиллах ёстой.
Apache 2
Apache -ийг тохируулж, Python CGI скриптийг идэвхжүүлнэ үү. Apache -ийг RPi дээр тохируулах хэд хэдэн гайхалтай эх сурвалжуудыг энд оруулав. 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
Суулгасны дараа LED матриц дээр "Hello World" -ыг харуулахын тулд суулгах гарын авлага бүрийн matrix_test.py кодын кодыг ажиллуулна уу. Энэ нь дараагийн алхам руу орохоосоо өмнө ажиллах ёстой.
ZeroMQ мессеж
Бидэнд яагаад мессеж хэрэгтэй байна вэ? Дээрх жишээ 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: Вэб хуудасны тохиргоо
Вэб хуудсан дээр би хуудсыг хөөрхөн харагдуулахын тулд bootstrap css/js framework -ийг ашигласан. Энэ нь бүрэн сонголт биш юм.
Apache root эсвэл дэд санд хавсаргасан led_msg.tar.gz файлыг татаж аваарай. Gzip'd tar файлыг задлахын тулд ажиллуулна уу:
tar -xzvf led_msg.tar.gz
Энэ нь дараах файлуудыг үүсгэдэг:
msg.py (үндсэн програм)
templates/interstitial.html (html template) templates/send_msg.html (html template) static/img/led_150x150-j.webp
Сонголтоор бол bootstrap css/js framework -ийг статик директор дотор суулгаарай.
Хөтчийнхөө msg.py хаягийг оруулаад вэб хуудас гарч ирэх эсэхийг шалгаарай. Одоохондоо мессеж бүү илгээгээрэй !!!
Зурвас илгээхээс өмнө ZeroMQ сервер нь вэб хуудасны үйлчлүүлэгчээс ирсэн мессежийг хүлээн авч LED матриц дээр харуулах ёстой. ZeroMQ сервер ажиллахгүй бол дэлгэц дээр юу ч харагдахгүй болно.
Хавсаргасан max7219_server.py кодыг вэб хэрэглэгчид гүйцэтгэх боломжтой Apache root dir биш харин өөрийн гэрийн лавлах руу татаж аваарай. Үүнийг root хэлбэрээр ажиллуулна уу:
sudo python max7219_server.py
Одоо ZeroMQ сервер вэб хуудаснаас мессеж хүлээн авахад бэлэн боллоо. Вэб хуудаснаас энгийн мессеж оруулаад илгээнэ үү. Хэрэв бүх зүйл зөв тохируулагдсан бол та энэ мэдэгдлийг ZeroMQ серверийн дэлгэц болон LED матриц дээр харах болно.
Хэрэв та серверийг унтраахыг хүсч байвал Control-C дарж серверийн дэлгэцээс гарна уу.
Ингээд л боллоо. Энэ төсөл миний хийсэн шиг таалагдана гэж найдаж байна.
Таны хийж чадах нэг сайжруулалт бол сервер болон үйлчлүүлэгчдийн хоорондох ZeroMQ холболтыг асинхрон байдлаар хийх бөгөөд ингэснээр вэб хуудас бусад мессежүүдийг үзүүлэх хүртэл хүлээхгүй болно. Түүнчлэн, та каскад горимд нэмэлт LED матриц хавсаргаж болно. Би үүнийг танд даатгая.
Зөвлөмж болгож буй:
Текст мессежийн мэдэгдэл бүхий алдагдал илрүүлэгч: 7 алхам
Текст мессежийн мэдэгдэл бүхий алдагдлыг илрүүлэгч: Энэхүү гарын авлага нь мессежийн мэдэгдлийг илгээдэг алдагдлыг илрүүлэгчийг хэрхэн бүтээхийг харуулсан болно. Энэ нь хоолой хагарсан эсвэл ус зайлуулах хоолойноос ус мэдрэгдсэн тохиолдолд дохио өгдөг. Энэхүү гарын авлага нь Python 3, Raspberry Pi, Secure Shell -ийг сонирхож буй хүмүүст зориулагдсан болно
Текст мессежийн тооцоолуур: 6 алхам
Текст зурвасын тооцоолуур: Одоо бүтээгдэхүүн боллоо! http://www.rubydevices.com.au/productSelect/RubyCalculator Цахилгааны инженерийн чиглэлээр магистрын зэрэг хамгаалахад бага зэрэг шаргуу хөдөлмөр зарцуулсан. Энэ бол надад маш их таалагдсан таван жилийн урт зам байсан. 2015 оны эцсээр би их сургуулиа төгссөн
LTE Arduino GPS Tracker + IoT хяналтын самбар (1 -р хэсэг): 6 алхам (зурагтай)
LTE Arduino GPS Tracker + IoT Dashboard (1 -р хэсэг): Танилцуулга Залуусаа! Энэхүү зааварчилгаа нь Arduino-д зориулсан Botletics LTE/NB-IoT бамбайг ашиглах талаархи анхны зааварчилгааны үргэлжлэл юм, хэрвээ та хараахан амжаагүй байгаа бол бамбайгаа хэрхэн ашиглах талаар сайн ойлголттой болохын тулд үүнийг уншина уу
Багц програмчлалд мессежийн хайрцгийг хэрхэн нэмэх вэ: 3 алхам
Багц програмчлалд мессежийн хайрцгийг хэрхэн нэмэх вэ: Та VBScript дээр байгаа шиг өөрийн багц файлуудынхаа график интерфэйсийг нэмж оруулахыг хүсч байсан уу? Надад байгаа нь гарцаагүй. Гэхдээ одоо та MessageBox нэртэй энэхүү гайхалтай програмыг ашиглаж болно
IPhone -оос мессеж эсвэл мессежийн харилцан яриаг хэвлэх хамгийн хялбар арга: 3 алхам
IPhone -оос мессеж эсвэл мессеж бичих харилцан яриаг хэвлэх хамгийн хялбар арга: Сайн байцгаана уу, энэ зааварчилгаанд би iPhone -оосоо текст мессеж хэвлэх хамгийн хялбар аргуудыг харуулах болно. захидал, тэр ч байтугай имэйлээр биш, харин текстээр ирдэг