Πίνακας περιεχομένων:
Βίντεο: Raspberry Pi Motion Sensor IFTTT: 4 Βήματα
2025 Συγγραφέας: John Day | [email protected]. Τελευταία τροποποίηση: 2025-01-13 06:57
Γεια σας. Είμαι μαθητής 4ης τάξης και σήμερα θα φτιάξουμε έναν αισθητήρα κίνησης IFTTT
Προμήθειες
1 κουτί από χαρτόνι
1x βατόμουρο πι μοντέλο b+ ή a+
1x αισθητήρας PIR https://www.amazon.com/gp/product/B07KZW86YR/ref=p… (Διάφορα) καλώδια βραχυκυκλωτήρων
1x έξυπνος λαμπτήρας (προαιρετικός)
Κολλητική ταινία (προαιρετικά)
ifttt λογαριασμός
Βήμα 1: Κόψτε:
Κόψτε μια μικρή τρύπα στη μέση της κορυφής του κουτιού.
Βήμα 2: Σύνδεση του αισθητήρα PIR:
Συνδέστε τον πείρο του αισθητήρα PIR με την ένδειξη VCC με τον πείρο 5V στο Raspberry Pi. Αυτό παρέχει ισχύ στον αισθητήρα PIR. Συνδέστε αυτό που φέρει την ένδειξη GND σε έναν πείρο γείωσης στο Pi (επίσης επισημαίνεται GND). Αυτό ολοκληρώνει το κύκλωμα. Συνδέστε αυτό που φέρει την ένδειξη OUT σε οποιαδήποτε αριθμημένη καρφίτσα GPIO στο Pi. Σε αυτό το παράδειγμα, επιλέξαμε το GPIO 4. Ο πείρος OUT θα βγάλει τάση όταν ο αισθητήρας ανιχνεύσει κίνηση. Στη συνέχεια, η τάση θα ληφθεί από το Raspberry Pi.
Βήμα 3: Ρύθμιση Webhooks:
δημιουργήστε μια νέα μικροεφαρμογή και, στη συνέχεια, επιλέξτε Webhooks. και στη συνέχεια κάντε το ίδιο με τις ειδοποιήσεις.
Βήμα 4: Κωδικός:
Για python 3 ή thonny
#! /usr/bin/python # Importsimport RPi. GPIO as GPIOimport timeimport applications # Set the GPIO nameing conventionGPIO.setmode (GPIO. BCM) # Απενεργοποίηση GPIO προειδοποιήσεων # Ορίστε την καρφίτσα GPIO ως είσοδοGPIO.setup (pinpir, GPIO. IN) # Μεταβλητές για να διατηρήσετε την τρέχουσα και την τελευταία κατάσταση.input (pinpir) == 1: currentstate = 0 print ("Ready") # Loop μέχρι να κλείσουν οι χρήστες με CTRL-C ενώ True: # Διαβάστε PIR κατάσταση currentstate = GPIO.input (pinpir) # Εάν ενεργοποιηθεί το PIR αν η τρέχουσα κατάσταση == 1 και previousstate == 0: εκτύπωση ("Εντοπίστηκε κίνηση!") # Το URL IFTTT με όνομα συμβάντος, κλειδί και παραμέτρους json (τιμές) r = request.post ('https://maker.ifttt.com/trigger /YOUR_EVENT_NAME/με/κλειδί/YOUR_KEY_HERE ', params = {"value1": "none", "value2": "none", "value3": "none"}) # Εγγραφή νέας προηγούμενης κατάστασης προηγούμενη κατάσταση = 1 # Περιμένετε 120 δευτερόλεπτα πριν το βρόχο ag ain print ("Αναμονή 120 δευτερόλεπτα") time.sleep (120) # Εάν το PIR έχει επιστρέψει στην έτοιμη κατάσταση elif currentstate == 0 και previousstate == 1: print ("Ready") previousstate = 0 # Περιμένετε για 10 χιλιοστά του δευτερολέπτου.sleep (0,01) εκτός από KeyboardInterrupt: print ("Quit") # Επαναφορά ρυθμίσεων GPIO GPIO.cleanup ()
Απολαμβάνω!