Turinys:
2025 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2025-01-13 06:57
Dalykai, kurių mums reikės:
- Raspberry Pi su Raspbian
- Adafruit jutiklinis jutiklis
- Maitinimo šaltinis (baterija/nuolatinė srovė)
- „Ethernet“arba „WiFi“, skirtas „Raspberry Pi“
- Kitas kompiuteris
1 žingsnis: nustatykite „Raspberry Pi“aparatinę įrangą
Pirmiausia prijunkite jutiklinį jutiklį prie „Raspberry Pi“GPIO kaiščių. Naudokite kai kuriuos lanksčius kabelius
Nustatykite 3 kaiščius ant mūsų jutiklio:
- GND - prijunkite prie įžeminimo kaiščio
- VCC - prijungtas prie 5V kaiščio
- SIG - prijunkite prie signalo kaiščio
Šiame pavyzdyje mes naudosime 5V, žemės ir GPIO 18 savo aviečių pi.
2 veiksmas: aplinkos nustatymas „Raspberry Pi“
Gaukite „Raspberry Pi“IP adresą.
Tada prisijunkite prie mūsų aviečių pi naudodami ssh:
ssh vartotojo vardas@ipaddress
tada įveskite mūsų slaptažodį.
Kai būsime prisijungę, įdiekite apache2 kaip žiniatinklio serverį įvesdami:
sudo apt-get įdiegti apache2
3 žingsnis: suprojektuokite „Python“kodo fragmentą, kad nuskaitytumėte mūsų jutiklio įvestį
Dizainas
Mūsų kodo pavyzdyje mes naudojame keletą skirtingų komandų.
Norėdami parodyti, kad esame laimingi, darome du ilgus paspaudimus
Norėdami parodyti, kad esame liūdni, mes vieną trumpą palietimą ir vieną ilgą paspaudimą
Norėdami parodyti, kad esame supainioti, mes atliekame vieną trumpą bakstelėjimą, palaukiame, tada 2 trumpus palietimus. Norėdami parodyti, kad esame laimingi, mes atliekame vieną trumpą bakstelėjimą, vieną trumpą tarpą ir vieną ilgą paspaudimą
Norėdami parodyti, kad mums nuobodu, darome 3 trumpus palietimus
Išversdami jas į eilutės komandas: (t trumpam paspaudimui, T ilgai spaudžiant, g trumpam tarpui, G ilgam tarpui)
laimingas: TgT
liūdna: tgT
sumišęs: tGtgt
nuobodu: tgtgt
Tada mūsų kodas išves dabartinę nuotaiką į naršyklei tinkantį html failą.
Kodas
importuoti RPi. GPIO kaip GPIOimportuoti laiką
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 ("Liūdna") if current_cmd [-3:] == "tgT": current_cmd = "" mood ("Happy") if current_cmd [-5:] == "tGtgt": current_cmd = "" nuotaika ("Confused") if current_cmd [-5:] == "tgtgt": current_cmd = "" mood ("Nuobodu")
nuotaika (nuotaika):
failas = atviras ("index.html", "w") html = """
Nešiojamas nuotaikos reporteris
Ei, mano naujausia nuotaika
{}
"""
file.write (html.format (nuotaika))
tuo tarpu (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, jei 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 ()
Sąranka dirbti su mūsų žiniatinklio serveriu
įveskite arba įkelkite aukščiau pateiktą „python“failą į mūsų žiniatinklio serverio vietą, kuris yra numatytasis/var/www/html
cd/var/www/html
sudo nano touch.py
Tada įveskite aukščiau esantį kodą
4 žingsnis: paleiskite mūsų serverį, kad pamatytumėte, kaip jis veikia
cd/var/www/html
sudo python touch.py
Tada įveskite mūsų Raspberry Pi IP adresą, tada turėtume pamatyti, kaip veikia mūsų nuotaikos reporteris!
Išbandykite įvairių tipų prisilietimo komandas ir puslapis turėtų būti automatiškai atnaujinamas, kad tai atspindėtų!