Оглавление:
2025 Автор: John Day | [email protected]. Последнее изменение: 2025-01-13 06:58
Я хотел управлять выключателем света в своей спальне, не вставая с кровати, поэтому я хотел иметь возможность управлять им со своего телефона. У меня было несколько дополнительных ограничений, я хотел иметь возможность легко управлять им с любого устройства, я хотел иметь возможность использовать выключатель света как обычно, и я не мог вносить существенные изменения в оборудование, когда я снимаю квартиру.
Я решил использовать Raspberry Pi для управления серводвигателем, который будет перемещать переключатель. Raspberry Pi запускал веб-сервер, к которому я мог получить доступ, находясь в локальной сети. Ссылки на веб-сайте на этом сервере позволили бы мне включать и выключать переключатель. Обесточив сервопривод между переключениями, я все еще мог использовать выключатель как обычно.
Шаг 1: материалы
Расперри Пи
Серводвигатель:
smile.amazon.com/gp/product/B0015H2V72/ref…
Проволочные гайки
Провода перемычки
Шаг 2: Шаг 1: Настройте Raspberry Pi
Это можно сделать разными способами. Если у вас под рукой есть монитор HDMI и клавиатура USB, я думаю, это немного проще. В противном случае вы можете выполнить настройку «без головы».
Вот хороший учебник по настройке без подключения к компьютеру в Windows:
www.circuitbasics.com/raspberry-pi-basics-…
И еще один для Mac:
www.circuitbasics.com/raspberry-pi-basics-…
Но самый простой - загрузить SD-карту с помощью NOOBS, загрузить Pi при подключении к монитору и клавиатуре и просто выполнить настройку. В этом руководстве это довольно хорошо объясняется:
www.circuitbasics.com/raspberry-pi-basics-…
Если вы не выполняли настройку без подключения к сети, вы все равно должны подготовить SSH, это необходимо для остальной части этого. Для этого я использую Putty. Получи это здесь:
www.circuitbasics.com/raspberry-pi-basics-…
А если вы не знаете IP-адрес своего Pi, вы можете использовать расширенный IP-сканер:
Затем просто введите IP-адрес для числа «пи» в поле «Имя хоста / IP-адрес», оставьте порт на 22 и нажмите «Открыть». Вам будет предложено ввести логин.
Шаг 3: Шаг 2: Настройте веб-сервер
Для запуска веб-сервера я использовал Apache. Вы можете установить это, используя команду:
sudo apt-get install apache2
По умолчанию это должно давать вам заставку при переходе к IP-адресу вашего пи. Это должно выглядеть как на картинке ниже.
Шаг 4: Шаг 3: Создайте веб-сайт
Вы захотите заменить страницу-заставку по умолчанию на свой веб-сайт, который может управлять серводвигателем. Первым делом нужно заменить индексный файл. Ваш индексный файл для веб-сайта должен находиться в / var / www / html. Используйте свой любимый текстовый редактор, чтобы создать файл, или просто скопируйте файл сюда, используя что-то вроде winscp. Добавьте "index.php" в это место, вам придется заново сохранить его как файл php, поскольку я не мог загрузить его как таковой. Этот php-файл создает очень простой веб-сайт с двумя ссылками: одна на «cgi-bin / off.py», а вторая - на «cgi-bin / on.py». Это два скрипта на Python, которые изменяют положение серводвигателя.
Скрипты python должны быть помещены в другое место, чтобы Apache мог им работать. Их нужно будет положить в cgi-bin. Сюда отправляются файлы, если они должны запускаться в интерфейсе общего шлюза, который позволяет запускать сценарии на пи. Перейдите в / usr / lib / cgi-bin и добавьте два файла «on.py» и «off.py».
Шаг 5: Шаг 4: Установите двигатель
Я нашел отличную деталь от другого производителя для установки сервопривода, который может переключать стандартный выключатель света. Вы можете найти для него 3d-файлы здесь:
github.com/suyashkumar/smart-lights
Это сервопривод стандартного размера, как указано в разделе деталей. Распечатайте это или сделайте распечатку, а затем прикрепите к выключателю света.
Шаг 6: Шаг 5: Подключите Pi и мотор
Я запитал пи с микро-USB. Я отсоединил еще один микро-USB и подключил к нему землю и питание сервопривода. Я поделил землю между пи и сервоприводом. Затем я подключил сигнальный контакт сервопривода к GPIO18 на Pi.
Шаг 7: Шаг 6: настройка скриптов
Вам нужно будет немного поэкспериментировать с настройкой, чтобы узнать, какие значения соответствуют для вас включению и выключению. Pi позволяет писать в gpio из командной строки, используя довольно простые команды. чтобы сделать gpio 18 штифтом pwm, используйте команду:
gpio -g mode 18 pwm
затем настройте pwm с помощью:
gpio pwm-ms
gpio pwmc 192
gpio pwmr 2000
Это просто разумные значения для конфигурации частоты ШИМ. Следующее использование:
gpio -g pwm 18 120
Где вы меняете 120 вокруг, чтобы найти подходящие значения для положения включения и выключения.
После того, как вы нашли подходящие значения для выключения и включения, используйте текстовый редактор, чтобы изменить эти значения в соответствующих сценариях для двух позиций. Место для внесения изменения выделено на картинке.
Шаг 8: Шаг 7: Проверьте это
Перейдите к IP-адресу пи, вы должны увидеть веб-страницу со ссылкой для включения и выключения. На каждой странице также будет ссылка на другую страницу.
Для облегчения доступа к этим страницам удобно добавить ярлык на главный экран телефона.