
Оглавление:
- Шаг 1: Настройка сервера и зависимостей на Raspberry Pi
- Шаг 2. Установите веб-платформу и конфигурацию для NGiNX
- Шаг 3. Настройка скриптов Python, которые будут взаимодействовать с GPIO
- Шаг 4. Завершение работы на стороне PHP
- Шаг 5: Создание схемы
- Шаг 6: Заключительное тестирование
- Шаг 7: Бонусная часть: Старомодный триггер с хлопушкой
2025 Автор: John Day | [email protected]. Последнее изменение: 2025-01-23 15:05

В этом проекте я продемонстрирую, как создать полностью беспроводную систему управления освещением с дополнительным бонусом в конце. Следуйте за полным руководством.
Требования:
- Raspberry Pi (подойдет любой вкус, но я использовал модель 3B +)
- Два транзистора 2n2222 (я рекомендую приобрести как минимум пять, так как есть большая вероятность, что вы закоротите несколько по ошибке)
- Кабели-перемычки между мужчинами и мужчинами и женщинами
- Макетная плата
- (необязательно, но рекомендуется) Источник питания макетной платы 5 В
- По два резистора 1 кОм и 10 кОм
- Модуль Dual-Relay
- Две старые домашние лампы или другие осветительные приборы (используйте светодиодные лампы, так как лампы накаливания имеют тенденцию сгорать во время тестирования)
- Скотч и резак для сращивания кабеля.
Шаг 1: Настройка сервера и зависимостей на Raspberry Pi
Для своего проекта я использовал NGiNX, хотя вы можете использовать любой сервер, какой захотите (Apache2 и т. Д.). Ванильная установка с менеджером пакетов - это нормально, нет необходимости компилировать собственный исходный код или что-то в этом роде. Также нам понадобятся PHP, Python3 и Composer.
- SSH в свой PI и введите $ sudo nano /etc/dhcpcd.conf
- Настроить статические параметры IP.
- Перезагрузите свой PI
- Проверьте, все ли работает, набрав {the_ip_you_chose} в адресной строке браузера (вы должны увидеть страницу приветствия nginx)
Шаг 2. Установите веб-платформу и конфигурацию для NGiNX
Мы хотим иметь веб-сайт, к которому мы можем получить доступ из нашего мобильного или настольного браузера, и, чтобы избавиться от написания простого кода php / html, который не входит в объем данного руководства, мы вместо этого будем использовать PHP-фреймворк под названием Yii2 для обработки основных фрезерование и укладка для нас.
- Перейдите на страницу установки Yii2 и используйте композитор, чтобы установить его в / var / www / html / light-switch.
- Мы пока ничего не увидим, так как мы еще не добавили наш конфигурационный файл для сервера.
- Я прикрепил файл (по умолчанию) к этому шагу
- Используйте его как есть с этим фреймворком или найдите другой в Интернете, если вы предпочитаете другой бэкэнд.
- Вы должны поместить этот файл в / etc / nginx / sites-available /
- Перезагрузите NGiNX с помощью $ sudo systemctl reload nginx
- Если что-то не работает, вы можете запустить $ sudo nginx -t для отладки файлов конфигурации.
Шаг 3. Настройка скриптов Python, которые будут взаимодействовать с GPIO
Поскольку PHP не любит так хорошо работать со сценариями времени выполнения, такими как GPIO API, а python не очень дружелюбен с веб-приложениями, мы будем использовать каждое из них в их выгодных контекстах. В приложении к этому шагу вы найдете 4 необходимых скрипта Python, которые взаимодействуют с контактами и запускают свет. Разместите скрипты в любом месте, но обратите внимание на их расположение, так как оно нам понадобится на следующем шаге, когда мы настроим php-часть.
Шаг 4. Завершение работы на стороне PHP

Все, что нам нужно сделать, это удалить некоторые пути и страницы по умолчанию из основного макета и добавить несколько строк кода в SiteController, а также новый метод с именем actionLightswitch (). После этого он выполнит сценарии python из предыдущего шага, которые, в свою очередь, будут управлять контактами GPIO.
Шаг 5: Создание схемы




Из-за характера этого конкретного релейного модуля (он переключается при подключении к GND) нам необходимо построить схему с использованием транзисторов. PI откроет только транзистор, который позволит току течь от контактов данных реле к GND, тем самым запустив катушку и замкнув цепь для ламп. Следуйте схемам на прилагаемых изображениях, и все будет хорошо.
В следующей части вы должны быть очень осторожны, так как пора подключить реле. Сначала отключите все от сети! Реле имеет 3 порта на каждое соединение. Мы подключим кабели нашей бытовой техники к среднему и тому, на котором есть значок «открыто». Осторожно соедините кабель, чтобы обнажить медные проводники, и вставьте их в вышеупомянутые порты реле. Порядок не имеет значения, мы сейчас работаем с альтернативным током.
Шаг 6: Заключительное тестирование
Проверьте свою схему и назначенные контакты не менее двух раз, затем подключите PI к источнику питания и введите {the_chosen_ip} в адресной строке браузера. На первой странице будут два переключателя. Нажмите на них и посмотрите, как включается / выключается свет.
Шаг 7: Бонусная часть: Старомодный триггер с хлопушкой
Требования:
- любой usb-микрофон (не обязательно качественный)
- Пакет ALSA (способ установки будет отличаться в зависимости от вашего дистрибутива)
- Модуль PyAudio
Скопируйте прикрепленный скрипт Python и подключите микрофон. Перезагрузите PI. Выполните сценарий и следуйте подсказкам консоли. Подойдите ближе к микрофону и дважды хлопните в ладоши. Вы должны увидеть, что хлопки регистрируются на выходе консоли, и в случае успеха оба индикатора загорятся через 2 секунды.
Рекомендуемые:
Переключатель света с контролем мигания глаз с использованием очков-ластиков Шоты Аидзавы (Моя геройская академия): 8 шагов (с изображениями)

Выключатель света с контролем мигания глаз с использованием очков-ластиков Шота Аидзавы (Моя геройская академия): если вы читаете мангу о моем герое-академии или смотрите аниме-герой-академия, вы должны знать персонажа по имени шота аидзава. Шота Аидзава, также известный как Голова-ластик, является профессиональным героем и классным руководителем класса 1-A в США. Причуда Шоты дает ему аб
Переключатель света с ультразвуковым датчиком Arduino: 6 шагов

Переключатель света с ультразвуковым датчиком Arduino: Привет, ребята, сегодня я собираюсь сделать переключатель света. Иногда у меня есть вещи в руке, и у меня нет лишней руки, чтобы включить свет, и это становится неловкой ситуацией. Поэтому я решил сделать переключатель света, который поможет мне включить свет
Легко устанавливаемый переключатель света Мерцание: управление со смартфона с помощью BLYNK: 10 шагов

Легко устанавливаемый переключатель света Мерцание: управление со смартфона с помощью BLYNK: устройства Интернета вещей быстро становятся все более популярными, так почему бы вам не изучить и не создать свои собственные устройства Интернета вещей из дешевых материалов и не поработать, чтобы делать то, что вы не могли раньше «Меня зовут Szehuai, и я всегда засыпаю, но
Переключатель света с дистанционным управлением по Bluetooth - дооснащение. Выключатель света по-прежнему работает, без лишних писем .: 9 шагов (с изображениями)

Переключатель света с дистанционным управлением по Bluetooth - дооснащение. Выключатель света по-прежнему работает, без дополнительных писем .: Обновление от 25 ноября 2017 г. - Версия этого проекта с высокой мощностью, которая может управлять киловаттами нагрузки, см. В разделе «Модернизация управления BLE для работы с мощными нагрузками - дополнительная проводка не требуется» Обновление от 15 ноября 2017 г. - Некоторые платы / стеки программного обеспечения BLE доставляют
Переключатель Slap: простой, сенсорный переключатель без пайки: 7 шагов

Slap Switch: простой сенсорный переключатель без пайки: Slap Switch - это простой сенсорный переключатель сопротивления, разработанный для моего проекта Explode the Controller, чтобы включить физическую игру в компьютерные игры с помощью Makey Makey и Scratch. В проекте требовался сенсорный выключатель, который был: прочным, чтобы его можно было сильно ударить