
Оглавление:
2025 Автор: John Day | [email protected]. Последнее изменение: 2025-01-23 15:05



Это простой проект для создания звуковых объявлений и включения и выключения света на PI удаленно из веб-браузера. Итак, вот что вам нужно:
1) Raspberry Pi с предустановленными Apache и PhP. Я использовал старый Pi v1, который у меня был. Я предполагаю, что он подключен к вашей домашней сети через Wi-Fi или Ethernet.
2) Аудиоколонки, которые можно подключить к Pi через выходное соединение динамика. Я использовал старый комплект динамиков от старинной стереосистемы.
3) Комплект рождественских огней для елки - я купил свою в Паундленде.
4) Зажимы типа «крокодил» и кабели для макета для подключения / тестирования Pi к динамикам и источникам света (см. 7).
5) ПК или ноутбук с эмулятором терминала Putty для доступа к Raspberry Pi
6) термоусадочная проволока
7) Пистолет горячего воздуха для подключения акустических и осветительных проводов.
Основная идея состоит в том, что я использую веб-форму, чтобы делать удаленные объявления через свои динамики, а также включать и выключать свет. Я использую сценарии PHP, которые, в свою очередь, выполняют Espeak для преобразования текста в речь и команды GPIO для источников света. Я предполагаю, что вы знаете, как установить Apache и PhP на свой Raspberry Pi. Это очень хорошо задокументировано.
Я попытался сохранить эту низкую стоимость, поэтому я использовал старый динамик стереосистемы, который у меня был, и после удаления соединений и обнажения кабелей я подключил его к старому микрофонному кабелю, который я также разрезал. громкость динамика была ниже, чем у динамика с внешним питанием, я мог запитать все от Raspberry Pi. То же самое и с огнями. Я снял с них блок питания 3,3 В, обнажил провода и подключил их к Pi с помощью разъемов на макетной плате «мама» / «папа». Все это я соединил зажимами типа «крокодил».
После тестирования и проверки я позже соединил все провода термоусадочной проволокой с помощью термофена.
Шаг 1. Настройте и протестируйте оборудование



Я включил Pi и подключил динамики к выходному аудиоразъему Pi. Я подключил фары, соединив один конец с GPIO17 (6-й контакт на внутренней колонке) и GND (3-й контакт на внешней колонке) - см. Фото выше. ПОЖАЛУЙСТА, ОБРАТИТЕ ВНИМАНИЕ, ЧТО Я ИСПОЛЬЗОВАЛ PI версии 1, поэтому, ПОЖАЛУЙСТА, ИЗМЕНИТЕ ПИН-коды, ЕСЛИ ВЫ ИСПОЛЬЗУЕТЕ ПОЗДНУЮ ВЕРСИЮ PI.
Выше показаны термоусадочная проволока и термофен для подключения проводов громкоговорителей и осветительных приборов.
Затем, когда все было включено, я вошел в Pi с помощью Putty со своего ноутбука с Windows. Чтобы найти IP-адрес Pi, откройте IP-адрес вашего маршрутизатора в веб-браузере (обычно это что-то вроде 192.168.1.254), который покажет список подключенных устройств, включая имя хоста Pi и IP-адрес. Вы можете использовать любой из них для входа в Putty, но я обычно использую IP-адрес, потому что у меня есть несколько PI. Кроме того, вы можете войти в Putty, попробовав имя хоста, такое как pi или raspberrypi. Когда в Putty будет предложено ввести имя пользователя и пароль, попробуйте pi / raspberry, которые являются значениями по умолчанию. (ИСПОЛЬЗОВАНИЕ ДАННЫХ ПО УМОЛЧАНИЮ ОЧЕНЬ БЕЗОПАСНО И ОСТАВЛЯЕТ ВАС ОТКРЫТЫМ ДЛЯ АТАКИ ХАКЕРОВ, ДАЖЕ В ЧАСТНОЙ СЕТИ). По моему опыту, программы Pi, библиотеки Espeak и GPIO по умолчанию установлены на большинстве образов Pi.
Хорошо, когда вы получаете доступ к командной строке на RaspberryPi, попробуйте следующие команды - sudo alsamixer, который показывает элементы управления звуковой картой - если у вас есть пассивный динамик, как я использовал, вам нужно будет увеличить громкость до максимума. Затем включите свет
sudo / usr / local / bin / gpio -g mode 17 outudo / usr / local / bin / gpio -g write 17 1
затем выключите свет
(Обратите внимание: любые проблемы, просто попробуйте просто sudo gpio и т. Д. - также проверьте, установлен ли gpio, набрав gpio -v - если вам нужно установить, посмотрите
sudo / usr / local / bin / gpio -g запись 17 0
Теперь проверьте, что espeak работает
~ $ sudo espeak "это тест"
У меня редко возникали проблемы с Espeak, но я сталкивался с проблемами, когда громкость Alsamixer низкая, а иногда другие программы захватывали звуковую карту. Вам нужно запустить ps -ef и посмотреть, какие еще запущены медиа-процессы. Вы можете использовать что-то вроде sudo kill -9 $ (sudo ps aux | sudo grep -v grep | sudo grep mplayer | sudo awk '{print $ 2}'), чтобы убить их - мы используем это позже в сценарии PHP
Шаг 2: Настройка веб-сервера


Нам необходимо выполнить ряд шагов
1) Найдите владельца веб-сервиса / сервера apache2 - запустите sudo ps aux | egrep '(apache | httpd)', и вы должны увидеть www-data2) добавьте www-data в группу sudo - запустите sudo nano / etc / sudoers --- добавьте строку www-data ALL = (ALL) NOPASSWD: ALL
3) добавить www-data в аудиогруппу - sudo adduser www-data audio
4) Необязательный шаг - создать файл phpinfo, который сообщает вам обо всех имеющихся у вас функциях PHP и о местонахождении
файл conf, если вы захотите что-то изменить. Например, некоторые версии PHP блокируют функцию shell_exec (), которая нам нужна для запуска программ командной строки, таких как Espeak, с веб-сервера. Вот как вы настраиваете phpinfo..
Перейдите в свой веб-каталог по умолчанию, обычно / var / www или / var / www / html….. это тот, который содержит файл index.html, и введите sudo nano phpinfo.php, затем введите следующее в редакторе nano и нажмите control O, чтобы Сохранить и выйти
Не забудьте сделать его исполняемым, набрав sudo chmod 755 phpinfo.php - Чтобы просмотреть его, откройте следующий URL-адрес в своем веб-браузере, используя свое имя хоста вместо моего, т.е. raspberrypi -
?>
Шаг 3. Код PHP и веб-скрипты

Я использовал здесь две программы - одну для веб-формы (espeak_form.php), а другую, которая обрабатывает данные формы (my_espeak.php), я включил их выше в виде текстовых файлов и для передачи их на ваш Pi, используя Putty, создайте как php файлы, а затем вырезать и вставить из соответствующих текстовых файлов, показанных выше
pi @ raspberrypi / var / www $ sudo nano /var//www/my_espeak.php
pi @ raspberrypi / var / www $ sudo nano /var//www/espeak_form.php
Не забудьте сделать их исполняемыми, набрав sudo chmod 755 *.php
Написанный мной PHP-скрипт веб-формы (espeak_form.php) не выиграет никаких дизайнерских призов, но у него есть 2 подформы. Один для объявления (преобразование текста в речь), а другой - для одного и того же выключения света. Дополнительная форма espeak позволяет вам выбирать различные акценты, женский голос и функцию шепота, Ядром my_espeak.php является использование функции php - shell_exec (). Как видите, это позволяет PHP выполнять команды Linux без необходимости использования других библиотек, как вам нужно было бы сказать в Python.
Шаг 4: Заключение
Это достаточно сложное решение, поскольку вы используете многие элементы среды Pi, то есть PHP, функции командной строки, Apache, GPIO и т. Д. Я надеюсь, что оно иллюстрирует, что вы можете делать с PI, в частности, и IOT в общем. Есть несколько других способов добиться этого, и вы даже можете управлять им из Интернета, если вы понимаете переадресацию портов, брандмауэр и / или VPN. Надеюсь, вам понравилось, но вот мой отказ от ответственности:
Я НЕ МОГУ ГАРАНТИРОВАТЬ, ЧТО ЭТО БЕЗОПАСНАЯ ИЛИ НАДЕЖНАЯ СИСТЕМА, ПОЭТОМУ НЕ ИСПОЛЬЗУЙТЕ ЕЕ В ЦЕЛЯХ, ВКЛЮЧАЮЩИХ ОБРАБОТКУ ЧАСТНЫХ, ЛИЧНЫХ ИЛИ КОММЕРЧЕСКИХ ДАННЫХ. ТАКЖЕ, ПОДКЛЮЧАЙТЕ КАБЕЛИ БЕЗОПАСНО, И ЕСЛИ ВЫ ИСПОЛЬЗУЕТЕ ВРЕМЕННЫЕ СОЕДИНЕНИЯ, например, КРОКОДИЛОВЫЕ ЗАЖИМЫ, ЗАТЕМ НЕ ОСТАВЛЯЙТЕ СИСТЕМУ БЕЗ ПРЕДОСТАВЛЕНИЯ ИЛИ ИСПОЛЬЗУЙТЕ В ТЯЖЕЛЫХ УСЛОВИЯХ.
Это фантастический способ узнать много нового об IOT и просто вспомнить, прежде чем думать о коммерческих приложениях, использующих такие методы. Raspberry Pi хорош настолько, насколько хороша его SD-карта. Я бы сказал, что год при нормальном использовании по сравнению с некоторыми серверами, которые я использовал, которые работали более 10 лет.
В любом случае, удачи.
Рекомендуемые:
Автомобиль Arduino Bluetooth RC с электронной тормозной системой: 4 шага (с изображениями)

Arduino Bluetooth RC Car W / Electronic Braking System: вот как сделать радиоуправляемый автомобиль примерно за 40 долларов (27 долларов с клоном uno)
Инвалидная коляска с джойстиком и системой отслеживания препятствий: 3 шага (с изображениями)

Инвалидная коляска с джойстиком и отслеживанием препятствий: чтобы облегчить людям с ограниченными физическими возможностями безопасную езду, используется ультразвуковой датчик для отслеживания препятствий на пути. Основываясь на движении джойстика, двигатели будут приводить инвалидную коляску в движение в любых четырех направлениях и на каждой скорости
Бесконтактный смеситель с системой управления дверью для COVID-19: 3 шага

Бесконтактный кран с системой управления дверью для COVID-19: COVID-19 в настоящий момент представляет собой серьезную пандемию. Коронавирус быстро и легко распространяется между людьми. Есть способы обуздать распространение этого вируса, и один из них - мыть руки с мылом не менее 20 секунд. Иногда, если человек
МОТОРИЗОВАННЫЙ СЛАЙДЕР КАМЕРЫ С СИСТЕМОЙ СЛЕЖЕНИЯ (3D-печать): 7 шагов (с изображениями)

МОТОРИЗОВАННЫЙ СЛАЙДЕР КАМЕРЫ С СИСТЕМОЙ ОТСЛЕЖИВАНИЯ (3D-печать): По сути, этот робот будет перемещать камеру / смартфон по рельсу и «отслеживать» объект. Местоположение целевого объекта уже известно роботу. Математика, лежащая в основе этой системы отслеживания, довольно проста. Мы создали имитацию процесса отслеживания
Домашняя безопасность со встроенной системой: 12 шагов (с изображениями)

Домашняя безопасность со встроенной системой: Здравствуйте, читатели! Это инструкции по созданию домашней системы безопасности в отличие от любой другой системы безопасности. Эта система имеет улучшенную функцию TRAP и PANIC Mode, соединяющую владельца дома жертвы, соседа и полицейский участок по сети