Πίνακας περιεχομένων:

IoT - Portable Mood Reporter: 4 Βήματα
IoT - Portable Mood Reporter: 4 Βήματα

Βίντεο: IoT - Portable Mood Reporter: 4 Βήματα

Βίντεο: IoT - Portable Mood Reporter: 4 Βήματα
Βίντεο: Полный курс Redux Toolkit + RTK Query для начинающих | Редакс за 2 часа! 2024, Ιούλιος
Anonim
IoT - Portable Mood Reporter
IoT - Portable Mood Reporter

Πράγματα που θα χρειαστούμε:

  • Raspberry Pi με Raspbian
  • Αισθητήρας αφής από το adafruit
  • Πηγή ενέργειας (Μπαταρία/DC)
  • Ethernet ή WiFi για Raspberry Pi
  • Άλλος υπολογιστής

Βήμα 1: Ρύθμιση του υλικού Raspberry Pi

Ρύθμιση του υλικού Raspberry Pi
Ρύθμιση του υλικού Raspberry Pi
Ρύθμιση του υλικού Raspberry Pi
Ρύθμιση του υλικού Raspberry Pi

Αρχικά, συνδέστε τον αισθητήρα αφής μας με καρφίτσες GPIO στο Raspberry Pi. Χρησιμοποιήστε μερικά εύκαμπτα καλώδια

Προσδιορίστε 3 ακίδες στον αισθητήρα μας:

  • GND - σύνδεση με τον πείρο γείωσης
  • VCC - σύνδεση με ακίδα 5V
  • SIG - συνδεθείτε με μια καρφίτσα σηματοδότησης

Θα χρησιμοποιήσουμε το 5V, το έδαφος και το GPIO 18 στο raspberry pi σε αυτό το παράδειγμα.

Βήμα 2: Ρύθμιση του περιβάλλοντός μας στο Raspberry Pi

Ρύθμιση του περιβάλλοντός μας στο Raspberry Pi
Ρύθμιση του περιβάλλοντός μας στο Raspberry Pi

Λάβετε τη διεύθυνση IP του σμέουρου Pi μας.

Στη συνέχεια, συνδεθείτε στο raspberry pi χρησιμοποιώντας το ssh:

ssh όνομα χρήστη@ipaddress

στη συνέχεια πληκτρολογήστε τον κωδικό πρόσβασής μας.

Μόλις είμαστε μέσα, τότε εγκαταστήστε το apache2 ως διακομιστή ιστού μας πληκτρολογώντας:

sudo apt-get install apache2

Βήμα 3: Σχεδιάστε ένα κομμάτι κώδικα Python για ανάγνωση εισόδου από τον αισθητήρα μας

Σχεδιάστε ένα κομμάτι κώδικα Python για ανάγνωση εισόδου από τον αισθητήρα μας
Σχεδιάστε ένα κομμάτι κώδικα Python για ανάγνωση εισόδου από τον αισθητήρα μας

Σχέδιο

Στο παράδειγμα κώδικα, χρησιμοποιούμε μερικές διαφορετικές εντολές.

Για να δείξουμε ότι είμαστε ευχαριστημένοι, κάνουμε 2 μακριές πιέσεις

Για να δείξουμε ότι είμαστε λυπημένοι, κάνουμε ένα σύντομο πάτημα και ένα μακρύ πάτημα

Για να δηλώσουμε ότι έχουμε μπερδευτεί, κάνουμε ένα σύντομο πάτημα, περιμένουμε λίγο και μετά 2 σύντομα πατήματα. Για να δείξουμε ότι είμαστε ευχαριστημένοι, κάνουμε ένα σύντομο πάτημα, ένα μικρό κενό και ένα μακρύ πάτημα

Για να δείξουμε ότι βαριόμαστε, κάνουμε 3 σύντομα πατήματα

Μετατροπή αυτών σε εντολές συμβολοσειράς: (t για σύντομο πάτημα, T για παρατεταμένο πάτημα, g για σύντομο κενό, G για μεγάλο κενό)

χαρούμενος: TgT

λυπηρό: tgT

μπερδεμένος: tGtgt

βαριέμαι: tgtgt

Στη συνέχεια, θα έχουμε τον κωδικό μας να εξάγει την τρέχουσα διάθεσή μας σε ένα φιλικό προς το πρόγραμμα περιήγησης αρχείο html για προβολή.

Κώδικας

εισαγωγή RPi. GPIO ως GPIOimport time

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 ():

καθολικό current_cmd εάν current_cmd [-3:] == "TgT": current_cmd = "" διάθεση ("Θλιβερό") αν current_cmd [-3:] == "tgT": current_cmd = "" διάθεση ("Happy") εάν current_cmd [-5:] == "tGtgt": current_cmd = "" διάθεση ("Μπερδεμένο") εάν current_cmd [-5:] == "tgtgt": current_cmd = "" διάθεση ("Βαριέται")

def διάθεση (διάθεση):

file = open ("index.html", "w") html = """

Φορητό Mood Reporter

Γεια, η πιο πρόσφατη διάθεσή μου είναι

{}

"""

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 = 1 touch_count = touch_count + 1 if 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 ()

Ρύθμιση για εργασία με τον διακομιστή ιστού μας

πληκτρολογήστε ή ανεβάστε το παραπάνω αρχείο python στη θέση του διακομιστή ιστού μας, το οποίο είναι προεπιλεγμένο σε/var/www/html

cd/var/www/html

sudo nano touch.py

Στη συνέχεια, πληκτρολογήστε τον παραπάνω κώδικα

Βήμα 4: Ξεκινήστε τον διακομιστή μας για να το δείτε στην πράξη

Ξεκινήστε τον διακομιστή μας για να το δείτε στην πράξη!
Ξεκινήστε τον διακομιστή μας για να το δείτε στην πράξη!

cd/var/www/html

sudo python touch.py

Στη συνέχεια, πληκτρολογήστε τη διεύθυνση IP για το Raspberry Pi και, στη συνέχεια, θα πρέπει να δούμε τον ρεπόρτερ της διάθεσής μας να λειτουργεί!

Δοκιμάστε διαφορετικούς τύπους εντολών αφής και η σελίδα θα πρέπει να ανανεώνεται αυτόματα για να αντικατοπτρίζει αυτό!

Συνιστάται: