Агуулгын хүснэгт:
- Алхам 1: Ашигласан материал
- Алхам 2: Үйлдлийн системийг бэлтгэ
- Алхам 3: Неопикселийг холбох
- Алхам 4: RPi -г эхлүүлнэ үү
- Алхам 5: Pi-Hole
- Алхам 6: Гэрлийг хянах
- Алхам 7: Хөтөчийн тусламжтайгаар гэрлээ асаана уу
- Алхам 8: Хөтчөөс гэрлийг хянах
- Алхам 9: Толгой ба доод хэсэгт загвар үүсгэх
- Алхам 10: Бүгдийг арай илүү сайн болгохын тулд зарим CSS
- Алхам 11: Баярлалаа
Видео: Зар хаах неопиксел: 11 алхам
2024 Зохиолч: John Day | [email protected]. Хамгийн сүүлд өөрчлөгдсөн: 2024-01-30 11:04
Би Raspberry Pi тэг-тэй холбогдсон неопикселийн зурвасын алсын зайтай энгийн вэбсайт хийж, Pi-Hole ашиглан сүлжээн дэх зараа хаахын тулд үргэлжлүүлэн ашиглахыг хүсч байсан. Нэгдүгээрт, би өрөөндөө хэдэн лед оруулахыг хүссэн боловч бүх зүйлийг утсаар холбож үзэхэд тэдгээрийг удирдахад ямар ч арга байхгүй гэдгийг ойлгосон. Тиймээс би Pi-hole суулгагчийг аль хэдийн тохируулсан apache серверийг ашиглан энгийн хяналтын вэбсайтыг бий болгохоор шийдсэн. Би www-дата root зөвшөөрлийг өгсөн бөгөөд энэ нь аюулгүй байдлын эрсдэлтэй тул та вэб серверийг гадаад ертөнцөд ашиглах боломжгүй болгох ёстой. Энэ нь голчлон өөрийн бичиг баримтын хувьд эхэлсэн бөгөөд ямар нэгэн байдлаар миний анхны заавар болсон юм.) Тиймээс хэрэв ямар нэгэн зүйл тодорхойгүй байгаа эсвэл би ямар нэгэн зүйлийг бүрэн алдсан бол үүнийг онцлон тэмдэглэж өгөхөд би үнэхээр талархах болно.
Алхам 1: Ашигласан материал
-
Raspberry Pi (би Pi 2 дээр эхэлж, дараа нь WH болгон өөрчилсөн, gpio тээглүүрүүд нь арай өөр байж магадгүй, эс тэгвээс загвар бүр сайн байна)
- Хэрэв танд wifi суулгаагүй RPi байгаа бол wifi адаптер бас хэрэгтэй болно.
- Сонголтоор бол бөөрөлзгөнө pi -ийн хэрэг
- 2 Эрэгтэй, эмэгтэй холбогч утас (жишээлбэл)
- Neopixels ws2811 (би эдгээрийг ашигласан)
- RPi -ийн 10W цахилгаан хангамж (Хуучин утасны цэнэглэгч хийх болно)
- Neopixels -ийн 1 ~ 50W цахилгаан хангамж (би ийм төхөөрөмж ашигласан, гэхдээ арай жижиг нь хангалттай байх болно, гэхдээ хэрэв та илүү их LED авахыг хүсч байвал өргөжүүлэх зай үлдсэн байна.)
- Эмэгтэй үүрний холбогч залгуур (үүн шиг)
Алхам 2: Үйлдлийн системийг бэлтгэ
Raspberrypi.org -аас Rasbian -ийн хамгийн сүүлийн хувилбарыг татаж аваарай. Хэрэв та бөөрөлзгөнө pi -ийг өөр зүйлд ашиглахаар төлөвлөж байгаа бол бүрэн хувилбарыг gui ашиглан суулгах талаар бодож үзэх боломжтой. Дараа нь би зургийг Etcher -тэй хамт шатаасан. Үүний дараа энэ нь миний wifi сүлжээнд холбогдох болно гэдэгт итгэлтэй байхын тулд SD картын ачаалах санд wpa_supplicant.conf -ийг нэмсэн. Файлын агуулга дараах байдлаар харагдах ёстой.
~~~
ctrl_interface = DIR =/var/run/wpa_supplicant GROUP = netdev update_config = 1
сүлжээ = {
ssid = "SSID"
psk = "Нууц үг"
key_mgmt = WPA-PSK}
~~~
Ssh -ийг идэвхжүүлэхийн тулд би ижил санд ssh (ямар ч өргөтгөлгүйгээр) нэртэй файл үүсгэсэн. Энэ нь таны хэлийг өөр компьютерээс тохируулах боломжтой болно.
Алхам 3: Неопикселийг холбох
Нэгдүгээрт, би эмэгтэй үүрний холбогч руу тэжээлийн хангамжийг залгаж, RPi -ийг хайрцагт хийв. Би газардуулгын кабелийг leds (цэнхэр кабель), холбогч утасны холбогч талын сөрөг талд холбогч утасны эрэгтэй талыг шургуулсан. Би холбогч утасны нөгөө үзүүрийг gpio толгой дээрх газардуулгын зүү рүү холбосон, би 6 -р зүүг ашигласан боловч яг ашиглаж болох голууд нь таны ашиглаж буй RPi загвараас хамаарна.
Хоёрдугаарт, би залгуурын холболтын эерэг төгсгөлд 5в кабелийг LED -ээс (улаан кабель) холбосон. Миний хөтөч дээр нэмэлт газардуулгын кабель болон мэдээллийн кабель (цагаан кабель) дээр холбогч утас холбогч байв. Би нэмэлт газардуулгын кабелийг зүгээр л үл тоомсорлов, энэ нь миний тохиргоонд шаардлагагүй байсан. Өгөгдлийн кабель дээр би эрэгтэй, эмэгтэй холбогчийг gpio pin 12 -тэй холбосон бөгөөд таны ашиглах ёстой зүү нь таны RPi -ээс хамаарна. Дараа нь би RPi болон пикселийн тэжээлийн тэжээлээ залгасан. Хэрэв бүх зүйл зөв утастай байвал ледүүд богино хугацаанд асав.
Алхам 4: RPi -г эхлүүлнэ үү
Дараа нь RPi -ийг эхлүүлэхийн тулд нэг минутын хугацаа өгсний дараа би IP хаягийг бөөрөлзгөнөөс nmap ашиглан хайлаа. Гэхдээ ямар ч сүлжээний сканнер, таны чиглүүлэгчийн мэдээллийн самбар эсвэл ихэнх тохиолдолд "raspberrypi.local" хийх болно. Энэхүү мэдээллийн тусламжтайгаар би RPi -т ssh -ээр холбогдсон. Анхдагч хэрэглэгч нь бөөрөлзгөнө гэсэн нууц үгтэй pi юм. Энэ бол миний анхны нэвтрэлтийн дараа шууд passwd ашиглан өөрчилсөн зүйл юм. Хэрэв та өөрийн сүлжээнд гаднаас pi -д ssh -ээр нэвтрэхийг хүсч байвал fail2ban болон түлхүүр баталгаажуулалтыг анхаарч үзэх хэрэгтэй. Би хувьдаа ийм хэрэглээний кейс байхгүй тул нууц үгээ үлдээх болно.
Хоёрдугаарт, би програмыг 'sudo apt update && sudo apt upgrade -Y` ашиглан шинэчилсэн. Мөн надад Liby `sudo apt-get install scons swig git python-dev build-essential -Y` -г эмхэтгэх нэмэлт програм хангамж хэрэгтэй байсан. Дараа нь би Жереми Гарфаас маш сайн чөлөөг github `git clone дээр хуулж авсан https:// github.com/jgarff/rpi_ws281x.git`. Үүний дараа либерийг клонд хийсний дараа би rpi_ws281x лавлах руу очоод scons ашиглаад дараа нь libary -ийг sudo python python/setup.py install суулгав. Питон/жишээнд "sudo python python/Examples/strandtest.py" -ээс эхлүүлж болох үнэхээр нямбай хөдөлгөөнт дүрс бүхий "strandtest.py" гэсэн сайхан демо байдаг.
Алхам 5: Pi-Hole
Сүлжээний өргөн хориглогч үүсгэхийн тулд Pi-Hole нь төгс төгөлдөр юм. Энэ нь зүгээр л `sudo curl -sSL ашиглан суулгадаг https://install.pi-hole.net | bash`. Гайхамшигтай хэсэг нь вэб серверийг тохируулах явдал юм.
Суулгагчийг ажиллуулсны дараа та чиглүүлэгчийнхээ админ сайт руу нэвтэрч, RPi-д статик IP хаягийг өгч DHCP сервер болгон тохируулахыг хүсэх болно. Хэрэв та түрээсийн хугацааг бага тогтоосон бол таны PI нүх одоо ажиллах ёстой.
Алхам 6: Гэрлийг хянах
Неопикселийг хянах хамгийн хялбар арга бол жижиг питон програмууд юм. Гэхдээ гэрлийг асаах бүртээ ssh ашиглах нь ялангуяа гар утасны төхөөрөмжид тохиромжгүй байдаг. Тиймээс би жижиг вэбсайтыг алсын удирдлага болгон ашиглахаар шийдсэн. Энэ бол аюулгүй байдлын эрсдэл юм, учир нь би www-data root зөвшөөрлийг нууц үгийн баталгаажуулалтгүйгээр өгсөн. Та энэ сайтыг лангаас гадуур байрлуулах ёсгүй байх.
PI цооног ба гэрлийн алсын удирдлага хоёрын хооронд сонголт хийхэд хялбар болгох үүднээс би хэрэглэгчид pi бичихийг sudo chown -R pi/var/www.html` ашиглан/var/www/html -д бичих эрхийг өгсөн бөгөөд би index.php файлыг/var/www/html/дотор. Энгийн зүйл шиг:
~~~
Индекс Pi нүх Гэрлийн алсын удирдлага
~~~
сайхан юм. Дараа нь би гэрэл гэж нэрлэгддэг шинэ хавтас үүсгэж, неопикселээс авахуулаад бүх зүйлийг хамтад нь байрлуулсан. Энд би либериалаас авсан strandtest.py дээр үндэслэн colour.py үүсгэсэн.
~~~
neopixel import -аас * # Зарим номын санг импортлох
sys импортлох
def led (зурвас, өнгө, эхлэх, төгсгөл): # LED -ийг дуудах функцийг үүсгэнэ
i -ийн хувьд (эхлэл, төгсгөл):
strip.setPixelColor (i, өнгө)
strip.show ()
BRIGHTNESS = int (sys.argv [4]) # Командын мөрийн дөрөв дэх параметр нь тод байх болно. (1-255)
COUNT = 50 # LED -ийн хэмжээ PIN = 12 # RPi дээр ашигладаг зүү
FREQ_HZ = 800000 # LED дохионы давтамж (ихэвчлэн 800 кГц)
DMA = 5 # дохио үүсгэхэд ашиглах DMA суваг (5 -ийг туршиж үзээрэй)
INVERT = False # Үнэн дохиог эргүүлэх (NPN транзисторын түвшинг ашиглах үед)
strip = Adafruit_NeoPixel (COUNT, PIN, FREQ_HZ, DMA, INVERT, BRIGHTNESS)
strip.begin ()
R = int (sys.argv [1]) # Улаан өнгийн хэмжээ нь эхний параметр юм
G = int (sys.argv [2]) # Ногоон хэмжээ нь хоёр дахь параметр юм
B = int (sys.argv [3]) # Цэнхэр өнгө нь гурав дахь параметр юм
оролдоно уу:
leds (зурвас, Өнгө (R, G, B), 0, 49) #Летийг сонгосон өнгө, тодоор эхлүүлнэ.
Keyboard тасалдалаас бусад:
өнгө (зурвас, Өнгө (0, 0, 0), 0, 49)
~~~
Хэрэв та үүнийг терминал дээр sudo ашиглан ажиллуулбал гэрэл нь заасан өнгөөр асах ёстой. Www-data sudo зөвшөөрлийг өгөхийн тулд би root хэрэглэгчийн доорх sudoers файлд (/etc/sudoers) www www data ALL = (ALL) NOPASSWD: ALL) `нэмсэн.
Алхам 7: Хөтөчийн тусламжтайгаар гэрлээ асаана уу
Дараа нь би өөр index.php үүсгэсэн, энэ удаад /гэрэл. ~~~
< ?php $R = 100; $G = 100; $B = 100; $BRIGHTNESS = 100; exec("sudo python colour.py $R $G $B $BRIGHTNESS"); ?>
~~~
Би одоо raspberrypi.local/lights/index.php хаягаар зочлоход ледүүд цагаан болж хувирна. Хэдийгээр энэ бол сайхан эхлэл боловч алсын удирдлага дээр ядаж хэдэн товчлуур дарах дуртай.
Алхам 8: Хөтчөөс гэрлийг хянах
Би html хэлбэрийг ашиглан өгзөг бүхий интерфэйс үүсгэсэн. Шаардлагагүй зүйлийг хийх дургүй тул толгой, хөл, php код бүхий загвар нэртэй хавтас үүсгэсэн байна.
~~~
~~~
Товчлууруудыг ажиллуулахын тулд BasicControl.php загвар хийв. Үүн дээр би товчлуур дарагдсан үед гүйцэтгэх кодыг зааж өгсөн. Надад хамгийн сонирхолтой анимэйшнүүд таалагдсан болохоор би ч бас үүнийг оруулсан. Хамгийн хэцүү нь эцэс төгсгөлгүй үргэлжлэх тул би хүссэн үедээ процессыг зогсоох өөр товчлуур хийсэн.
~~~ <? php
$ I = 100;
$ R = 0;
$ G = 0;
$ B = 0;
if (isset ($ _ POST ['strandtest_start']))) {exec ("sudo python strandtest.py"); }
else if (isset ($ _ POST ['strandtest_stop']))) {exec ("sudo pkill -9 -f strandtest.py"); }
өөр бол (isset ($ _ POST ['улаан']))) {$ R = 255; $ G = 0; $ B = 0; exec ("sudo python colour.py $ R $ G $ B $ I"); }
өөр бол (isset ($ _ POST ['ногоон']))) {$ R = 0; $ G = 255; $ B = 0; exec ("sudo python colour.py $ R $ G $ B $ I"); }
өөр бол (isset ($ _ POST ['цэнхэр']))) {$ R = 0; $ G = 0; $ B = 255; exec ("sudo python colour.py $ R $ G $ B $ I"); }
өөр бол (isset ($ _ POST ['цагаан']))) {$ R = 255; $ G = 255; $ B = 255; exec ("sudo python colour.py $ R $ G $ B $ I"); }
if if (isset ($ _ POST ['off']))) {shell_exec ('sudo python off.py'); }
өөр бол (isset ($ _ POST ['reboot']))) {shell_exec ('sudo одоо дахин ачаална уу'); }?>
~~~
Алхам 9: Толгой ба доод хэсэгт загвар үүсгэх
Одоо энэ бүхэн ажиллаж байгаа боловч харахад тийм ч таатай биш байна. Толгой ба хөлийг импортлосны дараа сайтын бүх элементүүдийг ашиглах боломжтой, зөвхөн загварлаг биш юм.
Header.php:
~~~
Гэрэл
Лампжес
Үндсэн хяналтууд
Нарийвчилсан хяналт
~~~
Мөн footer.php:
~~~
~~~
Алхам 10: Бүгдийг арай илүү сайн болгохын тулд зарим CSS
Та анзаарсан байх, би зохион байгуулалтыг хянахын тулд CSS файлыг ашиглаж байна. Миний алсын удирдлагыг жижиг дэлгэц дээр ашиглах боломжтой эсэхийг шалгахын тулд би autowrap бүхий CSS уян хатан хайрцгийг ашигласан.
~~~
/ * Гэрлийн хяналтын интерфэйсийн загварын хуудас *
* Хуудас бүрт хамаарна */
биеийн {дэвсгэр өнгө: f9fcfa; фонт-гэр бүл: Arial; зах: 0; }
h1 {өнгө: цагаан; текстийг зэрэгцүүлэх: төв; }
p {font-family: verdana; фонтын хэмжээ: 20 пиксел; }
h2 {}
/ * Толгой хэсэг */
. толгой {өндөр: 10%; дэлгэц: уян хатан байдал; justify-content: уян хатан эхлэх; align-items: төв; маржин: 0 пиксел; зүүн дүүргэлт: 5%; дэвсгэр:#3F51B5; align-items: төв; }
. HeaderLinks {өнгө: цагаан; }
.navbar {дэлгэц: уян хатан; уян хатан байдал: 30%; зөвтгөх-агуулга: орон зайг тойрон хүрээлэх; дэвсгэр өнгө: #3F51B5; өнгө: цагаан; }
/ * Хөлийн хэсэг */
.footer {background-color: #3F51B5; өндөр: 10%; текстийг тэгшлэх: төв; }
/ * Index.php */
.товчлуурууд {дэлгэц: flex; уян хатан чиглэл: эгнээ; уян боолт: боох; justify-content: хоорондын зай; өндөр: 80%; align-items: flex-start; }
.buttons_index {дүүргэлт: 0%; хилийн өргөн: нимгэн; хилийн хэв маяг: хатуу; хилийн өнгө: хар; дэвсгэр өнгө: #3949ab; өнгө: цагаан; фонт-гэр бүл: sans-serif; өргөн: 24%; өндөр: 20%; }
.buttons_index: hover {бөглөх: 0%; хилийн өргөн: нимгэн; хилийн хэв маяг: хатуу; хилийн өнгө: хар; дэвсгэр өнгө: #536DFE; өнгө: цагаан; фонт-гэр бүл: sans-serif; өргөн: 24%; өндөр: 20%; }
~~~
Алхам 11: Баярлалаа
Тэгээд л боллоо. Бүх зүйл миний төлөө ажилладаг бөгөөд хэрэв та миний зааж өгсөн зүйлийг туршиж үзвэл энэ нь танд бас тус болно гэж найдаж байна. Хэрэв та ямар нэгэн кодыг хуулах гэж оролдсон бол энд байршуулах хэдэн зай нэмж оруулах шаардлагатай болсон тул код дахин ашигтай болохоос өмнө та тэдгээрийг устгах хэрэгтэй болно.
Та бүх зүйлийг унших дуртай байсан гэж найдаж байна. Хэрэв танд санал хүсэлт байвал би үүнийг сонсох дуртай байсан!
Зөвлөмж болгож буй:
3.5 инчийн дэлгэцтэй PiHole зар хаагч: 8 алхам (зурагтай)
PiHole Ad Blocker 3.5 "дэлгэцтэй: Бүх сүлжээндээ үнэхээр гайхалтай зар хаагч хэрхэн бүтээх тухай миний хичээлд тавтай морилно уу! Raspberry Pi нь Pi-Hole болон PADD гэгддэг програмыг ажиллуулж зар сурталчилгааг хаах, Pi- гэх мэт статистик мэдээллийг харуулдаг. Нүхний IP хаяг ба зарын тоо
Raspberry Pi ашиглан сүлжээгээр зар сурталчилгаа хаах: 4 алхам
Raspberry Pi-ээр сүлжээгээр зар сурталчилгаа хаах: Илүү цэвэр, илүү хурдан вэбийг мэдэрч, Pi-hole болон Raspberry Pi ашиглан гэрийнхээ бүх сүлжээнд ядаргаатай зар сурталчилгааг хаах
Сүлжээний өргөн зар хаагч болох Raspberry Pi дээр Pi-Hole-ийг хэрхэн тохируулах вэ?: 25 алхам
Сүлжээний өргөн зар хаагч бөөрөлзгөнө Pi дээр Pi-Hole-ийг хэрхэн тохируулах вэ !!: Энэ төслийн хувьд танд дараахь зүйлс хэрэгтэй болно: интернетэд холбогдох чадвартай Raspberry Pi нь Raspbian LiteA гарыг ажиллуулдаг Micro SD карт Төхөөрөмж (Вэб портал руу нэвтрэхийн тулд) UNIX -ийн үндсэн мэдлэг, түүнчлэн интерфэйс навигацийн талаар
Зөөврийн зар сурталчилгааг ердөө 10 алхамаар хямд үнээр хийх боломжтой!: 13 алхам (зурагтай)
Зөөврийн сурталчилгааны тэмдгийг 10 -хан алхамаар хямд үнээр бичээрэй !!: Хямд, зөөврийн зар сурталчилгааны тэмдэгийг өөрөө хий. Энэ тэмдгийн тусламжтайгаар та өөрийн мессеж эсвэл логог хотын аль ч хэсэгт харуулах боломжтой. Энэхүү зааварчилгаа нь https://www.instructables.com/id/Low-Cost-Illuminated
100% үнэгүй вэбсайт хийх! Зар сурталчилгаа, вирус байхгүй!: 7 алхам
100% үнэгүй вэбсайт хийх! Зар сурталчилгаа, вирус байхгүй !: Вэбсайт " yola " бол үнэгүй вэбсайт хийх гайхалтай вэбсайт юм. Хувийн вэбсайт эсвэл компанийн вэбсайт, тэр ч байтугай нууц үгээр хамгаалагдсан сайт, та үүнийг өөрөө үүсгэж болно, кодын мэдлэг шаардлагагүй боловч энэ нь туслах болно