Mündəricat:
2025 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2025-01-13 06:56
Ehtiyac duyduğumuz şeylər:
- Raspbian ilə Raspberry Pi
- Adafruitdən toxunma sensoru
- Güc mənbəyi (Batareya/DC)
- Raspberry Pi üçün Ethernet və ya WiFi
- Başqa bir kompüter
Addım 1: Raspberry Pi Təchizatımızı Qurmaq
Əvvəlcə toxunma sensorumuzu Raspberry Pi üzərindəki GPIO pinlərinə bağlayın. Bəzi çevik kabellərdən istifadə edin
Sensorumuzda 3 pin tapın:
- GND - torpaq pininə qoşulun
- VCC - 5V pinə qoşulun
- SIG - bir işarə pininə qoşulun
Bu nümunədə moruq pi -də 5V, torpaq və GPIO 18 istifadə edəcəyik.
Addım 2: Ətrafımızı Raspberry Pi üzərində qurmaq
Moruq Pi -nin IP ünvanını əldə edin.
Sonra ssh istifadə edərək moruq pi -yə qoşulun:
ssh istifadəçi adı@ipaddress
sonra şifrənizi daxil edin.
Daxil olduqdan sonra, yazaraq apache2 -ni veb serverimiz olaraq quraşdırın:
sudo apt-get apache2 quraşdırın
Addım 3: Sensorumuzdan daxil olan məlumatları oxumaq üçün bir parça Python kodu hazırlayın
Dizayn
Nümunə kodumuzda bir neçə fərqli əmrdən istifadə edirik.
Xoşbəxt olduğumuzu bildirmək üçün 2 uzun presləmə edirik
Kədərli olduğumuzu göstərmək üçün bir qısa vuruş və bir uzun mətbuat edirik
Çaşqın olduğumuzu göstərmək üçün bir qısa vuruş edirik, bir az gözləyin, sonra 2 qısa vuruş. Xoşbəxt olduğumuzu göstərmək üçün bir qısa vuruş, bir qısa boşluq və bir uzun mətbuat edirik
Darıxdığımızı göstərmək üçün 3 qısa vuruş edirik
Bunları simli əmrlərə çevirmək: (qısa vuruş üçün t, uzun basma üçün T, qısa boşluq üçün g, uzun boşluq üçün G)
xoşbəxt: TgT
kədərli: tgT
qarışıq: tGtgt
cansıxıcı: tgtgt
Sonra kodumuz hazırkı əhvalımızı xidmət üçün brauzer dostu bir html faylına çıxaracaq.
Kod
GPIOimport zamanı olaraq RPi. GPIO idxal edin
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 ():
cari_cmd əgər qlobal cari_cmd [-3:] == "TgT": current_cmd = "" əhval-ruhiyyə ("Kədərli") əgər current_cmd [-3:] == "tgT": current_cmd = "" əhval-ruhiyyə ("Xoşbəxt") current_cmd olarsa [-5:] == "tGtgt": current_cmd = "" əhval ("Çaşqın"), əgər current_cmd [-5:] == "tgtgt": current_cmd = "" əhval ("Darıxdırıcı")
pis əhval (əhval):
fayl = açıq ("index.html", "w") html = """
Portativ Mood Reporter
Hey, ən son əhvalım belədir
{}
"""
file.write (html.format (əhval))
isə (1):
time.sleep (0.001) if (GPIO.input (18)): touch_state == 0 olarsa: gap_duration> 2000: gap_duration = 0 əgər gap_duration> 200: current_cmd = current_cmd + "G" başqa: current_cmd = current_cmd + "g "gap_duration = 0 touch_state = 1 touch_count = touch_count + 1 touch_state == 1: touch_duration = touch_duration + 1 başqa: gap_duration 200 olarsa: current_cmd = current_cmd +" T "başqa: current_cmd = current_cmd +" t "touch_duration = 0 cmd ()
GPIO.cleanup ()
Veb serverimizlə işləmək üçün qurun
yuxarıdakı python faylını veb server serverimizə yazın və ya yükləyin, default olaraq/var/www/html
cd/var/www/html
sudo nano touch.py
Sonra yuxarıdakı kodu daxil edin
Addım 4: Fəaliyyətini görmək üçün Serverimizi Başlayın
cd/var/www/html
sudo python touch.py
Sonra Raspberry Pi üçün IP ünvanını yazın, sonra əhval müxbirimizin işlədiyini görməliyik!
Müxtəlif toxunma əmrlərini sınayın və bunu əks etdirmək üçün səhifə avtomatik olaraq yenilənməlidir!