Inhaltsverzeichnis:
2025 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2025-01-13 06:56
Dinge, die wir brauchen werden:
- Raspberry Pi mit Raspbian
- Berührungssensor von adafruit
- Stromquelle (Batterie/DC)
- Ethernet oder WLAN für Raspberry Pi
- Ein anderer Computer
Schritt 1: Einrichten unserer Raspberry Pi-Hardware
Verbinden Sie zunächst unseren Berührungssensor mit den GPIO-Pins unseres Raspberry Pi. Verwenden Sie einige flexible Kabel
Identifizieren Sie 3 Pins an unserem Sensor:
- GND - mit Masse-Pin verbinden
- VCC - an 5V-Pin anschließen
- SIG - mit einem Signel-Pin verbinden
Wir verwenden in diesem Beispiel die 5V, Masse und GPIO 18 auf unserem Himbeer-Pi.
Schritt 2: Einrichten unserer Umgebung auf dem Raspberry Pi
Beziehen Sie die IP-Adresse unseres Himbeer-Pi.
Dann verbinden Sie sich mit ssh mit unserem Himbeer-Pi:
Geben Sie dann unser Passwort ein.
Sobald wir drin sind, installieren Sie apache2 als unseren Webserver, indem Sie Folgendes eingeben:
sudo apt-get install apache2
Schritt 3: Entwerfen Sie ein Stück Python-Code, um die Eingabe von unserem Sensor zu lesen
Entwurf
In unserem Beispielcode verwenden wir verschiedene Befehle.
Um zu zeigen, dass wir zufrieden sind, drücken wir zweimal lange
Um anzuzeigen, dass wir traurig sind, tippen wir einmal kurz und einmal lang drücken
Um anzuzeigen, dass wir verwirrt sind, machen wir ein kurzes Tippen, warten einen Beat und dann zwei kurze Tippen. Um zu zeigen, dass wir glücklich sind, machen wir ein kurzes Tippen, eine kurze Pause und ein langes Drücken
Um anzuzeigen, dass wir uns langweilen, tippen wir kurz
Diese in Zeichenfolgenbefehle übersetzen: (t für kurzes Tippen, T für langes Drücken, g für kurze Lücke, G für lange Lücke)
glücklich: TgT
traurig: tgT
verwirrt: tGtgt
gelangweilt: tgtgt
Dann lassen wir unseren Code unsere aktuelle Stimmung in eine browserfreundliche HTML-Datei ausgeben, um sie bereitzustellen.
Code
RPi. GPIO als GPIOimport-Zeit importieren
GPIO.cleanup()
GPIO.setmode(GPIO. BCM) GPIO.setup(18, GPIO. IN)
touch_count = 0
touch_state = 0 touch_duration = 0 gap_duration = 0 current_cmd = ""
def cmd():
global current_cmd if current_cmd[-3:] == "TgT": current_cmd = "" mood("Traurig") if current_cmd[-3:] == "tgT": current_cmd = "" mood("Happy") if current_cmd [-5:] == "tGtgt": current_cmd = "" mood("Confused") if current_cmd[-5:] == "tgtgt": current_cmd = "" mood("Boed")
def Stimmung (Stimmung):
file = open("index.html", "w") html = """
Tragbarer Stimmungsreporter
Hey, meine letzte Stimmung ist
{}
"""
file.write(html.format(stimmung))
während(1):
time.sleep(0.001) if(GPIO.input(18)): if touch_state==0: if gap_duration > 2000: gap_duration = 0 if gap_duration > 200: current_cmd = current_cmd + "G" else: current_cmd = current_cmd + "g " gap_duration = 0 touch_state = 1 touch_count = touch_count + 1 if touch_state==1: touch_duration = touch_duration + 1 else: if gap_duration 200: current_cmd = current_cmd + "T" else: current_cmd = current_cmd + "t" touch_duration = 0 cmd()
GPIO.cleanup()
Einrichtung für die Arbeit mit unserem Webserver
Geben Sie die obige Python-Datei in unseren Webserver-Standort ein oder laden Sie sie hoch.
die standardmäßig auf /var/www/html eingestellt ist
cd /var/www/html
sudo nano touch.py
Geben Sie dann den obigen Code ein
Schritt 4: Starten Sie unseren Server, um ihn in Aktion zu sehen
cd /var/www/html
sudo python touch.py
Geben Sie dann die IP-Adresse für unseren Raspberry Pi ein, dann sollten wir unseren Mood Reporter arbeiten sehen!
Probieren Sie verschiedene Arten von Berührungsbefehlen aus, und die Seite sollte sich automatisch aktualisieren, um dies widerzuspiegeln!