Spisu treści:

Kontrolowana przez Wi-Fi taśma LED 12V za pomocą Raspberry Pi z Taskerem, integracja Ifttt.: 15 kroków (ze zdjęciami)
Kontrolowana przez Wi-Fi taśma LED 12V za pomocą Raspberry Pi z Taskerem, integracja Ifttt.: 15 kroków (ze zdjęciami)

Wideo: Kontrolowana przez Wi-Fi taśma LED 12V za pomocą Raspberry Pi z Taskerem, integracja Ifttt.: 15 kroków (ze zdjęciami)

Wideo: Kontrolowana przez Wi-Fi taśma LED 12V za pomocą Raspberry Pi z Taskerem, integracja Ifttt.: 15 kroków (ze zdjęciami)
Wideo: PODŚWIETLANIE LITERY LED RGB oraz chiński sterownik LED RGB WiFi H801 ESP8266 | Szybki SZMAL #2 2024, Lipiec
Anonim
Kontrolowana przez Wi-Fi taśma Led 12v za pomocą Raspberry Pi z Taskerem, integracją Ifttt
Kontrolowana przez Wi-Fi taśma Led 12v za pomocą Raspberry Pi z Taskerem, integracją Ifttt
Kontrolowana przez Wi-Fi taśma Led 12v za pomocą Raspberry Pi z Taskerem, integracją Ifttt
Kontrolowana przez Wi-Fi taśma Led 12v za pomocą Raspberry Pi z Taskerem, integracją Ifttt

W tym projekcie pokażę, jak sterować prostym analogowym paskiem ledowym 12V przez wifi za pomocą raspberry pi.

Do tego projektu będziesz potrzebować:

  • 1x Raspberry Pi (używam Raspberry Pi 1 Model B+)
  • 1x Taśma Led RGB 12v [Ebay Australia]
  • 3x IRFZ44N N-Channel Mosfet [Ebay Australia]
  • 1x żeński adapter gniazda zasilania DC [Ebay Australia]
  • Niektóre przewody
  • Wyświetlacz, klawiatura (tylko do konfiguracji)

Krok 1: Zainstaluj Raspbian OS w systemie Windows

Zainstaluj Raspbian OS za pomocą systemu Windows
Zainstaluj Raspbian OS za pomocą systemu Windows
Zainstaluj Raspbian OS za pomocą systemu Windows
Zainstaluj Raspbian OS za pomocą systemu Windows
Zainstaluj Raspbian OS za pomocą systemu Windows
Zainstaluj Raspbian OS za pomocą systemu Windows

Aby zainstalować Raspbian z systemem Windows, potrzebujesz:

  • Win32 Disk Imager: [Pobierz]
  • Raspbian OS Lite: [Zip], [Torrent]

**WAŻNE, jeśli zrobisz to źle, możesz stracić wszystkie dane. Przed kontynuowaniem wykonaj kopię zapasową danych**

  1. Podłącz kartę SD do czytnika kart i otwórz Mój komputer
  2. Poszukaj litery dysku
  3. Kliknij prawym przyciskiem myszy Win32DiskImager i kliknij „Uruchom jako administrator”
  4. Następnie kliknij mały niebieski folder i przejdź do swojego obrazu RaspbianOS
  5. Kliknij również pole rozwijane w obszarze Urządzenie i zmień je na literę dysku karty SD
  6. Następnie kliknij „Napisz”
  7. Otworzy się okno dialogowe PRZED naciśnięciem przycisku Tak, sprawdź, czy urządzenie docelowe jest poprawne
  8. Następnie wyjmij kartę SD i włóż ją do gniazda

Krok 2: Zainstaluj Raspbian OS w systemie Mac OS X

Zainstaluj Raspbian OS używając Mac OS X
Zainstaluj Raspbian OS używając Mac OS X
Zainstaluj Raspbian OS używając Mac OS X
Zainstaluj Raspbian OS używając Mac OS X
Zainstaluj Raspbian OS używając Mac OS X
Zainstaluj Raspbian OS używając Mac OS X
Zainstaluj Raspbian OS używając Mac OS X
Zainstaluj Raspbian OS używając Mac OS X

Aby zainstalować Raspbian na Macu, potrzebujesz:

  • ApplePi-Baker [Pobierz]
  • Raspbian OS Lite: [Zip], [Torrent]

**WAŻNE, jeśli zrobisz to źle, możesz utracić wszystkie dane. Przed kontynuowaniem wykonaj kopię zapasową danych**

  1. Otwórz Narzędzie dyskowe i poszukaj karty SD po lewej stronie, a następnie kliknij ją
  2. Poszukaj „Urządzenie” na dole okna, powinieneś zobaczyć coś takiego jak diskXsX, gdzie x jest liczbą
  3. Zapamiętaj numer „urządzenia” i otwórz ApplePi-Baker
  4. Poprosi Cię o hasło, ponieważ musi sformatować kartę SD
  5. Kliknij numer „Urządzenia”, który znajduje się po /dev/ po lewej stronie
  6. Kliknij „Przywróć kopię zapasową” Przejdź do swojego obrazu RaspbianOS.
  7. Rozpocznie się wymazywanie karty SD i zainstalowanie na niej Raspbian
  8. Kiedy to zrobisz, pojawi się okienko z ostrzeżeniem, które mówi, że możesz wyjąć kartę SD, wyjmij ją i włóż do swojego pi.

Krok 3: Konfiguracja Pi

Przed włączeniem pi musisz podłączyć wyświetlacz HDMI, klawiaturę i kabel Ethernet lub wifi usb (skonfigurujemy to w następnym kroku).

Włącz pi, Zobaczysz kilka tekstów wypełniających ekran, Jest to normalne i jest częścią uruchamiania jądra Linux. Poczekaj chwilę, aż zobaczysz

malinowy login:

Twoja nazwa użytkownika to pi, a hasło to malina (nie zobaczysz nic wpisanego na ekranie, ale nadal jest wprowadzane)

Następnie po zalogowaniu zobaczysz:

Następnie musisz wpisać:

sudo raspi-config

Twój ekran zostanie wtedy wypełniony niebieskim ekranem z opcjami w szarym polu pośrodku,

  1. Używając klawiszy „w górę” i „w dół”, zaznacz i naciśnij Enter na opcji „Rozwiń system plików” po kilku sekundach zostaniesz przeniesiony do alertu, że „root filesystem został zmieniony”, kliknij Enter
  2. Następnie naciśnij strzałkę w dół i przejdź do opcji rozruchu i kliknij enter, a następnie kliknij enter po wybraniu „Desktop / CLI”, następnie podświetl „Console Autologin” i kliknij enter
  3. Następnie wybierz Opcje zaawansowane i kliknij enter
  4. Następnie przewiń w dół do ssh i kliknij enter, a następnie wybierz tak
  5. następnie naciśnij strzałkę w prawo, aż podświetli się tył i naciśnij enter
  6. Następnie ponownie przejdź na dół i kliknij Zakończ, a następnie powiedz tak, aby ponownie uruchomić

Po ponownym uruchomieniu, jeśli jesteś podłączony przez Ethernet, musisz wprowadzić to polecenie, aby znaleźć swój adres IP, abyśmy mogli ssh do pi

Znajdź adres IP:

nazwa hosta -I

Krok 4: Skonfiguruj Wi-Fi

Aby skonfigurować wifi na pi, musimy edytować plik

1. wejdź do wiersza poleceń

sudo nano /etc/wpa_supplicant/wpa_supplicant.conf

2. Przejdź na koniec pliku i wpisz

sieć={

ssid="Twoja_nazwa_Wifi" psk="Twoje_hasło_wifi" }

3. Następnie zrestartuj swoje pi za pomocą

ponowne uruchomienie sudo

Po ponownym uruchomieniu pi uzyskaj jego adres IP, wpisując

nazwa hosta -I

powinieneś otrzymać swój adres IP Ale jeśli zwrócony tekst jest pusty, oznacza to, że pi nie może połączyć się z twoją siecią. dokładnie sprawdź, czy poprawnie wpisałeś nazwę i hasło Wi-Fi, ponieważ wielkość liter jest rozróżniana.

Krok 5: Zdalnie połącz się z Pi za pomocą systemu Windows

Zdalnie połącz się ze swoim Pi za pomocą systemu Windows
Zdalnie połącz się ze swoim Pi za pomocą systemu Windows
Zdalnie połącz się ze swoim Pi za pomocą systemu Windows
Zdalnie połącz się ze swoim Pi za pomocą systemu Windows
Zdalnie połącz się ze swoim Pi za pomocą systemu Windows
Zdalnie połącz się ze swoim Pi za pomocą systemu Windows
Zdalnie połącz się ze swoim Pi za pomocą systemu Windows
Zdalnie połącz się ze swoim Pi za pomocą systemu Windows

Teraz, gdy mamy połączenie pi z internetem, możemy usunąć klawiaturę i wyświetlacz, a następnie połączyć się z nim zdalnie za pomocą "ssh"

Aby ssh do pi z Windows, musisz pobrać

kit: [Pobierz]

  1. Otwórz kit, w polu adresu IP wpisz ip raspberry pi, a następnie naciśnij open
  2. pojawi się okno dialogowe, które wygląda jak na obrazku 2, naciśnij tak
  3. zobaczysz nowe okno dialogowe z napisem „zaloguj się jako” wpisz „pi”
  4. wtedy poprosi o hasło wpisz "malin"

Jesteś teraz połączony z pi przez ssh

Krok 6: Zdalnie połącz się z Pi za pomocą komputera Mac

Zdalnie połącz się ze swoim Pi za pomocą komputera Mac
Zdalnie połącz się ze swoim Pi za pomocą komputera Mac
Zdalnie połącz się ze swoim Pi za pomocą komputera Mac
Zdalnie połącz się ze swoim Pi za pomocą komputera Mac
Zdalnie połącz się ze swoim Pi za pomocą komputera Mac
Zdalnie połącz się ze swoim Pi za pomocą komputera Mac
Zdalnie połącz się ze swoim Pi za pomocą komputera Mac
Zdalnie połącz się ze swoim Pi za pomocą komputera Mac

Teraz, gdy mamy połączenie pi z Internetem, możemy usunąć klawiaturę i mysz i zdalnie połączyć się z nimi za pomocą "ssh"

1. Otwórz "Terminal"

2. Wpisz

ssh pi@ADRES_IP

3. Następnie możesz otrzymać komunikat, że klucz hosta nie jest zapisany, po prostu wpisz „tak”

4. Następnie po wypromowaniu wprowadź hasło raspberry pi, które brzmi "Raspberry"

Jesteś teraz połączony z pi przez ssh

Krok 7: Instalacja oprogramowania

Ponieważ mamy teraz zdalny dostęp do pi, musimy zainstalować oprogramowanie do sterowania paskiem led

Będziemy musieli zainstalować

  • pigpio (To zmienia wszystkie piny GPIO z cyfrowego na PWM)
  • flask (skrypt po stronie serwera, który komunikuje się z pigpio i serwerem WWW)
  • apache2 (serwer WWW)

Zainstaluj pigpio

1. Najpierw musimy pobrać folder zip zawierający nieskompilowane oprogramowanie pigpio, używając tego polecenia

wget

2. Następnie musimy rozpakować i przejść do katalogu

rozpakuj pigpio.zip && cd PIGPIO

3. teraz, gdy jesteśmy w katalogu, musimy skompilować i zainstalować oprogramowanie

make -j4 && sudo make install

4. Teraz otwórz rc.local, abyśmy mogli powiedzieć pi, aby uruchomił piodię podczas uruchamiania

sudo nano /etc/rc.local

potem tuż przed wyjściem z linii wejdź

sudo świni

Zainstalowałeś teraz oprogramowanie pigpio

Zainstaluj kolbę

najpierw musimy zaktualizować listę oprogramowania, aby to zrobić wprowadź

aktualizacja sudo apt && aktualizacja sudo apt -y

następnie zainstaluj pip

sudo apt-get zainstaluj python-pip

teraz możemy zainstalować kolbę

kolba instalacyjna sudo pip

Zainstaluj Apache2

sudo apt-get zainstaluj apache2 -y

sudo apt-get zainstaluj libapache2-mod-wsgi -y

Zainstaluj git

sudo apt zainstaluj git -y

Po zakończeniu instalacji zamknij pi za pomocą

wyłączanie sudo teraz

Krok 8: Podłączanie zasilania

Podłączanie zasilania
Podłączanie zasilania
Podłączanie zasilania
Podłączanie zasilania
Podłączanie zasilania
Podłączanie zasilania

Najpierw musimy podłączyć złącze zasilania do płytki do chleba

  1. Podłącz czarny przewód do ujemnego złącza na gnieździe zasilania
  2. Podłącz czerwony przewód do dodatniego złącza na gnieździe zasilania
  3. Podłącz drugi koniec czerwonego przewodu do dodatniej strony płytki stykowej
  4. Podłącz drugi koniec czarnego przewodu do dodatniej strony płytki stykowej
  5. Następnie podłącz pin uziemiający z pi (jak widać na obrazku) do pinu ujemnego na płytce stykowej

Teraz musimy podłączyć mostfet.

Krok 9: Okablowanie mosfetów i podłączenie Pi

Podłączanie mosfetów i podłączanie Pi
Podłączanie mosfetów i podłączanie Pi
Podłączanie mosfetów i podłączanie Pi
Podłączanie mosfetów i podłączanie Pi
Podłączanie mosfetów i podłączanie Pi
Podłączanie mosfetów i podłączanie Pi
Podłączanie mosfetów i podłączanie Pi
Podłączanie mosfetów i podłączanie Pi

Mosfet pozwala kontrolować, ile mocy może przejść do diod led, będziemy potrzebować trzech mosfetów, ponieważ musimy osobno kontrolować czerwone, zielone i niebieskie światła.

Mosfet ma trzy piny, po lewej pin "Gate" który będzie podłączony do pi aby kontrolować ile mocy może płynąć do diod led

Środkowy pin nazywa się „Drain”, który przejdzie do diod LED i dostarczy napięcie, które bramka pozwala przejść

a pin po prawej to pin "Source". Ten pin trafia do ziemi na płytce stykowej.

Podłączanie czerwonej diody LED

  1. Włóż jeden mosfet do płytki stykowej
  2. podłączyć czarny przewód od GND na płytce stykowej do źródła (prawy pin)
  3. następnie podłącz czerwony przewód od środkowego pinu na mosfecie do czerwonego pinu na pasku led
  4. następnie podłącz czerwony przewód z lewego pinu do GPIO 17 na pi

Podłączanie zielonej diody LED

  1. Włóż drugi mosfet do płytki stykowej
  2. następnie tak jak poprzednio podłącz czarny przewód od GND na płytce stykowej do źródła (prawy pin)
  3. następnie podłącz zielony przewód od środkowego pinu na mosfecie do zielonego pinu na pasku led.
  4. następnie podłącz zielony przewód z lewego pinu do GPIO 22 na pi

Podłączanie niebieskiej diody LED

  1. Włóż ostatni mosfet do płytki stykowej
  2. podłączyć kolejny czarny przewód od GND na płytce stykowej do źródła (prawy pin)
  3. następnie podłącz niebieski przewód od środkowego pinu na mosfecie do niebieskiego pinu na pasku led.
  4. następnie podłącz niebieski przewód z lewego pinu do GPIO 24 na pi

Wtedy będziesz miał jeszcze jeden pin na pasku led, który będzie biały lub czarny, wystarczy podłączyć przewód z dodatniego pinu na płytce stykowej do tego dodatkowego pinu na pasku led

Teraz, gdy skończyliśmy, możemy zacząć to testować.

Krok 10: Pobieranie i testowanie paska Led

Aby pobrać kod źródłowy do sterowania paskiem Led

klon git https://github.com/DavidMontesin/Raspberry-PI-Wifi-Led-Strip.git && cd Raspberry-PI-Wifi-Led-Strip/

Aby przetestować pasek led uruchom plik test.py.

Python Test.py

jeśli z jakiegoś powodu niektóre kolory się nie zapalają, sprawdź, czy wszystko jest prawidłowo podłączone.

jak działa ten skrypt?

jeśli otworzysz skrypt Pythona, możesz się zastanawiać, jak to działa, w pierwszej linii zobaczysz:

czas importu

ta mała biblioteka pozwala nam zatrzymać skrypt, dzięki czemu możemy szybciej włączać światła

importuj pigpio

ta biblioteka pozwala nam komunikować się z paskiem led

pi = pio.pi()

ustaw zmienną, abyśmy mogli użyć pi.set_pw… zamiast pigpio.pi().set_pw…

Czerwona szpilka = 17

Zielona szpilka = 22

Niebieska szpilka = 24

są to tylko zmienne, które pozwalają nam powiedzieć skryptowi, na które diody są podłączone

print("testuje na czerwono")

to po prostu wyświetli tekst w wierszu poleceń

pi.set_PWM_dutycycle (RedPin, 255)

to polecenie jest częścią biblioteki pigpio i mówi, aby ustawić „RedPin”, który wyszukuje numer, który ustawiliśmy wcześniej, i ustawia jasność na „255”, co jest maksymalnym

czas.sen(2)

jest to część biblioteki czasu i po prostu zatrzyma skrypt na 2 sekundy

te miękkie polecenia będą powtarzać się dla innych diod led, aż

pi.stop()

który przestanie rozmawiać z taśmą led i wyłączy wszystkie kolory.

Krok 11: Programowanie skryptu po stronie serwera

**Zanim zaczniesz polecam poczytać o pytonie i kolbie:

Oto kilka poradników:

www.pythonforbeginners.com

docs.python-guide.org/en/latest/intro/learn…

flask.pocoo.org

Ponieważ Main.py znajduje się bezpośrednio w git, ten krok jest tylko wyjaśnieniem kodu.

Najpierw mamy biblioteki

z kolby import Flask, render_template, request

importuj pipio z wątku importuj start_new_thread

wtedy musimy ustawić kilka zmiennych

aplikacja = Kolba(_nazwa_)

CurrentColour = "Biały" RedColourCode = 0 BlueColourCode = 0 GreenColourCode = 0 RedBeforeEffect = 0 BlueBeforeEffect = 0 GreenBeforeEffect = 0 pi = pigpio.pi()

pierwsza zmienna dotyczy flask, czyli naszego serwera WWW, który nazwiemy aplikacją, aby łatwiej było ją wywołać i uruchomić. Następnie jest 6 zmiennych, które pierwsze trzy będą zawierały kolor do zmiany dwóch, a pozostałe trzy będą zawierały poprzedni kolor.

@app.route('/', method=['GET'])

Ten wiersz mówi, że jeśli ktoś wpisze adres IP pi w przeglądarce internetowej, to uruchomi skrypt pod nim, ma również metodę GET, co oznacza, że każdy tekst po ?Color= zostanie przekazany na serwer sieciowy i zostanie służy do zmiany koloru paska led.

def Główny():

globalny BieżącyKolor

tekst def Main() oznacza, że utworzy funkcję o nazwie main, którą można wywołać z dowolnego miejsca w skrypcie. a linia globalna oznacza, że zaktualizuje zmienną w całym skrypcie.

if request.args.get('Kolor'):

CurrentColour=request.args.get('Colour') if CurrentColour == "Biały": FadeTORGB(255, 255, 255) elif CurrentColour == "Red": FadeTORGB(255, 0, 0) elif CurrentColour == "Zielony ": FadeTORGB(0, 255, 0) elif CurrentColour == "DarkBlue": FadeTORGB(0, 0, 255) elif CurrentColour == "LightBlue": FadeTORGB(0, 255, 255) elif CurrentColour == "Pomarańczowy": FadeTORGB(255, 15, 0) elif CurrentColour == "Różowy": FadeTORGB(255, 0, 192) elif CurrentColour == "Żółty": FadeTORGB(255, 157, 0) elif CurrentColour == "Fioletowy": FadeTORGB(123, 0, 255) elif CurrentColour == "Czarny": FadeTORGB(0, 0, 0) return render_template('index.html')

Ten skrypt otrzyma dowolną nazwę po metodzie GET „Kolor” i zapisze ją. następnie sprawdzi tę nazwę i wywoła funkcję, która będzie mogła 3 trzy inne funkcje, aby jednocześnie zmienić czerwone, zielone i niebieskie światło

def FadeTORGB(RedNum, BlueNum, GreenNum):

start_new_thread(FadeUpRed, (RedNum,)) start_new_thread(FadeUpBlue, (BlueNum,)) start_new_thread(FadeUpGreen, (GreenNum,))

Spowoduje to wywołanie trzech innych funkcji, które zmienią ilość mocy przekazywanej każdemu ledowi z efektem zanikania.

def FadeUpRed(REDUpNum):

globalny RedColourCode if RedColourCode < REDUpNum: while RedColourCode REDUpNum: while RedColourCode > REDUpNum: RedColourCode -=1 pi.set_PWM_dutycycle(RedPin, RedColourCode)

def FadeUpBlue(BlueUpNum):

globalny BlueColourCode if BlueColourCode < BlueUpNum: while BlueColourCode BlueUpNum: while BlueColourCode > BlueUpNum: BlueColourCode -=1 pi.set_PWM_dutycycle(BluePin, BlueColourCode)

def FadeUpGreen(GreenUpNum):

globalny GreenColourCode if GreenColourCode < GreenUpNum: while GreenColourCode GreenUpNum: while GreenColourCode > GreenUpNum: GreenColourCode -=1 pi.set_PWM_dutycycle(GreenPin, GreenColourCode)

if _name_ == "_main_":

app.run(host="0.0.0.0")

Krok 12: Programowanie serwera WWW

Teraz, gdy mamy już serwer, musimy zaprojektować stronę internetową.

Ponieważ serwer znajduje się bezpośrednio w szablonach i folderach statycznych w git, ten krok jest tylko wyjaśnieniem kodu.

Polecam również przeczytać o html, css, javascript

HTML

Najpierw musimy zaprogramować html, to tutaj trafia cała zawartość, którą następnie możemy stylizować za pomocą css

1. Tworzenie nagłówka (tytuł, linkowanie plików,)

Pasek ledowy Wi-Fi

Pierwsze dwa tagi informują przeglądarkę, że jest to strona internetowa, a trzeci wiersz informuje przeglądarkę, aby ukryła dowolny tekst wewnątrz bloku, a pod nim znajduje się tytuł, który pojawi się na karcie

Tworzenie strony internetowej w trybie pełnoekranowym na iOS

Aby strona była pełnoekranowa, wpisz ten kod pod tagiem

Następnie dodamy referencje do pliku css, który zrobimy później będzie to inny sposób niż zwykle ze względu na sposób zarządzania plikami w kolbie

Następnie MUSISZ zamknąć tag i utworzyć tag body

Tag body oznacza, że wszystkie znajdujące się w nim tagi pojawią się na stronie internetowej

Teraz zrobimy przyciski kolorów, które mogą zmienić pasek led.

Stworzymy po jednym dla każdego koloru i umieścimy go w tabeli

To tworzy zewnętrzną ramę stołu!

to utworzy wiersz dla tabeli

Teraz stwórzmy pomarańczowy przycisk

tag td tworzy komórkę, a następnie funkcja „onClick” wywoła funkcję javascript, którą utworzymy później, im funkcja „class” służy do stylizacji przycisku, a styl służy tylko do jego pokolorowania.

Będziemy musieli tylko zmienić tekst sendColour i styl dla każdego innego przycisku, ale po każdym drugim przycisku zamykamy wiersz i tworzymy nowy wiersz

Itp…

Następnie po włożeniu całego koloru musisz zamknąć stół

JavaScript

Teraz musimy dodać funkcję „SendColour”, do której odwoływaliśmy się wcześniej, aby to zrobić, najpierw musimy dodać tag informujący przeglądarkę, że istnieje jakiś javascript

następnie utwórz funkcję

function SendColour(ClickedColour) {

Ta funkcja wyśle żądanie Ajax do raspberry pi, które powie mu, aby zmienił kolor na kliknięty

xhttp = nowy XMLHttpRequest();

xhttp.open("GET", "?Colour=" + ClickedColour, false); xhttp.send(); }

Teraz musimy zamknąć javascript i html

CSS

Teraz zaprojektujemy stronę internetową

najpierw wyjmij płytę CD z folderu szablonów i przejdź do folderu statycznego

cd.. && statyczna płyta cd

teraz utwórz plik Style.css

Styl nano.css

Najpierw niech stół wypełni cały ekran.

. Kolory {

szerokość: 100%; }

.przycisk {

dopełnienie: 25px 35px; promień obramowania: 4px; }

Testowanie serwera

aby przetestować serwer, przejdź do folderu serwera WWW

Płyta CD..

następnie wejdź

python Main.py

spowoduje to uruchomienie serwera, a następnie na komputerze otwórz przeglądarkę internetową i przejdź do

TWÓJ_PI_PI:5000:5000 na końcu jest na razie ważne, ponieważ jest to port, na którym działa serwer sieciowy.

jeśli wchodzisz na stronę i otrzymujesz „Wewnętrzny błąd serwera”, spójrz na konsolę (putty lub terminal), a zobaczysz garść tekstu, po prostu spójrz na ostatnią linię i powinno. powiedz, co się dzieje, możesz znaleźć odpowiedź w Google, ale jeśli widzisz kolory na ekranie możesz kliknąć na jeden i powinieneś zobaczyć pasek led przechodzi w ten kolor, jeśli nie to sprawdź, czy zasilanie jest podłączone i włączone lub czy kod html został wpisany poprawnie.

Krok 13: Spraw, aby działał z Apache2

Teraz, gdy go przetestowaliśmy, musimy zmusić go do komunikowania się z Apache, aby mógł działać przy starcie i na porcie 80 (standardowy port sieciowy)

1. w folderze WebServer utwórz plik wsgi

nano wifiled.wsgi

Następnie w pliku wpisz

system importu

sys.path.insert(0, '/home/pi/Webserver/') z głównej aplikacji importu jako aplikacji

następnie dodaj pi użytkownika do grupy o nazwie www-data, dzięki temu Apache będzie mógł zajrzeć do folderu serwera WWW

sudo usermod -a -G www-data pi

następnie usuń domyślną konfigurację

sudo a2dissite 000-default

następnie utwórz plik w folderze konfiguracyjnym Apache

sudo nano /etc/apache2/sites-available/wifiled.conf

i wejdź

NazwaSerwera WifiLed ServerAdmin [email protected] WSGIScriptAlias / /home/pi/Webserver/wifiled.wsgi Zamów zezwalaj, odmawiaj Zezwalaj wszystkim Wymagaj wszystkich przyznanych ErrorLog ${APACHE_LOG_DIR}/error.log LogLevel warn CustomLog ${APACHE_LOG_DIR}/access.log łączny

następnie powiedz Apache, aby odczytał konfigurację, wpisując

sudo a2ensite wifiled.conf

Teraz uruchom ponownie pi, po ponownym uruchomieniu wejdź do przeglądarki internetowej

TWÓJ_PI_IP

Krok 14: Konfiguracja Taskera i Ifttta i innych usług

Zanim skonfigurujemy te programy, musisz skonfigurować fording portów na routerze, ponieważ każdy router jest inny, możesz przeczytać, jak to zrobić tutaj

Tasker

na urządzeniu z Androidem otwórz taker

następnie utwórz nowy profil oparty na zdarzeniu, możesz wybrać dowolny wyzwalacz. Wybrałem „Dzwonek telefonu” i ustawiłem kolor na „C:ANY”. Następnie zostaniesz poproszony o wybranie zadania, kliknięcie „Nowe zadanie” i nazwanie go na podstawie twojego działania. Nazwę to "Połączenie telefoniczne", a następnie wciśnij add action i poszukaj "Głowy HTTP" i ustaw Server:Port na your_raspberry_pi_IP, a następnie pod ścieżką możesz ustawić jednolity kolor za pomocą "/?Colour=Green" lub możesz utworzyć efekt zrobimy to w następnym kroku. Następnie kliknij z powrotem i z powrotem.

IFTTT

najpierw przejdź do ifttt i stwórz nowy aplet Wybierz dowolny wyzwalacz (ja wybrałem przycisk), a następnie do akcji wybierz kanał producenta i powiedział, aby wykonać żądanie, a następnie wpisz adres URL YOUR_PUBLIC_PI/?Colour=LightBlue jeśli nie znasz swojego publicznego ip po prostu wpisz „Moje IP” w google. Następnie dla metody wpisz HEAD, a następnie kliknij „Utwórz działanie” teraz, gdy twoja akcja się wydarzy, ifttt poproś swoje pi o zmianę koloru.

Inne usługi

Możesz także podłączyć inne usługi, które wysyłają żądanie HTTP HEAD lub GET.

Krok 15: Tworzenie niestandardowych efektów

W Main.py dodaj oświadczenie import, pod import os wpisz

czas importu

również zanim stworzymy efekt, musimy dodać zmienną tuż pod GreenBeforeEffect add

CanChangeColor = Prawda

następnie zmień, jeśli request.args.get('Kolor'):

do

if request.args.get('Colour') i CanChangeColour:

sekcja tuż pod return render_template('Main.html') add

@app.route('/Effect', method=['GET'])

def Efekt():

Następnie ustaw zmienne na globalne

x = 0

globalny RedColourCode globalny BlueColourCode globalny GreenColourCode globalny RedBeforeEffect globalny BlueBeforeEffect globalny GreenBeforeEffect

teraz stwórzmy nasz pierwszy efekt

if request.args.get('Zadzwoń'):

RedBeforeEffect = RedColourCode BlueBeforeEffect = BlueColourCode GreenBeforeEffect = GreenColourCode FadeTORGB(0, 0, 0) time.sleep(2)

Ta akcja zostanie uruchomiona, gdy pi otrzyma żądanie, takie jak "/?Effect=Call" i zapisze bieżący kolor, abyśmy mogli go oddzwonić. Następnie robimy pasek ledowy czarny i czekamy, aż to się stanie.

Teraz sprawimy, że dioda led zniknie z czarnej na zieloną, a następnie ponownie na czarną i chcę to zrobić pięć razy

while x <= 5: FadeTORGB(0, 255, 0) x +=1 time.sleep(1) FadeTORGB(0, 0, 0) time.sleep(1) CanChangeColour = True time.sleep(2) FadeTORGB(RedBeforeEffect, niebieski przed efektem, zielony przed efektem)

Będzie to liczyć do pięciu, ale za każdym razem będzie blednąć na zielono, a następnie poczekać sekundę i przejść na czerń. Wtedy to, co się skończy, zmieni kolor z powrotem na ten, który miałeś przed zmianą.

Teraz wystarczy stworzyć odpowiedź.

powrót ""

Zrestartuj także raspberry pi

ponowne uruchomienie sudo

Zalecana: