תוכן עניינים:
2025 מְחַבֵּר: John Day | [email protected]. שונה לאחרונה: 2025-01-13 06:57
דברים שנצטרך:
- Raspberry Pi עם Raspbian
- חיישן מגע מ- adafruit
- מקור חשמל (סוללה/DC)
- אתרנט או WiFi ל- Raspberry Pi
- מחשב אחר
שלב 1: הגדרת חומרת ה- Raspberry Pi שלנו
ראשית, חבר את חיישן המגע שלנו לסיכות GPIO ב- Raspberry Pi שלנו. השתמש בכבלים גמישים
זהה 3 סיכות בחיישן שלנו:
- GND - התחבר לסיכה הארקה
- VCC - מתחבר לפין 5V
- SIG - התחבר לסיכת אות
נשתמש ב- 5V, הקרקע וב- GPIO 18 בפאי הפטל שלנו בדוגמה זו.
שלב 2: הגדרת הסביבה שלנו ב- Raspberry Pi
השג את כתובת ה- IP של פטל הפטל שלנו.
לאחר מכן התחבר לפאי הפטל שלנו באמצעות ssh:
ssh שם משתמש@ipaddress
לאחר מכן הקלד את הסיסמה שלנו.
ברגע שאנחנו נכנסים, התקן את apache2 כשרת האינטרנט שלנו על ידי הקלדת:
sudo apt-get להתקין apache2
שלב 3: עיצוב פיסת קוד פייתון לקריאת קלט מהחיישן שלנו
לְעַצֵב
בקוד הדוגמה שלנו אנו משתמשים בכמה פקודות שונות.
כדי לציין שאנחנו מאושרים, אנו עושים 2 לחיצות ארוכות
כדי לציין שאנחנו עצובים, אנו עושים לחיצה אחת קצרה ולחיצה אחת ארוכה
כדי לציין שאנחנו מבולבלים, אנו עושים לחיצה אחת קצרה, ממתינים פעימה ואז 2 הקשות קצרות. כדי לציין שאנחנו מאושרים, אנו עושים לחיצה אחת קצרה, פער אחד קצר ולחיצה אחת ארוכה
כדי לציין שמשעמם לנו, יש לנו 3 הקשות קצרות
תרגם אלה לפקודות מחרוזת: (t להקשה קצרה, T ללחיצה ארוכה, g לפער קצר, G לפער ארוך)
שמח: TgT
עצוב: tgT
מבולבל: tGtgt
משועמם: tgtgt
לאחר מכן, הקוד שלנו יפיק את מצב הרוח הנוכחי שלנו לקובץ HTML ידידותי לדפדפן להגשה.
קוד
ייבא RPi. GPIO כשעת GPIO יבוא
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 = "" מצב רוח ("עצוב") אם current_cmd [-3:] == "tgT": current_cmd = "" מצב רוח ("שמח") אם current_cmd [-5:] == "tGtgt": current_cmd = "" מצב רוח ("מבולבל") אם current_cmd [-5:] == "tgtgt": current_cmd = "" מצב רוח ("משועמם")
מצב רוח def (מצב רוח):
file = open ("index.html", "w") html = """
כתב מצב רוח נייד
היי, מצב הרוח האחרון שלי הוא
{}
"""
file.write (html.format (מצב רוח))
בעוד (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 = touch_count = touch_count + 1 if touch_state == 1: touch_duration = touch_duration + 1 אחר: אם gap_duration 200: current_cmd = current_cmd +" T "else: current_cmd = current_cmd +" t "touch_duration = 0 cmd ()
GPIO.cleanup ()
התקנה לעבודה עם שרת האינטרנט שלנו
הקלד או העלה את קובץ הפיתון לעיל למיקום שרת האינטרנט שלנו, המוגדר כברירת מחדל ל-/var/www/html
cd/var/www/html
sudo nano touch.py
לאחר מכן הקלד את הקוד למעלה
שלב 4: הפעל את השרת שלנו כדי לראות אותו בפעולה
cd/var/www/html
sudo python touch.py
לאחר מכן הקלד את כתובת ה- IP של ה- Raspberry Pi שלנו, ואז נראה את כתב הרוח שלנו עובד!
נסה סוגים שונים של פקודות מגע, והדף אמור לרענן אוטומטית כדי לשקף זאת!