Raspberry PI Soundreactive LEDs Without MIC + ESP
by enrik_tjr in Circuits > Raspberry Pi
1906 Views, 1 Favorites, 0 Comments
Raspberry PI Soundreactive LEDs Without MIC + ESP
Dies ist die offizielle Anleitung zu den ersten Musikgesteuerten Leds vom Tiktok acc Enrik_tjr.
viel Spaß beim Nachmachen ganz unten ist das Youtube Tutorial zu finden
Supplies
Raspberry PI Update
sudo apt-get update sudo apt-get full-upgrade
Software Downloaden
curl -sSL https://raw.githubusercontent.com/TobKra96/music_led_strip_control/master/setup.sh | sudo bash -s -- -b master
Software Einrichten
Step 1:
cd /share/music_led_strip_control/server
Step 2:
sudo python3 main.py
Step 3:
sudo python3 main.py
Fotos:
Raspberry Pi Codes Für ESP 1
Raspberry PI Updaten:
sudo apt-get update sudo apt-get upgrade
Benötigte Pakete installieren:
sudo apt install dnsmasq hostapd
Öffnen/erstellen Sie die folgende Datei:
sudo nano /etc/dhcpcd.conf
Fügen Sie den folgenden Inhalt am Ende der Datei ein (Wie im Bild):
Fügen Sie den folgenden Inhalt am Ende der Datei ein:
interface wlan0 static ip_address=172.24.26.1/24
Raspberry Pi Codes Für ESP 2
Speicher das, indem Sie Strg+X , dann „Y“ und dann „Enter“ drücken.
Starten Sie den DHCP-Client-Dienst neu:
sudo systemctl restart dhcpcd
Wir wollen prüfen, ob die wlan0-Schnittstelle verfügbar ist. Geben Sie den folgenden Befehl ein:
ip l
Es sollte dann so aussehen wie im Bild
Nun geht es weiter mit dem DNS Server. Sichern Sie die aktuelle Konfiguration:
sudo mv /etc/dnsmasq.conf /etc/dnsmasq.conf.bak
Erstellen Sie eine neue Konfigurationsdatei:
sudo nano /etc/dnsmasq.conf
Fügen sie hier dies ein:
# Activate the DHCP-Server for the Wifi-Interface interface=wlan0 # DHCP-Server not active for Ethernet Network no-dhcp-interface=eth0 # IPv4 Address Scope and Lease-Time dhcp-range=172.24.26.0,172.24.26.255,255.255.255.0,24h # DNS dhcp-option=option:dns-server,172.24.26.1
Und wieder Speichern mit Strg+X , dann „Y“ und dann „Enter“
Sie können die Konfiguration überprüfen mit:
dnsmasq --test -C /etc/dnsmasq.conf
Dann sollte da: "dnsmasq: syntax check OK."
Starten Sie DNSMASQ neu:
sudo systemctl restart dnsmasq
Nun lassen wir und den Status vom dnsmasq anzeigen:
sudo systemctl status dnsmasq
Das sollte dann so wie im Bild aussehen.
Es wird aktiv sein und es sollten keine Fehler auftreten.
Aktivieren Sie den Dienst so, dass er beim Neustart gestartet wird:
sudo systemctl enable dnsmasq
Jetzt können wir die Access Point Software konfigurieren.
Erstellen Sie eine neue Konfigurationsdatei:
sudo nano /etc/hostapd/hostapd.conf
Geben Sie die folgenden Einstellungen ein:
# Interface and driver interface=wlan0 #driver=nl80211 # Wifi Configuration ssid=MLSC-Wifi channel=1 hw_mode=g ieee80211n=1 ieee80211d=1 country_code=DE wmm_enabled=1 # Wifi Encryption auth_algs=1 wpa=2 wpa_key_mgmt=WPA-PSK rsn_pairwise=CCMP wpa_passphrase=wifipassword
Sie müssen country_code durch Ihren eigenen Ländercode ersetzen.
Ändern Sie den channal, wenn ihre Netzwerkleistung niedrig ist.
Ändern Sie das Passwort in wpa_passphrase
Ändern Sie die Dateirechte. Nur der Administrator sollte das WLAN-Passwort sehen:
sudo chmod 600 /etc/hostapd/hostapd.conf
Überprüfen Sie, ob die Konfiguration funktioniert hat:
sudo hostapd -dd /etc/hostapd/hostapd.conf
Dies können sie mit "STRG + C" stoppen
Wenn hostapd nicht startet, können Sie versuchen, das WLAN zu entsperren und hostapd erneut zu starten:
sudo rfkill unblock all sudo hostapd -dd /etc/hostapd/hostapd.conf
Hostapd zum Autostart hinzufügen:
sudo nano /etc/default/hostapd
Fügen Sie die folgenden Parameter hinzu:
RUN_DAEMON=yes DAEMON_CONF="/etc/hostapd/hostapd.conf"
Speichern per STRG + X dann Y und dann Enter
Starten Sie hostapd und überprüfen Sie den Status:
sudo systemctl unmask hostapd sudo systemctl start hostapd sudo systemctl enable hostapd sudo systemctl status hostapd
Der Dienst sollte aktiv (running) sein.
Starten Sie das System neu und prüfen Sie, ob alles funktioniert:
sudo reboot
ESP Einrichten
Zum Flashen der Firmware wurde Arduino IDE verwendet. Stellen Sie sicher, dass Sie die richtigen Board-Pakete installiert haben.
Meine Boardmanager-URL lautet:
https://dl.espressif.com/dl/package_esp32_index.json,http://arduino.esp8266.com/stable/package_esp8266com_index.json
Sie können dies zum Menü "Dateien/Einstellungen" hinzufügen. Installieren Sie das ESP Board Package im Board Manager und konfigurieren Sie die seriellen Verbindungen. Diese Einstellung hängt von Ihrem ESP-Mikrocontroller ab, den Sie verwenden.
Jetzt müssen wir die benötigten Bibliotheken installieren. Verwenden Sie dafür den Bibliotheksverwalter:
ESP8266WiFi WiFiUdp NeoPixelBus
Geben sie im Browser diesen Link ein:
https://raw.githubusercontent.com/TobKra96/music_led_strip_control/master/client/udp/esp/nodemcu_client/nodemcu_client.ino
Kopieren sie den Code und fügen sie ihn in Arduino IDE ein
Nun ändern sie alle Zeilen, damit es auf ihre Daten einstimmt.
NUM_LEDS Anzahl der verwendeten LEDs.
ssid Die WLAN-SSID Ihres Access Points (Des Raspberry´s).
passwort Das Passwort Ihres Access Points.
ip Die IP, die der ESP verwenden wird. (die ersten 3 Zahlen sind die von der IP des Raspberrys, und die Letzte ist frei wählbar)
Gateway Die Gateway-IP Ihres Raspberry Pi. Dies sollte die statische IP sein, die Sie zuvor festgelegt haben.
subnet Die Subnetzmaske, die Ihr Access Point verwendet. (255, 255, 255, 0 ist standard)
Jetzt können Sie das Programm erstellen und auf das ESP flashen
ESP Im Webserver Einrichten
Nun klicken sie im Webserver auf Settings und dann auf Device Settings (Siehe Bild 1)
Wechseln Sie zum create device. Es sollte als " Default Device" angezeigt werden.
Geben Sie einen Namen für das Gerät ein.
Stellen Sie die maximalen FPS ein. Höhere FPS verursachen eine höhere CPU-Auslastung. Die Verwendung von 60 FPS wird empfohlen.
Geben Sie die LED-Anzahl ein.
Definieren Sie die Mitte des LED-Streifens. Wenn Sie Ihren LED-Streifen um eine Ecke verwenden, können Sie die Anzahl der LEDs vor der Ecke eingeben.
Stellen Sie als "Selected Output Type", "Output Network via UDP" ein.
Stellen Sie die IP-Adresse des ESP ein.
Der Port der UDP-Verbindung. 7777 ist die Standardeinstellung.
Speichern Sie die Änderungen.
Jetzt können Sie den LED-Streifen einschalten und prüfen, ob die Netzwerkverbindung und der LED-Streifen funktionieren.
LED Anzeige Bedeutungen
LED 1: Verbinden – Der LED-Streifen versucht, eine Verbindung herzustellen. Die LED blinkt.
LED 2: Reconnected – Zeigt an, ob der LED-Streifen wieder mit dem lokalen Netzwerk verbunden ist.
LED 3: WL_CONNECTED – ESP mit dem WiFi-Netzwerk verbunden.
LED 4: WL_NO_SHIELD - Es konnte kein WiFi-Schild gefunden werden.
LED 5: WL_IDLE_STATUS - Das WLAN befindet sich im Ruhezustand.
LED 6: WL_NO_SSID_AVAIL - Das WLAN mit der konfigurierten SSID konnte nicht gefunden werden.
LED 7: WL_SCAN_COMPLETED - Netzwerkscan abgeschlossen.
LED 8: WL_CONNECTED – Mit dem WLAN verbunden.
LED 9: WL_CONNECT_FAILED - Die Verbindung ist fehlgeschlagen.
LED 10: WL_CONNECTION_LOST - Die Verbindung zum WLAN-Netzwerk wurde unterbrochen.
LED 11: WL_DISCONNECTED – Das ESP wurde vom lokalen Netzwerk getrennt.