INHOUDSOPGAWE:
2025 Outeur: John Day | [email protected]. Laas verander: 2025-01-13 06:56
Dinge wat ons gaan benodig:
- Framboos Pi met Raspbian
- Raaksensor van adafruit
- Kragbron (battery/DC)
- Ethernet of WiFi vir Raspberry Pi
- Nog 'n rekenaar
Stap 1: Stel ons Raspberry Pi -hardeware op
Koppel eers ons raaksensor aan GPIO -penne op ons Raspberry Pi. Gebruik 'n paar buigsame kabels
Identifiseer 3 penne op ons sensor:
- GND - koppel aan die grondpen
- VCC - verbind met 5V -pen
- SIG - koppel aan 'n seëlpen
In hierdie voorbeeld gebruik ons die 5V, gemaalde en GPIO 18 op ons framboospi.
Stap 2: Stel ons omgewing op die Raspberry Pi op
Kry die IP -adres van ons framboos Pi.
Koppel dan aan ons framboos pi met ssh:
ssh gebruikersnaam@ipaddress
tik dan ons wagwoord in.
Sodra ons in is, installeer dan apache2 as ons webbediener deur in te tik:
sudo apt-get installeer apache2
Stap 3: Ontwerp 'n stuk Python -kode om die invoer van ons sensor te lees
Ontwerp
In ons voorbeeldkode gebruik ons 'n paar verskillende opdragte.
Om aan te dui dat ons gelukkig is, doen ons twee lang drukke
Om aan te dui dat ons hartseer is, druk ons een kort tik en een lang druk
Om aan te dui dat ons verward is, druk ons 'n kort tik, wag 'n slag en dan 2 kort tikkies. Om aan te dui dat ons gelukkig is, druk ons een kort tik, een kort gaping en een lang druk
Om aan te dui dat ons verveeld is, druk ons 3 kort tikkies
Vertaal dit na stringopdragte: (t vir kort tik, T vir lang druk, g vir kort gaping, G vir lang gaping)
gelukkig: TgT
hartseer: tgT
verward: tGtgt
verveeld: tgtgt
Dan sal ons kode ons huidige gemoedstoestand in 'n blaaiervriendelike html-lêer laat aflewer.
Kode
voer RPi. GPIO in as GPIO -invoertyd
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 ("Sad") 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 ("Bored")
def humeur (bui):
file = open ("index.html", "w") html = """
Draagbare gemoedverslaggewer
Haai, my mees onlangse bui is
{}
"""
file.write (html.format (bui))
terwyl (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 ()
Stel op om met ons webserver te werk
tik of laai die bogenoemde python -lêer op na ons webserver -ligging, wat standaard is/var/www/html
cd/var/www/html
sudo nano touch.py
Tik dan die kode hierbo in
Stap 4: Begin ons bediener om dit in aksie te sien
cd/var/www/html
sudo python touch.py
Tik dan die IP -adres van ons Raspberry Pi in, dan moet ons ons gemoedverslaggewer sien werk!
Probeer verskillende tipes raakopdragte, en die bladsy moet outomaties herlaai om dit weer te gee!