Sisukord:
2025 Autor: John Day | [email protected]. Viimati modifitseeritud: 2025-01-13 06:57
Asjad, mida me vajame:
- Raspberry Pi koos Raspbianiga
- Puutetundlik adafruit
- Toiteallikas (aku/alalisvool)
- Ethernet või WiFi Raspberry Pi jaoks
- Teine arvuti
Samm: seadistage meie Raspberry Pi riistvara
Kõigepealt ühendage meie puuteandur meie Raspberry Pi GPIO -tihvtidega. Kasutage mõnda painduvat kaablit
Tuvastage meie anduril 3 tihvti:
- GND - ühendage maanduspistikuga
- VCC - ühendage 5V pistikuga
- SIG - ühendage signaali tihvtiga
Selles näites kasutame meie vaarika pi 5V, jahvatatud ja GPIO 18.
2. samm: meie keskkonna seadistamine Raspberry Pi -le
Hankige meie vaarika Pi IP -aadress.
Seejärel ühendage meie vaarika pi abil ssh abil:
ssh kasutajanimi@ipaddress
seejärel sisestage meie parool.
Kui oleme sisse loginud, installige apache2 veebiserveriks, tippides sisse:
sudo apt-get install apache2
Samm: kujundage tükk Pythoni koodi, et lugeda meie anduri sisendit
Disain
Meie näidiskoodis kasutame paari erinevat käsku.
Et näidata, et oleme õnnelikud, teeme kaks pikka vajutust
Et näidata, et oleme kurvad, teeme ühe lühikese puudutuse ja ühe pika vajutuse
Et näidata, et oleme segaduses, teeme ühe lühikese puudutuse, ootame löögi ja seejärel kaks lühikest puudutust. Näitamaks, et oleme õnnelikud, teeme ühe lühikese puudutuse, ühe lühikese vahe ja ühe pika vajutuse
Et näidata, et meil on igav, teeme 3 lühikest puudutust
Nende tõlkimine stringi käskudeks: (t lühikese puudutuse korral, T pika vajutuse korral, g lühikese vahe korral, G pika vahe korral)
õnnelik: TgT
kurb: tgT
segaduses: tGtgt
igav: tgtgt
Seejärel laseme oma koodil väljastada praeguse meeleolu brauserisõbralikku html-faili esitamiseks.
Kood
RPi. GPIO importimine GPIO -ks importimisaeg
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 ():
globaalne praegune_cmd, kui praegune_cmd [-3:] == "TgT": praegune_cmd = "" meeleolu ("kurb"), kui praegune_cmd [-3:] == "tgT": praegune_cmd = "" meeleolu ("õnnelik"), kui praegune_cmd [-5:] == "tGtgt": current_cmd = "" meeleolu ("Segaduses"), kui current_cmd [-5:] == "tgtgt": current_cmd = "" meeleolu ("Igav")
tuju (tuju):
fail = avatud ("index.html", "w") html = """
Kaasaskantav meeleolu reporter
Hei, mu viimane tuju on
{}
"""
file.write (html.format (meeleolu))
samas (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, kui touch_state == 1: touch_duration = touch_duration + 1 veel: if gap_duration 200: current_cmd = current_cmd +" T "else: current_cmd = current_cmd +" t "touch_duration = 0 cmd ()
GPIO.cleanup ()
Seadistage meie veebiserveriga töötamiseks
tippige või laadige ülaltoodud pythoni fail meie veebiserveri asukohta, mille vaikeseade on/var/www/html
cd/var/www/html
sudo nano touch.py
Seejärel tippige ülaltoodud kood
Samm 4: käivitage meie server, et seda näha
cd/var/www/html
sudo python touch.py
Seejärel tippige meie Raspberry Pi IP -aadress, siis peaksime nägema, kuidas meie meeleolureporter töötab!
Proovige erinevat tüüpi puutekäske ja leht peaks selle kajastamiseks automaatselt värskenduma!