Spisu treści:

R Pi -Remote Control PA i system oświetlenia: 4 kroki (ze zdjęciami)
R Pi -Remote Control PA i system oświetlenia: 4 kroki (ze zdjęciami)

Wideo: R Pi -Remote Control PA i system oświetlenia: 4 kroki (ze zdjęciami)

Wideo: R Pi -Remote Control PA i system oświetlenia: 4 kroki (ze zdjęciami)
Wideo: Instalacja Home Assistant na Raspberry Pi 2024, Listopad
Anonim
R Pi - Zdalne sterowanie PA i system oświetlenia
R Pi - Zdalne sterowanie PA i system oświetlenia
R Pi - Zdalne sterowanie PA i system oświetlenia
R Pi - Zdalne sterowanie PA i system oświetlenia
R Pi - Zdalne sterowanie PA i system oświetlenia
R Pi - Zdalne sterowanie PA i system oświetlenia

Jest to prosty projekt do tworzenia ogłoszeń dźwiękowych oraz włączania i wyłączania świateł na PI zdalnie z przeglądarki internetowej. Oto, czego potrzebujesz:

1) Raspberry Pi z preinstalowanym Apache i PHP. Użyłem starego Pi v1, na którym leżałem. Zakładam, że masz go podłączony do sieci domowej przez Wi-Fi lub Ethernet.

2) Głośnik(i) audio, które można podłączyć do Pi za pomocą złącza głośnika wyjściowego. Użyłem starego zestawu głośników ze starego systemu stereo.

3) Zestaw lampek choinkowych - kupiłem je w Poundland.

4) Zaciski krokodylkowe i kable do płytek stykowych do podłączenia / testowania Pi do głośników i świateł. (patrz 7)

5) Komputer stacjonarny lub laptop z emulatorem terminala Putty w celu uzyskania dostępu do Raspberry Pi

6) Drut termokurczliwy

7) Pistolet na gorące powietrze do podłączenia przewodów głośnikowych i oświetleniowych

Podstawową ideą jest to, że używam formularza internetowego do zdalnego wysyłania ogłoszeń przez moich głośników, a także włączania i wyłączania światła. Używam skryptów PHP, które z kolei wykonują Espeak dla bitu tekstu na mowę i polecenia GPIO dla świateł. Zakładam, że wiesz, jak zainstalować Apache i PHP na swoim Raspberry Pi. Jest bardzo dobrze udokumentowany.

Starałem się utrzymać ten niski koszt, więc użyłem starego głośnika systemu stereo, który miałem, a po usunięciu połączeń i odsłonięciu kabli podłączyłem go do starego kabla mikrofonowego, który również przeciąłem. Oznaczało to, że podczas gdy głośność głośnika była niższa niż w przypadku głośnika zasilanego zewnętrznie, mogłem zasilać wszystko z Raspberry Pi. To samo dotyczyło świateł. Wyjąłem z nich skrzynkę zasilacza 3,3 V, odsłoniłem przewody i podłączyłem je do Pi za pomocą żeńskich / męskich złączy płytki stykowej. Wszystko to połączyłem za pomocą krokodylków.

Po testach i walidacji połączyłem później wszystkie przewody z drutem termokurczliwym za pomocą pistoletu na gorące powietrze.

Krok 1: Skonfiguruj i przetestuj sprzęt

Skonfiguruj i przetestuj sprzęt
Skonfiguruj i przetestuj sprzęt
Skonfiguruj i przetestuj sprzęt
Skonfiguruj i przetestuj sprzęt
Skonfiguruj i przetestuj sprzęt
Skonfiguruj i przetestuj sprzęt

Zasiliłem Pi i podłączyłem głośniki do gniazda wyjściowego audio Pi. Połączyłem światła, podłączając jeden koniec do GPIO17 (6. pin na wewnętrznej kolumnie) i GND (3. pin na zewnętrznej kolumnie) - patrz zdjęcie powyżej. PROSZĘ PAMIĘTAĆ, ŻE UŻYŁEM PI w wersji 1, WIĘC PROSZĘ ODPOWIEDNIO ZMIENIĆ PINY, JEŚLI UŻYWASZ PÓŹNIEJSZEJ WERSJI PI.

Powyżej pokazano przewód termokurczliwy i pistolet na gorące powietrze do podłączenia przewodów głośnikowych i oświetleniowych

Następnie, gdy wszystko było włączone, zalogowałem się do Pi za pomocą Putty z mojego laptopa z systemem Windows. Aby znaleźć adres IP Pi, otwórz adres IP routera w przeglądarce internetowej (zwykle jest to 192.168.1.254), która wyświetli listę podłączonych urządzeń, w tym nazwę hosta Pi i adres IP. Możesz użyć jednego z nich, aby zalogować się do Putty, ale zwykle używam adresu IP, ponieważ mam kilka PI. Alternatywnie możesz zalogować się do Putty, próbując nazwy hosta, takiej jak pi lub raspberrypi. Gdy w Putty zostaniesz poproszony o podanie nazwy użytkownika i hasła, spróbuj pi/raspberry, które są wartościami domyślnymi. (UŻYWANIE USTAWIEŃ DOMYŚLNYCH JEST BARDZO NIEBEZPIECZNE I POZWALA CIĘ OTWIERAĆ NA ATAK HAKERSÓW, NAWET W SIECI PRYWATNEJ). Z mojego doświadczenia wynika, że programy Pi, biblioteki Espeak i GPIO są domyślnie instalowane na większości obrazów Pi.

Dobra, gdy uzyskasz dostęp do wiersza poleceń na RaspberryPi wypróbuj następujące polecenia - sudo alsamixer, które powinny ujawnić kontrolki karty dźwiękowej - jeśli masz głośnik pasywny, tak jak używałem, będziesz musiał zwiększyć głośność do max. Następnie włącz światła

sudo /usr/local/bin/gpio -g tryb 17 outsudo /usr/local/bin/gpio -g zapis 17 1

następnie zgaś światła

(Uwaga: wszelkie problemy po prostu spróbuj sudo gpio itp. - sprawdź również, czy gpio jest zainstalowane, wpisując gpio -v - jeśli musisz zainstalować, spójrz na

sudo /usr/local/bin/gpio -g zapis 17 0

Teraz przetestuj, że espeak działa

~ $ sudo espeak "to jest test"

Rzadko miałem problemy z Espeak, ale napotykałem problemy, gdy głośność Alsamixera jest niska, a czasami inne programy chwytały kartę dźwiękową. Musisz uruchomić ps -ef i zobaczyć, jakie inne procesy medialne są uruchomione. Możesz użyć czegoś takiego jak sudo kill -9 $(sudo ps aux | sudo grep -v grep | sudo grep mplayer | sudo awk '{print $2}') do ich zabicia - użyjemy tego później w skrypcie PHP

Krok 2: Konfiguracja serwera WWW

Konfiguracja serwera internetowego
Konfiguracja serwera internetowego
Konfiguracja serwera internetowego
Konfiguracja serwera internetowego

Jest kilka kroków, które musimy wykonać

1) Znajdź właściciela usługi internetowej / serwera apache2 - uruchom sudo ps aux | egrep '(apache|httpd)' i powinieneś zobaczyć www-data2) dodaj www-data do sudo group - uruchom sudo nano /etc/sudoers --- dodaj linię www-data ALL=(ALL) NOPASSWD: ALL

3) dodaj www-data do grupy audio - sudo adduser www-data audio

4) Opcjonalnym krokiem jest utworzenie pliku phpinfo, który poinformuje Cię o wszystkich funkcjach PHP, które posiadasz i lokalizacji

plik konfiguracyjny, jeśli chcesz coś zmienić. Na przykład, niektóre wersje PHP blokują funkcję shell_exec(), której potrzebujemy do uruchamiania programów wiersza poleceń, takich jak Espeak, z serwera WWW. Oto jak skonfigurować phpinfo..

Przejdź do domyślnego katalogu internetowego, zwykle /var/www lub /var/www/html….. jest to ten z plikiem index.html i wpisz sudo nano phpinfo.php, a następnie wpisz następujące polecenie w edytorze nano i naciśnij Ctrl, aby Zapisz i wyjdź

Nie zapomnij, aby był wykonywalny, wpisując sudo chmod 755 phpinfo.php - Aby go wyświetlić, otwórz następujący adres URL w przeglądarce internetowej, używając swojej nazwy hosta zamiast mojej, tj. raspberrypi -

?>

Krok 3: Kod PHP i skrypty internetowe

Kod PHP i skrypty internetowe
Kod PHP i skrypty internetowe

Użyłem tutaj dwóch programów - jednego do formularza internetowego (espeak_form.php) i drugiego, który przetwarza dane formularza (my_espeak.php) Umieściłem je powyżej jako pliki tekstowe i aby przenieść je do twojego Pi, używając Putty stwórz oba php pliki, a następnie wytnij i wklej z odpowiednich plików tekstowych pokazanych powyżej

pi@raspberrypi /var/www $ sudo nano /var//www/my_espeak.php

pi@raspberrypi /var/www $ sudo nano /var//www/espeak_form.php

Pamiętaj, aby uczynić je wykonywalnymi, wpisując sudo chmod 755 *.php

Napisany przeze mnie skrypt PHP formularza internetowego (espeak_form.php) nie zdobędzie żadnych nagród za projekt, ale ma 2 podformularze. Jedna służy do tworzenia ogłoszenia (tekst na mowę), a druga służy do włączania i wyłączania świateł. Podformularz espeak pozwala wybrać różne akcenty, głos żeński i funkcję szeptu, Rdzeniem my_espeak.php jest użycie funkcji php - shell_exec(). Jak widać, pozwala to PHP na wykonywanie poleceń Linuksa bez potrzeby korzystania z innych bibliotek, jak trzeba by powiedzieć w Pythonie.

Krok 4: Wniosek

Jest to dość złożone rozwiązanie, ponieważ używasz wielu elementów środowiska Pi, tj. PHP, funkcji wiersza poleceń, Apache, GPIO itp. Mam nadzieję, że ilustruje to, co możesz zrobić z PI konkretnie i IOT w ogóle. Istnieje wiele innych sposobów, aby to osiągnąć, a nawet możesz kontrolować to z Internetu, jeśli rozumiesz przekierowanie portów, firewall i/lub VPN. Mam nadzieję, że Ci się podobało, ale oto moje zastrzeżenie:

NIE MOGĘ GWARANTOWAĆ, ŻE JEST TO BEZPIECZNY SYSTEM I DLATEGO PROSZĘ NIE UŻYWAĆ GO DO CELÓW, KTÓRE OBEJMUJĄ PRZETWARZANIE WRAŻLIWYCH DANYCH OSOBOWYCH LUB KOMERCYJNYCH. RÓWNIEŻ PODŁĄCZ SWOJE KABLE BEZPIECZNIE I JEŚLI KORZYSTASZ Z POŁĄCZEŃ TYMCZASOWYCH, NP. KROKODYLE NIE POZOSTAWIAJ WTEDY SYSTEMU BEZ NADZORU ANI NIE UŻYWAJ W TRUDNYCH WARUNKACH.

Jest to fantastyczny sposób, aby dowiedzieć się dużo o IOT i po prostu pamiętaj, zanim zaczniesz myśleć o komercyjnych aplikacjach przy użyciu takich metod. Raspberry Pi jest tak dobre, jak jego karta SD. Powiedziałbym, że rok przy normalnym użytkowaniu w porównaniu do niektórych serwerów, których używałem, które działały przez ponad 10 lat.

Mimo wszystko, powodzenia.

Zalecana: