Mündəricat:

Raspberry Pi ilə Veb səhifə/WiFi İdarə olunan LED Şeridi: 9 Addım (Şəkillərlə)
Raspberry Pi ilə Veb səhifə/WiFi İdarə olunan LED Şeridi: 9 Addım (Şəkillərlə)

Video: Raspberry Pi ilə Veb səhifə/WiFi İdarə olunan LED Şeridi: 9 Addım (Şəkillərlə)

Video: Raspberry Pi ilə Veb səhifə/WiFi İdarə olunan LED Şeridi: 9 Addım (Şəkillərlə)
Video: Ethernet və wi-fi ilə Dingtian DT-R008 çoxkanallı ağıllı rele - ümumi baxış və Home Assistant 2024, Iyul
Anonim
Raspberry Pi ilə Veb səhifə/WiFi İdarə olunan LED Şeridi
Raspberry Pi ilə Veb səhifə/WiFi İdarə olunan LED Şeridi

Fon:

Mən yeniyetməyəm və son bir neçə ildir ki, robototexnika yarışlarında iştirak etməklə yanaşı, kiçik elektronika layihələri hazırlayır və proqramlaşdırıram.

Bu yaxınlarda masamın quruluşunu yeniləmək üzərində işləyirdim və qərara aldım ki, gözəl bir əlavə əhval işıqlandırması olacaq. Əvvəlcə pultla idarə olunan 5v batareya ilə işləyən LED şeridi aldım, amma bu, çox yerinə yetirici bir proses deyildi və bir fikrim var idi. Ətrafımda bir neçə ehtiyat hissəm vardı və Milad üçün aldığım Raspberry Pi ilə əlaqəli bir şey düşünməyə çalışırdım. Elm dərsində xüsusilə darıxdırıcı bir gündə, RGB dəyərlərini çıxardığım müddətcə LED işıqlarını idarə etmək üçün Raspberry Pi -nin GPIO pinlərindən istifadə edə biləcəyimi başa düşdüm.

İlkin dizayn planım, işıqları divarımda və ya masamda quraşdırılmış bir toxunma ekranı ilə idarə etmək idi, amma bəzi düzəlişlərdən sonra getməyin ən asan yolunun başqa bir cihazla idarə edilməsinə qərar verdim. Java -da telefonum üçün bir tətbiq yazmağı düşünsəm də, kiçik bir veb sayt daha təsirli görünürdü.

Bu layihə bir çox təkmilləşdirmələrə açıqdır və mənim html + php bir növ cızıqlı olsa da, işi tamamlayırlar

Mövzular:

Bu bələdçinin vuracağı əsas məqamlar ---

  1. Raspberry Pi -də GPIO -ya nəzarət
  2. Pi -də bir Apache veb serverinə ev sahibliyi etmək
  3. RGB LED işıq şeridini idarə etmək üçün veb serverdən istifadə

Addım 1: Lazımi Materiallar və Təchizatlar

  • 1 x Raspberry Pi (Pi 2 Model B istifadə etdim)
  • MicroSD kartı
  • Pi -nizi gücləndirəcək bir şey (USB kabel və AC güc adapteri)
  • 1 x USB WiFi adapteri və ya Ethernet bağlantısı
  • Serial Kabelə 1 x USB -
  • 1 x GPIO qırılması -
  • 1 x kiçik çörək taxtası -
  • MicroSD -dən USB -
  • Bərk nüvəli telin çoxlu rəngləri
  • Bir qəfəs
  • 3 x NPN tipli tranzistorlar (BC547b tranzistorlarından istifadə etdim)
  • 1x 5V LED işıq şeridi
  • Qadın -Kişi tullanan telləri -

Addım 2: Pi mühitinin qurulması

Pi mühitinin qurulması
Pi mühitinin qurulması
Pi mühitinin qurulması
Pi mühitinin qurulması

Rəfimdə fərqlənməmək üçün layihəni bağlamaq üçün əyilmiş plastik qutudan istifadə etdim. Serial USB kabel üçün yan delik açdım və Pi -ni çörək taxtasının və Pi Wedge -in yanında yerləşdirdim.

Addım 3: Pi qurmaq (1 -ci hissə)

Pi qurmaq (1 -ci hissə)
Pi qurmaq (1 -ci hissə)

Bu layihə üçün masa üstü olmayan Raspbian-ın ən son versiyasını istifadə etdim

Raspbian -ı necə quracağınıza dair bir təlimatı burada tapa bilərsiniz:

(Kompüteriniz üçün USB -dən microSD adapterə ehtiyacınız ola bilər)

Raspbian SD karta quraşdırıldıqdan sonra onu Raspberry Pi -yə qoşmağa və Ethernet kabelini və ya USB WiFi adapterini Pi -yə qoşmağa davam edə bilərsiniz.

Sonra, kompüteriniz vasitəsilə Raspberry Pi -nin terminalı ilə əlaqə qurmağa imkan verən Tera Term -i kompüterinizə quraşdırın:

Sonra, USB yuva kabelini Pi yuvasından PC -yə qoşun. Tera Term vasitəsilə əldə edilə bilər. Serial port baud dərəcəsinin 115200 olaraq təyin olunduğundan əmin olun.

Birincisi, Pi, OS düzgün qurulubsa, daxil olmaq üçün bir sorğu göndərəcək

Varsayılan istifadəçi adı və şifrə:

İstifadəçi adı: pi

Şifrə: moruq

Addım 4: Pi qurmaq (2 -ci hissə)

WiFi qurmaq

Terminalda əmri işlədin

sudo nano/etc/network/interfeysləri

Sonra bu kodu yapışdırın və routerinizin adı və şifrəsi ilə SSID və PSK -ı əvəz edin

avtomatik bax

iface lo inet loopback iface eth0 inet dhcp allow-hotplug wlan0 avtomatik wlan0 iface wlan0 inet dhcp wpa-ssid "ssid" wpa-psk "parol"

Bu fayl Pi -nin WiFi -ə qoşulmasına imkan verir

Sonra Pi ilə xətti yenidən başladın

sudo yenidən başladın

Veb Serverin Quraşdırılması

Daxil olun və sonra Apache serverini quraşdırın

sudo apt -get apache2 -y quraşdırın

sudo apt-get php libapache2-mod-php -y qurun

Pi -nin IP ünvanını tapmaq üçün əmri işlədin

ev sahibi -I

İşlədiyini yoxlamaq üçün göstərilən IP -yə daxil olmaq üçün gözdən keçirin.

Məsələn, Google Chrome -da ünvan çubuğuna 192.168.1.72 yazardım.

İzləməli olduğunuz sənədləri https://www.raspberrypi.org/documentation/remote-a… tapa bilərsiniz.

GPIO pinləri üzərindən göndərilən məlumatları idarə etməyə imkan verən PiGPIO kitabxanasının da quraşdırılması lazımdır.

sudo apt-get install-essential açmaq wget

wget https://abyz.me.uk/rpi/pigpio/pigpio.zip && unzip pigpio.zip && cd PIGPIO && sudo qurun

Addım 5: Kod yazmaq

Xətti ilə/var/www/html -ə gedin

cd/var/www/html

Kataloqda redaktə etməyiniz lazım olan standart bir html faylı olacaq.

sudo nano index.html

Nanonun içərisində olan hər şeyi silin və aşağıdakı kodla əvəz edin.

(Tera Term, kopyalamaq və yapışdırmaqla bir az əyləncəli ola bilər, amma ümumiyyətlə mətni kopyaladıqdan sonra alt+v işi görməlidir)

readRGB (color) funksiyası {if (color.length == 0) {document.getElementById ("txtHint"). innerHTML = ""; qayıtmaq; } başqa {var xmlhttp = yeni XMLHttpRequest (); xmlhttp.onreadystatechange = function () {if (this.readyState == 4 && this.status == 400) {document.getElementById ("txtHint"). innerHTML = this.responseText; }}; temp = encodeURIComponent (rəng); xmlhttp.open ("GET", "action_page.php? q =" + temp, doğru); xmlhttp.send (); }} Rəng seçin:

Sonra index.html yerinə main.html olaraq qeyd edin

Yuxarıdakı kod, basdığınız düymə və seçdiyiniz rəngi digər fayla göndərən kod kimi çıxış edir.

Sonra, əmri işə salın

sudo nano

və yapışdırın

$ r $ g $ b ;

exec ("donuz p 17 $ g"); exec ("donuzlar p 22 $ r"); exec ("donuzlar p 22 $ b"); ?>

və action_page.php olaraq qeyd edin

Bu kod RGB dəyərini alır və LED şeridində PWM dəyərlərini təyin edir.

Addım 6: Dövrə Dizaynı

Dövrə Dizaynı
Dövrə Dizaynı

İndi bütün proqramlar qurulduqdan sonra, hardware üzərində işləməyin vaxtıdır.

Dövrün məqsədi PWM (Pulse Width Modulated) siqnallarını Pi -dən LED massivinə göndərməkdir.

LED şeridin dörd sancağı var: qırmızı, yaşıl, mavi və güc (mənim vəziyyətimdə 5 volt).

Hər bir PWM pin, bir keçid rolunu oynayan bir tranzistor vasitəsilə üç rəngdən birini idarə edir.

Hər bir tranzistorda üç sancaq var: kollektor, baza və yayıcı.

PWM siqnalı iş dövrünü idarə edir (açarın nə qədər açılıb söndüyü).

İş dövrü, işıqların daha qaranlıq və ya daha parlaq olması ilə nəticələnir.

İşıqlar çox tez açıldığından və söndüyündən insanlar onu fərqli parlaqlığa malik bərk işıq kimi görürlər.

DİQQƏT: Şematik olaraq, LED simvolları LED aralığını və tel içərisindəki cərəyanı məhdudlaşdıran rezistorları təmsil edir.

Addım 7: Çörəyinizi yağlayın… Lövhə

Çörəyinizi yağlamaq… Lövhə
Çörəyinizi yağlamaq… Lövhə

Əlaqələr qurarkən Pi -ni söndürdüyünüzdən əmin olun.

Pi pazını bir sıra sancaqlar ilə çörək taxtasının yarısına yerləşdirin və lent kabel ilə Pi -yə bağlayın. Çörək taxtasındakı qarışıqlığı azaltmaq və təsadüfən heç bir şeyin ayrılmayacağına əmin olmaq üçün möhkəm nüvəli tel istifadə etdim.

Transistorları çörək taxtasının yuxarı yarısına (sütun A) yerləşdirin və aşağı hissədəki LED sırasını birləşdirin (H, I və ya J satırları).

Mənfi elektrik rayını pazdakı GND pininə, müsbət rayı isə 5V pininə bağlayın.

Müsbət elektrik rayını LED serialının enerji təchizatı pininə qoşun.

Hər bir tranzistor üçün, emitör pinini mənfi elektrik rayına bağlayın və kollektor pinini LED dizisinin sancaqlarına uyğun olan ayrı satırlara bağlayın (1 -ci sıranı 5v, 2, 3 və 4 -ü yaşıl, qırmızı və mavi kimi istifadə etdim, f) sütununda. Sonra, çörək taxtasından LED şeridinə dörd kişi və dişi tullanan tel bağlayın.

Nəhayət, yaşıl tranzistorun əsas pimini kəmərdəki 17 -ci pinlə, qırmızı tranzistorun əsasını 22 -ci pinlə və mavi tranzistorun əsasını 24 -cü pinlə birləşdirin.

Addım 8: Test

Test
Test

Veb brauzerində Pi -nin IP ünvanına gedin və sonra /main.html yazın

Bir rəng seçin və "müasir texnologiyanın möcüzələrinə" heyran olun!

Addım 9: Hər hansı bir sualınız/geribildiriminiz varsa mənimlə əlaqə saxlayın

Hər hansı bir sualınız və ya təklifiniz varsa, mənə bir şərh yazın və ya DM yazın, ən qısa zamanda cavab verməyə çalışacağam.

Uğurlar!

Tövsiyə: