Оглавление:

Управляемая Wi-Fi светодиодная полоса 12 В с использованием Raspberry Pi с Tasker, интеграция Ifttt .: 15 шагов (с изображениями)
Управляемая Wi-Fi светодиодная полоса 12 В с использованием Raspberry Pi с Tasker, интеграция Ifttt .: 15 шагов (с изображениями)

Видео: Управляемая Wi-Fi светодиодная полоса 12 В с использованием Raspberry Pi с Tasker, интеграция Ifttt .: 15 шагов (с изображениями)

Видео: Управляемая Wi-Fi светодиодная полоса 12 В с использованием Raspberry Pi с Tasker, интеграция Ifttt .: 15 шагов (с изображениями)
Видео: WLED - самый крутейший открытый проект для управления светодиодными лентами. Делаем Ambilight. LedFX 2024, Июль
Anonim
Управляемая Wi-Fi светодиодная полоса 12 В с использованием Raspberry Pi с Tasker, интеграция Ifttt
Управляемая Wi-Fi светодиодная полоса 12 В с использованием Raspberry Pi с Tasker, интеграция Ifttt
Контролируемая Wi-Fi светодиодная полоса 12 В с использованием Raspberry Pi с Tasker, интеграция Ifttt
Контролируемая Wi-Fi светодиодная полоса 12 В с использованием Raspberry Pi с Tasker, интеграция Ifttt

В этом проекте я покажу вам, как управлять простой аналоговой светодиодной лентой 12 В по Wi-Fi с помощью Raspberry Pi.

Для этого проекта вам понадобятся:

  • 1x Raspberry Pi (я использую Raspberry Pi 1 Model B +)
  • 1x светодиодная лента RGB 12 В [Ebay Australia]
  • 3x IRFZ44N N-Channel Mosfet's [Ebay Australia]
  • 1x гнездовой адаптер питания постоянного тока [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-карту и вставьте ее в пи

Шаг 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. Откройте Дисковую утилиту и найдите свою SD-карту слева, затем щелкните по ней.
  2. Найдите «Устройство» в нижней части окна, вы должны увидеть что-то вроде diskXsX, где x - это число.
  3. Запомните номер «устройства» и откройте ApplePi-Baker.
  4. Он запросит пароль из-за необходимости форматирования вашей SD-карты.
  5. Щелкните номер «Устройство» после / dev / с левой стороны.
  6. Нажмите «Восстановить-Резервное копирование». Найдите свой образ RaspbianOS.
  7. Он начнет стирать SD-карту и устанавливать на нее Raspbian.
  8. Когда это будет сделано, появится всплывающее окно с предупреждением о том, что вы можете удалить SD-карту, удалить ее и вставить в свой пи.

Шаг 3: настройка Pi

Перед включением пи вам нужно будет подключить дисплей HDMI, клавиатуру и кабель Ethernet или USB-Wi-Fi (мы настроим это на следующем шаге).

Включите пи, вы увидите текст, заполняющий экран. Это нормально и является частью запуска ядра Linux. Просто подожди немного, пока не увидишь

малиновый логин:

Ваше имя пользователя - pi, а пароль - raspberry (вы ничего не увидите, набирая текст на экране, но он все еще вводится)

Затем, когда вы войдете в систему, вы увидите:

pi @ raspberrypi: ~ $

Затем вам необходимо ввести:

sudo raspi-config

Затем ваш экран будет заполнен синим экраном с параметрами в сером поле в центре,

  1. Используя клавиши вверх и вниз, выделите и нажмите Enter на опции «Expand Filesystem». Через несколько секунд вы увидите предупреждение о том, что «корневая файловая система была изменена», нажмите Enter.
  2. Затем нажмите стрелку вниз и перейдите в Параметры загрузки и нажмите Enter, затем нажмите Enter, когда выбран «Рабочий стол / CLI», затем выделите «Console Autologin» и нажмите Enter.
  3. Затем выберите Дополнительные параметры и нажмите Enter.
  4. Затем прокрутите вниз до ssh и нажмите Enter, затем выберите да
  5. затем нажимайте стрелку вправо, пока не будет выделено назад, и нажмите ввод
  6. Затем снова перейдите в нижнюю часть и нажмите «Готово», затем скажите «Да», чтобы перезагрузить компьютер.

После перезагрузки, если вы подключены через Ethernet, вам нужно ввести эту команду, чтобы найти свой IP-адрес, чтобы мы могли ssh в пи

Найдите ip:

имя хоста -I

Шаг 4. Настройте Wi-Fi

Чтобы настроить Wi-Fi на пи, нам нужно отредактировать файл

1. введите в командную строку

sudo nano /etc/wpa_supplicant/wpa_supplicant.conf

2. Перейдите в конец файла и введите

network = {

ssid = "Your_Wifi_Name" psk = "Your_wifi_password"}

3. Затем перезагрузите свой пи с помощью

перезагрузка sudo

После перезагрузки Pi получите его IP-адрес, набрав

имя хоста -I

вы должны получить свой IP-адрес. Но если перенастроенный текст пуст, это означает, что пи не может подключиться к вашей сети. дважды проверьте, правильно ли вы ввели имя Wi-Fi и пароль, так как он чувствителен к регистру.

Шаг 5: удаленно подключитесь к вашему Pi с помощью Windows

Удаленное подключение к вашему Pi с помощью Windows
Удаленное подключение к вашему Pi с помощью Windows
Удаленное подключение к вашему Pi с помощью Windows
Удаленное подключение к вашему Pi с помощью Windows
Удаленное подключение к вашему Pi с помощью Windows
Удаленное подключение к вашему Pi с помощью Windows
Удаленное подключение к вашему Pi с помощью Windows
Удаленное подключение к вашему Pi с помощью Windows

Теперь, когда у нас есть Pi, подключенный к Интернету, мы можем удалить клавиатуру, мышь и дисплей и удаленно подключиться к нему с помощью «ssh».

Для ssh в пи с windows вам нужно скачать

шпатлевка: [Загрузить]

  1. Откройте putty, в поле IP-адреса введите ip raspberry pi, затем нажмите open
  2. вы получите диалоговое окно, как на картинке 2, нажмите да
  3. после этого вы увидите новое диалоговое окно с надписью «войти как» введите «пи»
  4. затем он запросит пароль введите «малина»

Теперь вы подключены к пи через ssh

Шаг 6: удаленно подключитесь к вашему Pi с помощью Mac

Удаленное подключение к вашему Pi с помощью Mac
Удаленное подключение к вашему Pi с помощью Mac
Удаленное подключение к вашему Pi с помощью Mac
Удаленное подключение к вашему Pi с помощью Mac
Удаленное подключение к вашему Pi с помощью Mac
Удаленное подключение к вашему Pi с помощью Mac
Удаленное подключение к вашему Pi с помощью Mac
Удаленное подключение к вашему Pi с помощью Mac

Теперь, когда у нас есть Pi, подключенный к Интернету, мы можем удалить клавиатуру и мышь и удаленно подключиться к ним с помощью «ssh».

1. Откройте «Терминал»

2. Введите

ssh pi @ IP_ADDRESS

3. Затем вы можете получить сообщение о том, что ключ хоста не сохранен. Просто введите «да».

4. Затем, когда будет предложено, введите пароль Raspberry Pi, который будет «Raspberry».

Теперь вы подключены к пи через ssh

Шаг 7: Установка программного обеспечения

Поскольку теперь у нас есть удаленный доступ к пи, нам нужно установить некоторое программное обеспечение для управления светодиодной лентой.

Нам нужно будет установить

  • pigpio (это превращает все контакты GPIO с цифровых на ШИМ)
  • flask (скрипт на стороне сервера, который общается с pigpio и веб-сервером)
  • apache2 (веб-сервер)

Установить pigpio

1. Сначала нам нужно загрузить zip-папку, содержащую некомпилированное программное обеспечение pigpio, используя эту команду.

wget

2. Затем нам нужно разархивировать и перейти в каталог

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

3. теперь мы находимся в каталоге, который нам нужен для компиляции и установки программного обеспечения

сделать -j4 && sudo make install

4. Теперь откройте rc.local, чтобы мы могли указать пи запускать pigpiod при запуске.

sudo nano /etc/rc.local

затем прямо перед выходом введите

sudo pigpiod

Вы установили программное обеспечение pigpio

Установить колбу

сначала нам нужно обновить список программного обеспечения, чтобы сделать это введите

sudo apt update && sudo apt upgrade -y

затем установите пип

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

После завершения установки выключите пи с помощью

sudo выключение сейчас

Шаг 8: Подключение питания

Подключение питания
Подключение питания
Подключение питания
Подключение питания
Подключение питания
Подключение питания

Сначала нам нужно подключить разъем питания к макетной плате.

  1. Подключите черный провод к отрицательному разъему на разъеме питания.
  2. Подключите красный провод к положительному разъему на разъеме питания.
  3. Подключите другой конец красного провода к положительной стороне макетной платы.
  4. Подключите другой конец черного провода к положительной стороне макетной платы.
  5. Затем подключите заземляющий контакт от пи (как показано на изображении) к отрицательному контакту на макете.

Теперь осталось подключить самый фет.

Шаг 9: Подключение МОП-транзисторов и подключение Pi

Подключение МОП-транзисторов и подключение Pi
Подключение МОП-транзисторов и подключение Pi
Подключение МОП-транзисторов и подключение Pi
Подключение МОП-транзисторов и подключение Pi
Подключение МОП-транзисторов и подключение Pi
Подключение МОП-транзисторов и подключение Pi
Подключение МОП-транзисторов и подключение Pi
Подключение МОП-транзисторов и подключение Pi

Mosfet позволяет вам контролировать, сколько мощности может поступать на светодиодные фонари, нам понадобятся три МОП-транзистора, поскольку нам нужно управлять красным, зеленым и синим светом отдельно.

МОП-транзистор имеет три контакта, слева он имеет контакт «Gate», который будет подключен к пи, чтобы контролировать, сколько энергии может поступать на светодиодный светильник.

Центральный штифт называется «сток», он идет к светодиоду и подает напряжение, которое затвор позволяет пройти.

а значок справа - это значок "Источник". Этот штифт упирается в землю на макетной плате.

Подключение красного светодиода

  1. Вставьте один МОП-транзистор в макетную плату.
  2. подключите черный провод от GND на макетной плате к источнику (правый контакт)
  3. затем подключите красный провод от центрального контакта на МОП-транзисторе к красному контакту на светодиодной полосе.
  4. затем подключите красный провод от левого контакта к GPIO 17 на пи

Подключение зеленого светодиода

  1. Вставьте 2-й МОП-транзистор в макетную плату.
  2. затем, как и раньше, подключите черный провод от GND на макете к источнику (правый контакт)
  3. затем подключите зеленый провод от центрального контакта на МОП-транзисторе к зеленому контакту на светодиодной полосе.
  4. затем подключите зеленый провод от левого контакта к GPIO 22 на пи

Подключение синего светодиода

  1. Вставьте последний МОП-транзистор в макетную плату.
  2. подключите еще один черный провод от GND на макете к источнику (правый контакт)
  3. затем подключите синий провод от центрального контакта на МОП-транзисторе к синему контакту на светодиодной полосе.
  4. затем подключите синий провод от левого контакта к GPIO 24 на пи

Тогда у вас будет еще один контакт на светодиодной полосе, который будет белым или черным, просто подключите провод от положительного контакта на макете к этому дополнительному контакту на светодиодной полосе.

Теперь, когда мы закончили, мы можем приступить к тестированию.

Шаг 10: загрузка и тестирование светодиодной ленты

Скачать исходный код для управления светодиодной лентой

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

Для проверки светодиодной ленты запустите файл test.py.

python Test.py

Если по какой-то причине некоторые цвета не загораются, проверьте, все ли правильно подключено.

как работает этот скрипт?

если вы откроете скрипт python, вы можете спросить, как он работает, в первой строке вы увидите:

время импорта

эта небольшая библиотека позволяет нам приостановить скрипт, чтобы мы могли держать свет включенным быстрее

импортная свинья

эта библиотека позволяет нам общаться со светодиодной лентой

pi = pigpio.pi ()

настроить переменную, чтобы мы могли использовать pi.set_pw… вместо pigpio.pi (). set_pw…

RedPin = 17

GreenPin = 22

BluePin = 24

это просто переменные, которые позволяют нам сообщить скрипту, к какому светодиоду подключены

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

это просто напечатает текст в командной строке

pi.set_PWM_dutycycle (RedPin, 255)

эта команда является частью библиотеки pigpio и предлагает установить "RedPin", который ищет номер, который мы установили ранее, и устанавливает его яркость на "255", что является максимальным

время сна (2)

это часть библиотеки времени и просто приостанавливает скрипт на 2 секунды

эта гибкая команда будет повторяться для других светодиодов, пока

pi.stop ()

который перестанет разговаривать со светодиодной лентой и отключит все цвета.

Шаг 11: Программирование сценария на стороне сервера

** Перед тем, как начать, я рекомендую вам прочитать о python и flask:

Вот несколько руководств:

www.pythonforbeginners.com

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

flask.pocoo.org

Поскольку Main.py находится непосредственно в git, этот шаг просто объясняет код.

Сначала у нас есть библиотеки

from flask import Flask, render_template, request

импортировать pigpio из потока import start_new_thread

тогда нам нужно установить некоторые переменные

app = Flask (_ имя_)

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

первая переменная предназначена для flask, который является нашим веб-сервером, мы будем называть его приложением, чтобы его было проще вызывать и запускать. Затем есть 6 переменных, первые три будут содержать цвет, который нужно изменить, две, а остальные три будут содержать предыдущий цвет.

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

В этой строке говорится, что если кто-то наберет IP-адрес pi в веб-браузере, он запустит сценарий под ним, у него также есть метод GET, когда это означает, что любой текст после? Color = будет передан на веб-сервер и будет используется для изменения цвета светодиодной ленты.

def Main ():

глобальный CurrentColour

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

если request.args.get ('Цвет'):

CurrentColour = request.args.get ('Color') if 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 == «Розовый»: FadeTORGB (255, 0, 192) elif CurrentColour == «Желтый»: FadeTORGB (255, 157, 0) elif CurrentColour == «Фиолетовый»: FadeTORGB (123, 0, 255) elif CurrentColour == "Black": FadeTORGB (0, 0, 0) return render_template ('index.html')

Этот сценарий получит любое имя после метода GET "Color" и сохранит его. Затем он проверит это имя и вызовет функцию, которая может 3 три другие функции одновременно изменять красный, зеленый и синий свет.

def FadeTORGB (RedNum, BlueNum, GreenNum):

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

Это вызовет три другие функции, которые изменят количество мощности, подаваемой на каждый светодиод, с эффектом затухания.

def FadeUpRed (REDUpNum):

global RedColourCode, если RedColourCode <REDUpNum: в то время как RedColourCode REDUpNum: в то время как RedColourCode> REDUpNum: RedColourCode - = 1 pi.set_PWM_dutycycle (RedPin, RedColourCode)

def FadeUpBlue (BlueUpNum):

global BlueColourCode, если BlueColourCode <BlueUpNum: в то время как BlueColourCode BlueUpNum: в то время как BlueColourCode> BlueUpNum: BlueColourCode - = 1 pi.set_PWM_dutycycle (BluePin, BlueColourCode)

def FadeUpGreen (GreenUpNum):

global GreenColourCode, если GreenColourCode <GreenUpNum: в то время как GreenColourCode GreenUpNum: в то время как GreenColourCode> GreenUpNum: GreenColourCode - = 1 pi.set_PWM_dutycycle (GreenPin, GreenColourCode)

если _name_ == "_main_":

app.run (host = "0.0.0.0")

Шаг 12: Программирование веб-сервера

Теперь, когда у нас есть сервер, нам нужно создать веб-сайт.

Поскольку сервер находится в шаблонах и статических папках непосредственно в git, этот шаг просто объясняет код.

Я также рекомендую вам прочитать о html, css, javascript

HTML

Сначала нам нужно запрограммировать html, здесь находится весь контент, который затем можно стилизовать с помощью css.

1. Создание заголовка (заголовок, ссылки на файлы,)

Светодиодная лента Wi-Fi

Первые два тега сообщают браузеру, что это веб-страница. Затем третья строка сообщает браузеру скрыть любой текст внутри блока, а под ним находится заголовок, который появится на вкладке.

Делаем веб-страницу полноэкранной на iOS

Чтобы сделать страницу полноэкранной, введите этот код под тегом

Затем мы добавим ссылки на файл css, который мы сделаем последним, это будет другой способ, чем обычно, из-за того, что flask - это способ управления файлами

Затем после этого вы ДОЛЖНЫ закрыть тег и создать тег тела

Тег body означает, что любые теги внутри него будут отображаться на веб-странице.

Теперь мы собираемся сделать кнопки цвета, которые могут изменить светодиодную полосу.

Мы создадим по одному для каждого цвета и поместим в таблицу.

Это создает внешнюю рамку стола.

это создаст строку для таблицы

Теперь создадим оранжевую кнопку

тег td создает ячейку, затем функция «onClick» вызовет функцию javascript, которую мы создадим последней, тогда функция «class» используется для стилизации кнопки, а стиль - просто для ее окраски.

Нам просто нужно будет изменить текст sendColour и стиль для каждой другой кнопки, но после каждой второй кнопки мы будем закрывать строку и создавать новую строку.

Так далее…

Затем, после того, как вы добавили весь цвет, вам нужно закрыть стол.

Javascript

Теперь нам нужно добавить функцию «SendColour», на которую мы ссылались раньше, чтобы сделать это, нам сначала нужно добавить тег, сообщающий веб-браузеру, что существует некоторый javascript.

затем создайте функцию

function SendColour (ClickedColour) {

Эта функция отправит запрос Ajax на raspberry pi, который скажет ему изменить цвет на цвет, который вы щелкнули.

xhttp = новый XMLHttpRequest ();

xhttp.open ("ПОЛУЧИТЬ", "? Color =" + ClickedColour, false); xhttp.send (); }

Теперь нам нужно закрыть javascript и html.

CSS

Теперь займемся дизайном сайта.

сначала cd из папки шаблонов и перейдите в статическую папку

cd.. && cd static

теперь создайте файл Style.css

nano Style.css

Сначала давайте заставим таблицу заполнять весь экран.

. Цвета {

ширина: 100%; }

.кнопка {

отступ: 25 пикселей 35 пикселей; радиус границы: 4 пикселя; }

Тестирование сервера

для тестирования сервера зайдите в папку веб-сервера

CD..

затем введите

python Main.py

это запустит сервер, затем на вашем компьютере откройте веб-браузер и перейдите к

YOUR_PI_PI: 5000the: 5000 в конце пока важен, так как это порт, на котором работает веб-сервер.

если вы перейдете на веб-страницу и получите «Internal Server Error», то посмотрите на консоль (замазку или терминал), и вы увидите кучу текста, просто посмотрите на последнюю строку, и она должна. рассказать вам, что происходит, вы можете найти ответ в Google, но если вы видите цвета на экране, вы можете щелкнуть по одному, и вы должны увидеть, что светодиодная полоса переходит к этому цвету, если это не так, проверьте, подключено ли и включено ли питание, или что код HTML был введен правильно.

Шаг 13: заставить его работать с Apache2

Теперь, когда мы протестировали его, нам нужно заставить его разговаривать с apache, чтобы он мог работать при запуске и на порту 80 (стандартный веб-порт).

1. внутри папки WebServer создайте файл wsgi

нано wifiled.wsgi

Затем в файле введите

import sys

sys.path.insert (0, '/ home / pi / Webserver /') из основного приложения импорта в качестве приложения

затем добавьте пользователя 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 $ {APACHE_LOG_DIR} / комбинированный

затем скажите apache прочитать конфигурацию, введя

sudo a2ensite wifiled.conf

Теперь перезапустите пи, когда он перезагрузится, войдите в свой веб-браузер

ВАШ_ИП_ИП

Шаг 14: Настройка Tasker, Ifttt и других служб

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

Таскер

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

затем создайте новый профиль на основе события, вы можете выбрать любой триггер. Я выбрал «Телефонный звонок» и установил любой цвет «C: ЛЮБОЙ». Затем он попросит вас выбрать задачу, нажать «Новая задача» и назвать ее в зависимости от вашего действия. Я назову это «Телефонный звонок», затем нажмите «Добавить» и найдите «HTTP Head» и установите Server: Port на your_raspberry_pi_IP, затем в пути вы можете установить сплошной цвет с помощью «/? Color = Green» или создать эффект мы сделаем это на следующем шаге. Затем нажмите назад и снова назад.

IFTTT

сначала перейдите к ifttt и создайте новый апплет. Выберите любой триггер (я выбрал кнопку), а затем для действия выберите канал производителя и сказал, чтобы сделать запрос, затем для URL-адреса введите YOUR_PUBLIC_PI /? Color = LightBlue, если вы не знаете свою общедоступную ip просто введите "Мой IP" в Google. Затем для метода введите HEAD, затем нажмите «Создать действие», когда ваше действие произойдет, если вы сделаете запрос к вашему пи, чтобы изменить цвет.

Другие услуги

Вы также можете подключить другие службы, которые выполняют HTTP-запрос HEAD или GET.

Шаг 15: Создание собственных эффектов

В Main.py добавьте оператор импорта, в разделе import os введите

время импорта

также, прежде чем мы создадим эффект, нам нужно добавить переменную прямо под GreenBeforeEffect add

CanChangeColour = True

затем измените, если request.args.get ('Color'):

к

если request.args.get ('Color') и CanChangeColour:

раздел сразу после return render_template ('Main.html') добавить

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

def Эффект ():

Затем установите переменные в глобальные

х = 0

глобальный RedColourCode глобальный BlueColourCode глобальный GreenColourCode глобальный RedBeforeEffect глобальный BlueBeforeEffect глобальный GreenBeforeEffect

теперь давайте создадим наш первый эффект

если request.args.get ('Позвонить'):

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

Это действие будет запущено, когда пи получит запрос типа «/? Effect = Call» и сохранит текущий цвет, чтобы мы могли его снова вызвать. Затем мы делаем полосу светодиода черной и ждем, пока это не произойдет.

Теперь мы собираемся изменить цвет светодиода с черного на зеленый, а затем снова на черный, и я хочу сделать это пять раз.

в то время как 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)

Это будет считаться до пяти, но каждый раз он станет зеленым, а затем подождет секунду и станет черным. Затем то, что это закончится, изменит цвет обратно на тот, который был у вас до изменения.

Теперь осталось только создать ответ.

возвращение ""

Также перезагрузите raspberry pi

перезагрузка sudo

Рекомендуемые: