From 8052967c3508c0e80e7037d05b5dc88d03933944 Mon Sep 17 00:00:00 2001 From: starcalc Date: Sun, 27 Feb 2022 14:36:37 +0000 Subject: [PATCH 1/3] =?UTF-8?q?=E2=80=9EREADME.md=E2=80=9C=20=C3=A4ndern?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 26589dc..091ed3f 100644 --- a/README.md +++ b/README.md @@ -15,11 +15,14 @@ Remember to activate "ssh" before booting first (touch "/boot/ssh" on the MicroS After login (ssh) proceed with these steps: 1. `sudo apt update` 2. `sudo apt upgrade` -3. `sudo apt -y install git python3-pip libsdl2-mixer-2.0-0` +3. `sudo apt -y install git python3-pip libsdl2-mixer-2.0-0 usbmount` 4. `git clone https://repos.ctdo.de/interfisch/bananenkeyboard/` 5. `pip3 install pyserial pygame` 6. `sudo sh -c 'echo "\n[all]\nenable_uart=1\n" >>/boot/config.txt'` -7. `chmod u+x ~/bananenkeyboard/Pi/s.py` +7. `sudo mkdir /etc/systemd/system/systemd-udevd.service.d` +8. `sudo sh -c 'echo "[Service]\nPrivateMounts=no" >/etc/systemd/system/systemd-udevd.service.d/00-my-custom-mountflags.conf'` +9. `chmod u+x ~/bananenkeyboard/Pi/s.py` +10. `sudo sh -c 'cp ~/bananenkeyboard/piconfig/rc.local /etc/rc.local'` Starten mit From e09ea07112b88394154a33df229d66b0e22b0d92 Mon Sep 17 00:00:00 2001 From: starcalc Date: Sun, 27 Feb 2022 14:37:05 +0000 Subject: [PATCH 2/3] =?UTF-8?q?=E2=80=9Epiconfig/rc.local=E2=80=9C=20hinzu?= =?UTF-8?q?f=C3=BCgen?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- piconfig/rc.local | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 piconfig/rc.local diff --git a/piconfig/rc.local b/piconfig/rc.local new file mode 100644 index 0000000..4a68833 --- /dev/null +++ b/piconfig/rc.local @@ -0,0 +1,24 @@ +#!/bin/sh -e +# +# rc.local +# +# This script is executed at the end of each multiuser runlevel. +# Make sure that the script will "exit 0" on success or any other +# value on error. +# +# In order to enable or disable this script just change the execution +# bits. +# +# By default this script does nothing. + +# Print the IP address +_IP=$(hostname -I) || true +if [ "$_IP" ]; then + printf "My IP address is %s\n" "$_IP" +fi + +su -c 'screen -dmS banane bash' - pi +su -c 'screen -S banane -X stuff "cd /home/pi/bananenkeyboard/Pi/\n"' - pi +su -c 'screen -S banane -X stuff "python3 ./s.py\n"' - pi + +exit 0 From c57a3d5b3670272c7d964116194a1372238176d1 Mon Sep 17 00:00:00 2001 From: starcalc Date: Sun, 27 Feb 2022 15:21:10 +0000 Subject: [PATCH 3/3] =?UTF-8?q?=E2=80=9EREADME.md=E2=80=9C=20=C3=A4ndern?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Anleitung auf aktuelles Raspberry Pi-Image aktualisiert, funktioniert nun wieder wie gewünscht. --- README.md | 22 ++-------------------- 1 file changed, 2 insertions(+), 20 deletions(-) diff --git a/README.md b/README.md index 091ed3f..2ed9f24 100644 --- a/README.md +++ b/README.md @@ -15,7 +15,7 @@ Remember to activate "ssh" before booting first (touch "/boot/ssh" on the MicroS After login (ssh) proceed with these steps: 1. `sudo apt update` 2. `sudo apt upgrade` -3. `sudo apt -y install git python3-pip libsdl2-mixer-2.0-0 usbmount` +3. `sudo apt -y install git python3-pip libsdl2-mixer-2.0-0 usbmount screen` 4. `git clone https://repos.ctdo.de/interfisch/bananenkeyboard/` 5. `pip3 install pyserial pygame` 6. `sudo sh -c 'echo "\n[all]\nenable_uart=1\n" >>/boot/config.txt'` @@ -30,10 +30,7 @@ Starten mit `python3 ./s.py` -# Bekannte funktionierende Konfiguration -* python3.7.3 -* pygame 1.9.6 -* libsdl-mixer1.2 +Das Skript wird durch den Schritt mit der `/etc/rc.local` automatisch nach Systemstart gestartet # Konvertieren und Stille herauskürzen aus Samples: `for file in *.mp3; do ffmpeg -i ${file} -af silenceremove=1:0:-30dB ${file/mp3/wav} -y; done` @@ -42,19 +39,4 @@ Als Quelle haben wir zB https://philharmonia.co.uk/resources/sound-samples/ # TODO * USB-Stick mit Samples anschließen, welche dann den "Standard" überschreiben -* Knopf, welcher die Empfindlichkeit einstellt. Realisiert über einen Knopf am Arduino. (An einem der Digitaleingänge). Wechselt dann zwischen "ein paar" Einstellungen der Empfindlichkeit durch. -* Daisy-Chaining Powerbank erforderlich? (Nicht wirklich zwingend, aber nice to have) * Pi auf Readonly umbauen, damit ein Abschalten über ein "Stecker raus" funktioniert - -# Herausforderungen und Ansätze -* Manchmal springt der Eingangswert für einen Eingang auf 100 ("berührt"), obwohl keine Verbindung vorhanden ist. Er erholt sich nach einiger Zeit wieder (wenige Sekunden) und zeigt wieder korrekt >1000 ("unberührt") an. Das Zurückspringen passierte ohne Interaktion von außen. -* A0 und GND direkt am Arduino gemessen zeigt aber weiterhin den hohen Wert an, nur der Arduino misst einen niedrigen - * RPD verringert (Pull-Down zwischen den Transistoren) von 1M auf 470k - kein Effekt - * BAV99 (D0) Diode ausgelötet - kein Effekt. Allerdings ist beim Messen von Eingang zu GND eine negative Spannung zu sehen - * Touch-Eingang Pull-Down 1.5M - Nichts berührt verbleibt bei hohem Wert (daher eine gute Idee, sollte umgesetzt werden) - kein Effekt für das Problem - * Kabel entfernt - Effekt konnte nicht beobachtet werden. Kabel dran (1m Krokolkemmenkabel) - Effekt wieder da -* Resultat: Die Erdung hat gefehlt. Galvanisch getrenntes Netzteil und somit keine definierte Erde für den Arduino und den Raspberry Pi. Lösung ist daher, ein Erdungskabel anzuschließen, danach trat der Effekt nicht mehr auf. - -# Aktuelles TODO -* Widerstand an die Touch-Eingänge: 1M5R nach GND (jeweils, 8 Stück insgesamt) -* GND-Kabel aus dem Gehäuse herausführen \ No newline at end of file