Sisällysluettelo:
2025 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2025-01-13 06:57
Asioita, joita tarvitsemme:
- Raspberry Pi ja Raspbian
- Kosketusanturi adafruitista
- Virtalähde (akku/tasavirta)
- Ethernet tai WiFi Raspberry Pi: lle
- Toinen tietokone
Vaihe 1: Raspberry Pi -laitteistomme asentaminen
Liitä ensin kosketusanturimme Raspberry Pi -laitteen GPIO -nastoihin. Käytä joustavia kaapeleita
Tunnista anturimme 3 nastaa:
- GND - liitä maadoitusnastaan
- VCC - liitä 5 V: n napaan
- SIG - liitä signaalitappiin
Tässä esimerkissä käytämme vadelmapilaamme 5V, maadoitettua ja GPIO 18: aa.
Vaihe 2: Ympäristömme asettaminen Raspberry Pi: lle
Hanki vadelma Pi: n IP -osoite.
Muodosta sitten yhteys vadelmapiimme ssh: llä:
ssh -käyttäjänimi@ipaddress
kirjoita sitten salasanamme.
Kun olemme mukana, asenna apache2 verkkopalvelimeksi kirjoittamalla:
sudo apt-get install apache2
Vaihe 3: Suunnittele pala Python -koodia anturimme tulon lukemiseksi
Design
Esimerkkikoodissamme käytämme paria eri komentoa.
Osoittaaksemme, että olemme onnellisia, teemme kaksi pitkää painallusta
Osoittaaksemme, että olemme surullisia, teemme yhden lyhyen napautuksen ja yhden pitkän painalluksen
Osoittaaksemme, että olemme hämmentyneitä, teemme yhden lyhyen napautuksen, odotamme lyöntiä ja sitten kaksi lyhyttä napautusta. Osoittaaksemme, että olemme onnellisia, teemme yhden lyhyen napautuksen, yhden lyhyen aukon ja yhden pitkän painalluksen
Osoittaaksemme, että meillä on tylsää, teemme kolme lyhyttä napautusta
Käännetään nämä merkkijonokomennoiksi: (t lyhyt napautus, T pitkä painallus, g lyhyt väli, G pitkä väli)
onnellinen: TgT
surullista: tgT
hämmentynyt: tGtgt
tylsää: tgtgt
Sitten saamme koodimme tuomaan nykyisen tunnelman selainystävälliseen html-tiedostoon tarjoamista varten.
Koodi
tuoda RPi. GPIO GPIO -tuontiaikaksi
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 ():
globaali nykyinen_cmd jos nykyinen_cmd [-3:] == "TgT": current_cmd = "" mieliala ("surullinen"), jos nykyinen_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")
hämmentynyt mieliala (tunnelma):
tiedosto = auki ("index.html", "w") html = """
Kannettava Mood Reporter
Hei, viimeisin fiilikseni on
{}
"""
file.write (html.format (mood))
samalla (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, jos 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 ()
Asenna toimimaan verkkopalvelimemme kanssa
kirjoita tai lataa yllä oleva python -tiedosto verkkopalvelimemme sijaintiin, jonka oletusarvo on/var/www/html
cd/var/www/html
sudo nano touch.py
Kirjoita sitten yllä oleva koodi
Vaihe 4: Käynnistä palvelimemme nähdäksesi sen toiminnassa
cd/var/www/html
sudo python touch.py
Kirjoita sitten Raspberry Pi: n IP -osoite, niin meidän pitäisi nähdä mielialan toimittajamme toimivan!
Kokeile erityyppisiä kosketuskomentoja, ja sivun pitäisi päivittyä automaattisesti, jotta se heijastuisi!