Съдържание:

R Pi -Дистанционно управление PA и система за осветление: 4 стъпки (със снимки)
R Pi -Дистанционно управление PA и система за осветление: 4 стъпки (със снимки)

Видео: R Pi -Дистанционно управление PA и система за осветление: 4 стъпки (със снимки)

Видео: R Pi -Дистанционно управление PA и система за осветление: 4 стъпки (със снимки)
Видео: Моята работа е да наблюдавам гората и тук се случва нещо странно. 2024, Ноември
Anonim
R Pi -Дистанционно управление PA и система за осветление
R Pi -Дистанционно управление PA и система за осветление
R Pi -Дистанционно управление PA и система за осветление
R Pi -Дистанционно управление PA и система за осветление
R Pi -Дистанционно управление PA и система за осветление
R Pi -Дистанционно управление PA и система за осветление

Това е прост проект за правене на аудио съобщения и включване и изключване на светлини на 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.3v от тях, изложих проводниците и ги свързах с Pi, използвайки женски / мъжки конектори за макет. Свързах всичко това с крокодилски клипове.

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

Стъпка 1: Настройте и тествайте хардуера

Настройте и тествайте хардуера
Настройте и тествайте хардуера
Настройте и тествайте хардуера
Настройте и тествайте хардуера
Настройте и тествайте хардуера
Настройте и тествайте хардуера

Захранвах Pi и свързвах високоговорителите към изходния аудио жак на Pi. Свързах светлините, като свързах единия край към GPIO17 (6 -ти щифт надолу във вътрешната колона) и GND (3 -ти щифт надолу във външната колона) - вижте снимката по -горе. МОЛЯ, ЗАБЕЛЕЖЕТЕ, ЧЕ ИЗПОЛЗВАХ ПИ версия 1, МОЛЯ, ПРОМЕНЕТЕ ПИНОВЕТЕ СЪОТВЕТСТВО, АКО ИЗПОЛЗВАТЕ ПО -късна версия на ПИ.

По -горе са показани термосвиваема жица и пистолет за горещ въздух за свързване на високоговорители и осветителни проводници

След това с всичко включено, влязох в 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 режим 17 outsudo/usr/local/bin/gpio -g запис 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-данни към аудио група-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, след което въведете следното в редактора на нано и натиснете контрола O, за да запази и излез

Не забравяйте да го направите изпълним, като напишете sudo chmod 755 phpinfo.php - За да го видите, отворете следния URL адрес във вашия уеб браузър, като използвате името на хоста си вместо мен, т.е. raspberrypi -

?>

Стъпка 3: PHP кодът и уеб скриптовете

PHP кодът и уеб скриптовете
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 и т.н. Има редица други начини да постигнете това и дори можете да го контролирате от интернет, ако разбирате пренасочване на портове, защитни стени и/ или VPN. Надявам се да ви хареса, но ето моето отказване:

НЕ МОГА ДА ГАРАНТИРАМ, ЧЕ ТОВА Е БЕЗОПАСНА ИЛИ СИГУРНА СИСТЕМА И СЪОТВЕТСТВУВАЙТЕ СЕ, ЗАЩОТО НЕ СЕ ИЗПОЛЗВА ЗА ЦЕЛИ, КОИТО ВКЛЮЧВАТ ОБРАБОТКА НА ЧАСТНИ, ЛИЧНИ ИЛИ ТЪРГОВСКО ЧУВСТВИТЕЛНИ ДАННИ. СЪЩО, СВЪРЗВАЙТЕ КАБЕЛИТЕ СИ БЕЗОПАСНО И АКО ИЗПОЛЗВАТЕ ВРЕМЕННИ ВРЪЗКИ, напр. КРОКОДИЛСКИТЕ КЛИПОВЕ, ТОГАВА НЕ ОСТАВЯТЕ СИСТЕМАТА БЕЗ НАГЛЕЖДАНЕ ИЛИ ИЗПОЛЗВАЙТЕ В СТРОГИ СРЕДИ.

Това е фантастичен начин да научите много за IOT и просто запомнете, преди да мислите за търговски приложения, използвайки методи като този. Raspberry Pi е толкова добър, колкото и SD картата му. Бих казал, че една година при нормална употреба в сравнение с някои сървъри, които използвах, които работеха повече от 10 години.

Както и да е, късмет.

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