Sadržaj:
2025 Autor: John Day | [email protected]. Zadnja promjena: 2025-01-13 06:57
Stvari koje će nam trebati:
- Raspberry Pi sa Raspbian -om
- Senzor dodira iz adafruta
- Izvor napajanja (baterija/DC)
- Ethernet ili WiFi za Raspberry Pi
- Još jedno računalo
Korak 1: Postavljanje našeg Raspberry Pi hardvera
Prvo povežite naš senzor dodira s GPIO pinovima na našem Raspberry Pi. Upotrijebite fleksibilne kabele
Identificirajte 3 igle na našem senzoru:
- GND - spojite na pin za uzemljenje
- VCC - spojen na pin 5V
- SIG - spojite se na signalni pin
U ovom primjeru koristit ćemo 5V, uzemljenje i GPIO 18 na našem maline pi.
Korak 2: Postavljanje našeg okoliša na Raspberry Pi
Dobijte IP adresu našeg malina Pi.
Zatim se povežite s našim maline pi pomoću ssh:
ssh korisničko ime@ipaddress
zatim upišite našu lozinku.
Nakon što smo ušli, instalirajte apache2 kao naš web poslužitelj upisivanjem:
sudo apt-get install apache2
Korak 3: Dizajnirajte dio Python koda za čitanje unosa s našeg senzora
Oblikovati
U našem primjeru koda koristimo nekoliko različitih naredbi.
Da bismo pokazali da smo sretni, radimo 2 duga pritiska
Da pokažemo da smo tužni, dodirnemo jedan kratki dodir i jedan dugi pritisak
Kako bismo naznačili da smo zbunjeni, učinimo jedan kratki dodir, pričekamo, zatim 2 kratka dodira. Kako bismo naznačili da smo sretni, učinimo jedan kratki dodir, jedan kratki razmak i jedan dugi pritisak
Da bismo naznačili da nam je dosadno, tri smo kratka dodira
Prevođenje ovih u niz naredbe: (t za kratki dodir, T za dugi pritisak, g za kratki razmak, G za dugi razmak)
sretan: TgT
tužno: tgT
zbunjen: tGtgt
dosadno: tgtgt
Tada će naš kod ispisati naše trenutno raspoloženje u html datoteku prilagođenu pregledniku za posluživanje.
Kodirati
uvoziti RPi. GPIO kao GPIOuvozno vrijeme
GPIO.cleanup ()
GPIO.setmode (GPIO. BCM) GPIO.setup (18, GPIO. IN)
dodir_broj = 0
touch_state = 0 touch_duration = 0 gap_duration = 0 current_cmd = ""
def cmd ():
globalna trenutna_cmd ako je trenutna_cmd [-3:] == "TgT": trenutna_cmd = "" raspoloženje ("Tužno") ako je trenutna_cmd [-3:] == "tgT": trenutna_cmd = "" raspoloženje ("Sretna") ako je trenutna_cmd [-5:] == "tGtgt": current_cmd = "" mood ("Confused") if current_cmd [-5:] == "tgtgt": current_cmd = "" mood ("Dosadno")
def raspoloženje (raspoloženje):
datoteka = otvorena ("index.html", "w") html = """
Prijenosni reporter raspoloženja
Hej, moje najnovije raspoloženje je
{}
"""
file.write (html.format (raspoloženje))
dok (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 ()
Postavljanje za rad s našim web poslužiteljem
upišite ili prenesite gornju python datoteku na mjesto našeg web poslužitelja, koja je zadana na/var/www/html
cd/var/www/html
sudo nano touch.py
Zatim upišite gornji kod
Korak 4: Pokrenite naš poslužitelj da biste ga vidjeli na djelu
cd/var/www/html
sudo python touch.py
Zatim upišite IP adresu za naš Raspberry Pi, tada bismo trebali vidjeti kako naš reporter raspoloženja radi!
Isprobajte različite vrste dodirnih naredbi i stranica bi se trebala automatski osvježiti kako bi to odrazilo!