Съдържание:

Wi -Fi 12V LED лента, използваща Raspberry Pi с Tasker, Ifttt интеграция .: 15 стъпки (със снимки)
Wi -Fi 12V LED лента, използваща Raspberry Pi с Tasker, Ifttt интеграция .: 15 стъпки (със снимки)

Видео: Wi -Fi 12V LED лента, използваща Raspberry Pi с Tasker, Ifttt интеграция .: 15 стъпки (със снимки)

Видео: Wi -Fi 12V LED лента, използваща Raspberry Pi с Tasker, Ifttt интеграция .: 15 стъпки (със снимки)
Видео: Диммируемые блоки питания для светодиодной ленты | SWG 2024, Ноември
Anonim
Wi -Fi контролирана 12v LED лента, използваща Raspberry Pi с Tasker, Ifttt интеграция
Wi -Fi контролирана 12v LED лента, използваща Raspberry Pi с Tasker, Ifttt интеграция
Wifi контролирана 12v LED лента, използваща Raspberry Pi с Tasker, Ifttt интеграция
Wifi контролирана 12v LED лента, използваща Raspberry Pi с Tasker, Ifttt интеграция

В този проект ще ви покажа как да управлявате обикновена 12v аналогова LED лента през wifi, използвайки малинов pi.

За този проект ще ви трябва:

  • 1x Raspberry Pi (използвам Raspberry Pi 1 модел B+)
  • 1x RGB 12v LED лента [Ebay Австралия]
  • 3x IRFZ44N N-Channel Mosfet's [Ebay Австралия]
  • 1x женски адаптер за DC захранване [Ebay Australia]
  • Някои проводници
  • Дисплей, клавиатура (само за настройка)

Стъпка 1: Инсталирайте Raspbian OS с помощта на Windows

Инсталирайте Raspbian OS с помощта на Windows
Инсталирайте Raspbian OS с помощта на Windows
Инсталирайте Raspbian OS с помощта на Windows
Инсталирайте Raspbian OS с помощта на Windows
Инсталирайте Raspbian OS с помощта на Windows
Инсталирайте Raspbian OS с помощта на Windows

За да инсталирате Raspbian с Windows, ще ви трябва:

  • Win32 Disk Imager: [Изтегляне]
  • Raspbian OS Lite: [Zip], [Torrent]

** ВАЖНО, ако направите грешка, може да загубите всичките си данни. Моля, архивирайте данните си, преди да продължите **

  1. Включете вашата SD карта в четец на карти и отворете Моят компютър
  2. Потърсете буквата на устройството
  3. Щракнете с десния бутон върху Win32DiskImager и щракнете върху „Изпълни като администратор“
  4. След това щракнете върху малката синя папка и прегледайте вашето изображение на RaspbianOS
  5. Също така щракнете върху падащото поле под Устройство и го променете на Буквата на устройството на SD картата
  6. След това кликнете върху „Писане“
  7. Ще се отвори диалогов прозорец ПРЕДИ Натискането на Да проверява дали целевото устройство е правилно
  8. След това извадете SD картата и я поставете в pi

Стъпка 2: Инсталирайте Raspbian OS, използвайки Mac OS X

Инсталирайте Raspbian OS, използвайки Mac OS X
Инсталирайте Raspbian OS, използвайки Mac OS X
Инсталирайте Raspbian OS, използвайки Mac OS X
Инсталирайте Raspbian OS, използвайки Mac OS X
Инсталирайте Raspbian OS, използвайки Mac OS X
Инсталирайте Raspbian OS, използвайки Mac OS X
Инсталирайте Raspbian OS, използвайки Mac OS X
Инсталирайте Raspbian OS, използвайки Mac OS X

За да инсталирате Raspbian с Mac ще ви трябва:

  • ApplePi-Baker [Изтегляне]
  • Raspbian OS Lite: [Zip], [Torrent]

** ВАЖНО, ако направите грешка, може да загубите всичките си данни. Моля, архивирайте данните си, преди да продължите **

  1. Отворете Disk Utility и потърсете вашата SD карта отляво, след което щракнете върху нея
  2. Потърсете „Устройство“в долната част на прозореца, трябва да видите нещо като diskXsX, където x е число
  3. Запомнете номера на „устройство“и отворете ApplePi-Baker
  4. Той ще ви поиска парола, тъй като трябва да форматира вашата SD-карта
  5. Щракнете върху „Device“номер, който е After / dev / от лявата страна
  6. Щракнете върху „Възстановяване-архивиране“Прегледайте вашето изображение на RaspbianOS.
  7. Той ще започне да изтрива SD-картата и ще инсталира Raspbian върху нея
  8. Когато това стане, ще се появи предупредително поле, което ви казва, че можете да премахнете SD-картата, да я премахнете и да я поставите във вашето pi.

Стъпка 3: Настройване на Pi

Преди да включите pi, ще трябва да включите HDMI дисплей, клавиатура и Ethernet кабел или usb wifi (Ще настроим това в следващата стъпка).

Включете pi, ще видите куп текст, който запълва екрана, Това е нормално и е част от стартирането на ядрото на Linux. Просто изчакайте малко, докато видите

малинов вход:

Вашето потребителско име е пи, а паролата е малинова (няма да видите нищо да пише на екрана, но все още се въвежда)

След това, когато влезете, ще видите:

pi@raspberrypi: ~ $

След това трябва да въведете:

sudo raspi-config

След това екранът ви ще бъде изпълнен със син екран с опции в сиво поле в центъра,

  1. Използвайки клавишите нагоре и надолу, маркирайте и натиснете enter при опцията „Разгъване на файловата система“след няколко секунди ще бъдете отведени до предупреждение, че „основната файлова система е променена“, щракнете върху Enter
  2. След това натиснете стрелката надолу и отидете на Boot Options и щракнете върху enter, след това щракнете върху enter, когато е избрано „Desktop / CLI“, След това маркирайте „Autologin за конзола“и щракнете върху enter
  3. След това изберете Разширени опции и натиснете Enter
  4. След това превъртете надолу до ssh и натиснете enter, след което изберете да
  5. след това натиснете стрелката надясно, докато назад се маркира и натиснете enter
  6. След това отидете отново на дъното и щракнете върху край, след което кажете „да“, за да рестартирате

След като се рестартира, ако сте свързани чрез ethernet, трябва да въведете тази команда, за да намерите вашия IP адрес, за да можем да ssh в pi

Намерете ip:

име на хост -I

Стъпка 4: Настройка на Wi -Fi

За да настроим wifi на pi, трябва да редактираме файл

1. влезте в командния ред

sudo nano /etc/wpa_supplicant/wpa_supplicant.conf

2. Отидете до края на файла и въведете

мрежа = {

ssid = "Your_Wifi_Name" psk = "Your_wifi_password"}

3. След това рестартирайте пи с

sudo рестартиране

След като пи рестартирате, вземете неговия IP адрес, като въведете

име на хост -I

трябва да получите своя IP адрес Но ако пренастроеният текст е празен, това означава, че pi не може да се свърже с вашата мрежа. проверете отново дали сте въвели правилно вашето wifi име и парола, тъй като той е чувствителен към регистър.

Стъпка 5: Свържете се дистанционно с вашия Pi с помощта на Windows

Свържете се дистанционно с вашия Pi с помощта на Windows
Свържете се дистанционно с вашия Pi с помощта на Windows
Свържете се дистанционно с вашия Pi с помощта на Windows
Свържете се дистанционно с вашия Pi с помощта на Windows
Свържете се дистанционно с вашия Pi с помощта на Windows
Свържете се дистанционно с вашия Pi с помощта на Windows
Свържете се дистанционно с вашия Pi с помощта на Windows
Свържете се дистанционно с вашия Pi с помощта на Windows

Сега, когато имаме пи свързано с интернет, можем да премахнем клавиатурната мишка и дисплея и да се свържем дистанционно с него, използвайки „ssh“

За да ssh в pi с windows трябва да изтеглите

шпакловка: [Изтегляне]

  1. Отворете замазката, в полето за IP адрес въведете малиновия pi ip и след това натиснете отвори
  2. ще получите диалогов прозорец, който прилича на снимка 2 натиснете да
  3. след това ще видите нов диалогов прозорец, който казва „вход като“въведете „pi“
  4. след това ще поиска парола, въведете "малинка"

Вече сте свързани с pi през ssh

Стъпка 6: Свържете се дистанционно с вашия Pi с помощта на Mac

Свържете се дистанционно с вашия Pi с помощта на Mac
Свържете се дистанционно с вашия Pi с помощта на Mac
Свържете се дистанционно с вашия Pi с помощта на Mac
Свържете се дистанционно с вашия Pi с помощта на Mac
Свържете се дистанционно с вашия Pi с помощта на Mac
Свържете се дистанционно с вашия Pi с помощта на Mac
Свържете се дистанционно с вашия Pi с помощта на Mac
Свържете се дистанционно с вашия Pi с помощта на Mac

Сега, когато имаме пи свързано с интернет, можем да премахнем клавиатурата и мишката и да се свържем дистанционно с него с помощта на „ssh“

1. Отворете „Терминал“

2. Въведете

ssh pi@IP_ADDRESS

3. След това може да получите съобщение, че ключът на хоста не е запазен, просто напишете „да“

4. След това, когато се повишава, въведете малиновата парола pi, която е "Малина"

Вече сте свързани с pi през ssh

Стъпка 7: Инсталиране на софтуера

Тъй като сега имаме отдалечен достъп до pi, трябва да инсталираме софтуер за управление на LED лентата

Ще трябва да инсталираме

  • pigpio (Това превръща всички GPIO щифтове от цифрови в PWM)
  • колба (скрипт от страна на сървъра, който говори с pigpio и уеб сървъра)
  • apache2 (уеб сървър)

Инсталирайте pigpio

1. Първо трябва да изтеглим zip папка, съдържаща некомпилирания софтуер pigpio, като използваме тази команда

wget

2. След това трябва да разархивираме и да влезем в директорията

разархивирайте pigpio.zip && cd PIGPIO

3. сега, когато сме в директорията, трябва да компилираме и инсталираме софтуера

make -j4 && sudo make install

4. Сега отворете rc.local, за да можем да кажем на pi да стартира pigpiod при стартиране

sudo nano /etc/rc.local

след това точно преди да влезе изходната линия

sudo pigpiod

Вече сте инсталирали софтуера pigpio

Инсталирайте колба

първо трябва да актуализираме списъка със софтуер, за да въведем това

sudo apt update && sudo apt upgrade -y

след това инсталирайте pip

sudo apt-get install python-pip

сега можем да инсталираме колба

sudo pip колба за инсталиране

Инсталирайте Apache2

sudo apt -get install apache2 -y

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

Инсталирайте git

sudo apt install git -y

След като всичко приключи с инсталирането, изключете pi с

sudo изключване сега

Стъпка 8: Окабеляване на захранването

Окабеляване на захранването
Окабеляване на захранването
Окабеляване на захранването
Окабеляване на захранването
Окабеляване на захранването
Окабеляване на захранването

Първо трябва да свържем конектора за захранване към дъската за хляб

  1. Свържете черния проводник към отрицателния конектор на гнездото за захранване
  2. Свържете червения проводник към положителния конектор на гнездото за захранване
  3. Свържете другия край на червения проводник към положителната страна на макета
  4. Свържете другия край на черния проводник към положителната страна на макета
  5. След това свържете щифта за заземяване от pi (както се вижда на изображението) към отрицателния щифт на дъската

Сега трябва да свържем най -многото.

Стъпка 9: Свързване на Mosfets и свързване на Pi

Окабеляване на MOSFET и свързване на Pi
Окабеляване на MOSFET и свързване на Pi
Окабеляване на MOSFET и свързване на Pi
Окабеляване на MOSFET и свързване на Pi
Окабеляване на MOSFET и свързване на Pi
Окабеляване на MOSFET и свързване на Pi
Окабеляване на MOSFET и свързване на Pi
Окабеляване на MOSFET и свързване на Pi

Mosfet ви позволява да контролирате колко енергия може да пътува до светодиодите, ще ни трябват три MOSFET, тъй като трябва да контролираме червената, зелената и синята светлина отделно.

MOSFET има три пина, вляво той има щифта "Gate", който ще бъде свързан към pi, за да контролира колко мощност може да тече към светодиодната светлина

Централният щифт се нарича "Drain", който ще отиде до светодиодната светлина и ще подаде напрежението, което портата позволява да премине

и щифтът вдясно е щифтът "Източник". Този щифт отива на земята на дъската.

Свързване на червения светодиод

  1. Поставете един MOSFET в чертежа
  2. свържете черен проводник от GND на макета към източника (десен щифт)
  3. след това свържете червен проводник от централния щифт на MOSFET към червения щифт на LED лентата
  4. след това свържете червен проводник от левия щифт към GPIO 17 на pi

Свързване на зеления светодиод

  1. Поставете втория MOSFET в платката
  2. след това, точно както преди, свържете черен проводник от GND на макета към източника (десен щифт)
  3. след това свържете зелен проводник от централния щифт на MOSFET към зеления щифт на LED лентата.
  4. след това свържете зелен проводник от левия щифт към GPIO 22 на pi

Свързване на Blue Led

  1. Поставете последния MOSFET в чертежа
  2. свържете друг черен проводник от GND на макета към източника (десен щифт)
  3. след това свържете син проводник от централния щифт на MOSFET към синия щифт на LED лентата.
  4. след това свържете син проводник от левия щифт към GPIO 24 на pi

След това ще имате още един щифт на LED лентата, който ще бъде бял или черен, просто свържете проводник от положителния щифт на макета към този допълнителен щифт на LED лентата

Сега, когато свършихме, можем да започнем да го тестваме.

Стъпка 10: Изтегляне и тестване на светодиодната лента

За да изтеглите изходния код за управление на LED лентата

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

За да тествате светодиодната лента, стартирайте файла test.py.

python Test.py

ако по някаква причина някои от цветовете не светят, моля, проверете дали всичко е включено правилно.

как работи този скрипт?

ако отворите скрипта на python, може да се чудите как работи, на първия ред ще видите:

време за импортиране

тази малка библиотека ни позволява да поставим на пауза скрипта, за да можем да запалим светлините по -бързо

внос pigpio

тази библиотека ни позволява да общуваме с LED лентата

pi = pigpio.pi ()

настройте променлива, за да можем да използваме pi.set_pw… insted на pigpio.pi (). set_pw…

RedPin = 17

GreenPin = 22

BluePin = 24

това са просто променливи, които ни позволяват да кажем на скрипта към какво са свързани LED

печат ("тестване за червено")

това просто ще отпечата текст в командния ред

pi.set_PWM_dutycycle (RedPin, 255)

тази команда е част от библиотеката pigpio и казва да зададете "RedPin", който търси номера, който сме задали преди, и задава яркостта му на "255", което е макс.

time.sleep (2)

това е част от библиотеката на времето и просто ще постави на пауза скрипта за 2 секунди

тази гъвкава команда ще се повтаря за останалите светодиоди, докато

pi.stop ()

което ще спре да говори с LED лентата и ще настрои всички цветове.

Стъпка 11: Програмиране на скрипта от страна на сървъра

** Преди да започнете, препоръчвам ви да прочетете за python и flask:

Ето някои ръководства:

www.pythonforbeginners.com

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

flask.pocoo.org

Тъй като Main.py е директно в git, тази стъпка просто обяснява кода.

Първо имаме библиотеки

от колба за импортиране на колба, render_template, заявка

импортиране на pigpio от нишка импорт start_new_thread

тогава трябва да зададем някои променливи

app = Flask (_ name_)

CurrentColour = "Бял" RedColourCode = 0 BlueColourCode = 0 GreenColourCode = 0 RedBeforeEffect = 0 BlueBeforeEffect = 0 GreenBeforeEffect = 0 pi = pigpio.pi ()

първата променлива е за колба, която е нашият уеб сървър, ще го наречем приложение, така че е по -лесно да се обаждате и стартирате. След това има 6 променливи, които първите три ще съдържат какъв цвят да промените два, а другите три ще съдържат цвета предишен.

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

Този ред казва, че ако някой въведе IP адреса на pi в уеб браузър, той ще изпълни скрипта под него, той също има метод GET, когато това означава, че всеки текст след? Color = ще бъде предаден на уеб сървъра и ще бъде използва се за промяна на цвета на LED лентата.

def Main ():

глобален CurrentColour

текстът def Main () означава, че той ще създаде функция, наречена main, която може да бъде извикана от всяко място в скрипта. а глобалната линия означава, че тя ще актуализира променливата в целия скрипт.

ако request.args.get ('Цвят'):

CurrentColour = request.args.get ('Цвят'), ако CurrentColour == "Бяло": FadeTORGB (255, 255, 255) elif CurrentColour == "Червено": FadeTORGB (255, 0, 0) elif CurrentColour == "Зелено ": FadeTORGB (0, 255, 0) elif CurrentColour ==" DarkBlue ": FadeTORGB (0, 0, 255) elif CurrentColour ==" LightBlue ": FadeTORGB (0, 255, 255) elif CurrentColour ==" Orange ": FadeTORGB (255, 15, 0) elif CurrentColour == "Pink": FadeTORGB (255, 0, 192) elif CurrentColour == "Yellow": FadeTORGB (255, 157, 0) elif CurrentColour == "Purple": FadeTORGB (123, 0, 255) elif CurrentColour == "Черно": FadeTORGB (0, 0, 0) връщане render_template ('index.html')

Този скрипт ще получи всяко име след метода GET "Цвят" и ще го запише. след това ще провери за това име и ще извика функция, която може 3 три функции да променят едновременно червената, зелената и синята светлина

def FadeTORGB (RedNum, BlueNum, GreenNum):

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

Това ще извика три други функции, които ще променят количеството енергия, преминаващо към всеки светодиод с ефект на затихване.

def FadeUpRed (REDUpNum):

глобален RedColourCode, ако RedColourCode <REDUpNum: докато RedColourCode REDUpNum: докато RedColourCode> REDUpNum: RedColourCode -= 1 pi.set_PWM_dutycycle (RedPin, RedColourCode)

def FadeUpBlue (BlueUpNum):

глобален BlueColourCode, ако BlueColourCode <BlueUpNum: докато BlueColourCode BlueUpNum: докато BlueColourCode> BlueUpNum: BlueColourCode -= 1 pi.set_PWM_dutycycle (BluePin, BlueColourCode)

def FadeUpGreen (GreenUpNum):

глобален GreenColourCode, ако GreenColourCode <GreenUpNum: докато GreenColourCode GreenUpNum: докато GreenColourCode> GreenUpNum: GreenColourCode -= 1 pi.set_PWM_dutycycle (GreenPin, GreenColourCode)

ако _name_ == "_main_":

app.run (хост = "0.0.0.0")

Стъпка 12: Програмиране на уеб сървъра

Сега, когато имаме сървъра, трябва да проектираме уебсайт.

Тъй като сървърът е в шаблоните и статичните папки в git директно, тази стъпка просто обяснява кода.

Препоръчвам ви също да прочетете за html, css, javascript

HTML

Първо трябва да програмираме html, тук отива цялото съдържание, което след това може да бъде оформено с помощта на css

1. Създаване на главата (заглавие, свързване на файлове,)

Wifi Led лента

Първите два маркера казват на уеб браузъра, че това е уеб страница, След това третият ред казва на браузъра да скрие всеки текст в блока и под това е заглавието, което ще се появи в раздела

Създаване на уеб страница на цял екран на iOS

За да направите страницата на цял екран, въведете този код под маркера

След това ще добавим препратки към css файла, който ще направим последно, това ще бъде по различен начин от обичайния, поради обикновения начин за управление на файлове

След това трябва да затворите маркера и да създадете таг за тяло

Етикетът body означава, че всички тагове вътре в него ще се показват на уеб страницата

Сега ще направим цветовите бутони, които могат да променят светодиодната лента.

Ще създадем по един за всеки цвят и ще го поставим в таблица

Това създаване е външната рамка на масата

това ще създаде ред за таблицата

Сега нека създадем оранжев бутон

етикетът td създава клетка, след това функцията "onClick" ще извика javascript функция, която ще създадем последна, а функцията "class" се използва за оформяне на бутона и стилът е само за оцветяването му.

Просто ще трябва да променим текста sendColour и стила един за друг, но след всеки втори бутон ще затваряме реда и ще създаваме нов ред

И т.н.…

След като поставите целия цвят, трябва да затворите масата

Javascript

Сега трябва да добавим функцията "SendColour", която споменахме преди, за да направим това, първо трябва да добавим маркер, който казва на уеб браузъра, че има някакъв javascript

след това създайте функция

функция SendColour (ClickedColour) {

Тази функция ще изпрати Ajax заявка към малиновото пи, което ще й каже да промени цвета, върху който сте кликнали

xhttp = нов XMLHttpRequest ();

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

Сега трябва да затворим javascript и html

CSS

Сега ще проектираме уебсайта

първо излезте от папката шаблони и отидете в статичната папка

cd.. && cd статично

сега създайте файла Style.css

nano Style.css

Първо нека накараме таблицата да запълни целия екран.

. Цветове {

ширина: 100%; }

.button {

подложка: 25px 35px; рамка-радиус: 4px; }

Тестване на сървъра

за да тествате сървъра, отидете в папката на уеб сървъра

cd..

след това въведете

python Main.py

това ще стартира сървъра, след това на вашия компютър отворете уеб браузъра и отидете до

YOUR_PI_PI: 5000: 5000 в края е важно за сега, тъй като това е портът, на който работи уеб сървърът.

ако отидете на уеб страницата и получите "Вътрешна грешка в сървъра", тогава погледнете конзолата (замазка или терминал) и ще видите куп текст, просто погледнете последния ред и трябва. да ви кажа какво се случва, можете да потърсите в Google, за да намерите отговора, но ако видите цветовете на екрана, можете да щракнете върху един и трябва да видите светодиодната лента да премине към този цвят, ако не го направи, тогава проверете дали захранването е включено и включено или html кодът е въведен правилно.

Стъпка 13: Как да работи с Apache2

Сега, след като го тествахме, трябва да го накараме да говори с apache, за да може да работи при стартиране и на порт 80 (стандартен уеб порт)

1. във вашата папка WebServer направете wsgi файл

nano wifiled.wsgi

След това въведете във файла

import sys

sys.path.insert (0, '/home/pi/Webserver/') от приложението Main import като приложение

след това добавете потребителя pi към група, наречена www-data, това ще позволи на apache да търси в папката на уеб сървъра

sudo usermod -a -G www -data pi

след това премахнете конфигурацията по подразбиране

sudo a2dissite 000-default

след това направете файл в папката за конфигуриране на Apache

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

и влезте

ServerName WifiLed ServerAdmin [email protected] WSGIScriptAlias//home/pi/Webserver/wifiled.wsgi Разрешаване на отказ, отказ Разрешаване от всички Изискване на всички предоставени ErrorLog $ {APACHE_LOG_DIR} /error.log LogLevel warn CustomLog $ {APIRE_OG комбинирани

след това кажете на apache да прочете конфигурацията, като въведете

sudo a2ensite wifiled.conf

Сега рестартирайте pi, когато се рестартира, влезте във вашия уеб браузър

YOUR_PI_IP

Стъпка 14: Настройване на Tasker, Ifttt и други услуги

Преди да настроим тези програми, трябва да настроите фордирането на портове на вашия рутер, тъй като всеки рутер е различен, можете да прочетете как тук

Tasker

на вашето Android устройство отворете taker

след това създайте нов профил, базиран на събитие, можете да изберете всеки тригер. Избрах „Телефонно звънене“и зададох цвета на всеки „C: ЛЮБО“, След това той ще ви помоли да изберете задача, щракнете върху „Нова задача“и я наречете на базата на вашето действие. Ще го нарека "Телефонно обаждане", след което натиснете добавяне на действие и потърсете "HTTP Head" и задайте Server: Port на your_raspberry_pi_IP, след което под път можете да зададете плътен цвят с "/? Color = Green" или можете да създадете ефект ще направим това в следващата стъпка. След това щракнете назад и отново.

IFTTT

първо отидете на ifttt и създайте нов аплет Изберете който и да е тригер (аз избрах Бутон) и след това за действие изберете канала на производителя и казахме да направим искане след това за url въведете YOUR_PUBLIC_PI/? Color = LightBlue, ако не познавате обществеността си ip просто въведете „My Ip“в google. След това за метода въведете HEAD, след което щракнете върху „Създаване на действие“сега, когато се случи вашето действие, ако направите заявка към вашето пи за промяна на цвета.

Други услуги

Можете също да свържете други услуги, които правят HTTP HEAD или GET заявка.

Стъпка 15: Създаване на персонализирани ефекти

В Main.py добавете декларация за импортиране, под import os въведете

време за импортиране

също преди да създадем ефект, трябва да добавим променлива точно под добавката GreenBeforeEffect

CanChangeColour = Вярно

след това променете if request.args.get ('Color'):

да се

ако request.args.get ('Color') и CanChangeColour:

раздел точно под връщане render_template ('Main.html') добавяне

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

def Effect ():

След това задайте променливите на глобални

x = 0

глобален RedColourCode глобален BlueColourCode глобален GreenColourCode глобален RedBeforeEffect глобален BlueBeforeEffect глобален GreenBeforeEffect

сега нека създадем първия си ефект

ако request.args.get ('Обаждане'):

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

Това действие ще се изпълни, когато pi получи заявка като „/? Effect = Call“и ще запази текущия цвят, за да можем да го извикаме обратно. След това правим LED лентата черна и изчакваме, докато се случи.

Сега ще направим светодиода да избледнее от черно в зелено, след това отново в черно и искам да направя това пет пъти

докато 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, BlueBeforeEffect, GreenBeforeEffect)

Това ще брои до пет, но всеки път ще избледнее до зелено и след това изчакайте секунда и преминете към черно. Тогава това, което завършва, ще промени цвета обратно към тези, които сте имали, преди да промените.

Сега просто трябва да създадем отговор.

връщане ""

Също така рестартирайте малиновото пи

sudo рестартиране

Препоръчано: