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

Raspberry Pi Door Notifier: 6 βήματα (με εικόνες)
Raspberry Pi Door Notifier: 6 βήματα (με εικόνες)

Βίντεο: Raspberry Pi Door Notifier: 6 βήματα (με εικόνες)

Βίντεο: Raspberry Pi Door Notifier: 6 βήματα (με εικόνες)
Βίντεο: Πώς να συνδέσετε βιομηχανικούς αισθητήρες 4-20 mA με το Raspberry Pi Pico PLC | Mitsubishi FX1N PLC 2024, Σεπτέμβριος
Anonim
Raspberry Pi Door Notifier
Raspberry Pi Door Notifier

Έχετε αναρωτηθεί ποτέ εάν ή όταν οι άνθρωποι έχουν πρόσβαση στις πόρτες; Θέλετε έναν διακριτικό, φθηνό και γρήγορο τρόπο παρακολούθησης της κίνησης της πόρτας… και ίσως ένα μικρό έργο; Μην ψάχνετε άλλο! Αυτή η απλοϊκή συσκευή θα παρακολουθεί τους κραδασμούς που προέρχονται από τις κινούμενες πόρτες και θα αναφέρει πίσω στον χρήστη με ένα email σε μια καθορισμένη διεύθυνση email.

Αυτό το έργο θα σας δώσει κάποια πρακτική με το Flask, το Raspberry Pis, τους αισθητήρες GPIO και το Mandrill API! Όχι μόνο είναι διασκεδαστικό να χτίζεται, αλλά έχει πολλή χρησιμότητα. Οι εισβολείς προσέξτε…

Βήμα 1: Προμήθειες

Προμήθειες
Προμήθειες

Ακόμα σχεδιάζετε να χτίσετε αυτήν την αντισύλληψη; Εδώ είναι αυτό που θα χρειαστείτε:

  • Raspberry Pi 3
  • Κάρτα Micro SD
  • 3 σύρματα από γυναίκα σε γυναίκα
  • 1 αισθητήρας δόνησης
  • Ένα power bank
  • Λωρίδες εντολών

Εάν σχεδιάζετε να χτίσετε αυτό το έργο για πολλαπλές πόρτες, πολλαπλασιάστε κάθε μία από τις προμήθειες με πόσες συσκευές θα χρειαστείτε.

Εάν είστε στη διαδικασία κατασκευής/δοκιμής αυτής της συσκευής, δεν είναι απαραίτητο να έχετε τα ακόλουθα… ωστόσο, σίγουρα θα ήταν πολύ χρήσιμο.

  • Μια οθόνη υπολογιστή
  • Πληκτρολόγιο USB
  • Σετ φόρτισης Micro USB

Βήμα 2: Καλωδίωση

Καλωδίωση
Καλωδίωση
Καλωδίωση
Καλωδίωση

Ενώ το Raspberry Pi είναι μια έξυπνη συσκευή που συνοδεύεται από πολλούς διαφορετικούς αισθητήρες και περιφερειακά, πρέπει να προσθέσουμε τον κύριο αισθητήρα στην καλωδίωση του Pi, ώστε να μπορεί να κάνει τις μετρήσεις που χρειαζόμαστε. Ο κύριος αισθητήρας που χρησιμοποιείται σε αυτό το έργο φαίνεται στην παραπάνω εικόνα - είναι ένας αισθητήρας κραδασμών με υψηλή ευαισθησία. Ενώ μπορούσαμε να χρησιμοποιήσουμε ένα breadboard ή κάποια άλλη συσκευή στερέωσης για να τοποθετήσουμε αυτόν τον αισθητήρα και να περάσουμε τα καλώδια μας, απλά τον συνδέσαμε μέσω καλωδίων από γυναίκα σε γυναίκα απευθείας στις ακίδες της συσκευής Raspberry Pi.

Μπορείτε να βρείτε ένα διάγραμμα καλωδίωσης παραπάνω (προέρχεται από https://www.piddlerintheroot.com/vibration-sensor/). Απλώς συνδέστε όλα τα καλώδια όπως φαίνεται σε αυτήν την εικόνα και ο αισθητήρας δόνησης θα πρέπει να ξεκινήσει. Σημειώστε επίσης ότι τελικά θα χρειαστείτε μια μπαταρία για αυτό το έργο, αλλά εάν δοκιμάζετε είναι πιθανό να είναι χρήσιμο να συνδέσετε τη συσκευή σε πρίζα τοίχου.

Βήμα 3: Ρύθμιση πραγμάτων

Συγχαρητήρια! Τα καταφέρατε μέχρι εδώ. Ας συνεχίσουμε!

Τώρα θα αρχίσουμε να δουλεύουμε απευθείας με το Pi. Όλα τα ακόλουθα μπορούν να γίνουν στη συσκευή με πληκτρολόγιο και οθόνη (ή μέσω SSH εάν είστε άνετοι).

Υπάρχει μια μεγάλη προκαταρκτική ρύθμιση για να δουλέψει οποιοσδήποτε αισθητήρας GPIO με Pi και Flask. Η υπομονη ειναι ΑΡΕΤΗ. Υπάρχουν αρκετές βιβλιοθήκες Python που πρέπει να εγκαταστήσετε πρώτα. Αυτό μπορεί να γίνει με τον Pip, έναν διαχειριστή βιβλιοθηκών/πακέτων για την Python. Για χρήση, πληκτρολογήστε `pip install` Για να ονομάσετε μερικές από τις βιβλιοθήκες που θα χρειαστείτε:

  • αιτήσεων
  • RPi. GPIO
  • φλάσκα
  • φιάλη
  • φιάλη_wtf
  • wtforms
  • ΗΛΕΚΤΡΟΝΙΚΗ ΔΙΕΥΘΥΝΣΗ
  • πίθηκος κυνοκέφαλος

Μπορεί να θέλετε να πάρετε έναν καφέ ενώ περιμένετε να εγκατασταθούν - μπορεί να χρειαστεί λίγος χρόνος.

Τώρα που έχουν εγκατασταθεί όλες οι βιβλιοθήκες σας, είστε έτοιμοι να ξεκινήσετε το έργο σας Flask. Το Flask είναι ένα ελαφρύ πλαίσιο που εξυπηρετεί σελίδες από τη συσκευή στην οποία λειτουργεί. Σε αυτή την περίπτωση, το Raspberry Pi γίνεται διακομιστής. Αρκετά έξυπνο, ε; Μπορείτε να μάθετε πώς να ρυθμίσετε μια πολύ απλή εφαρμογή Flask εδώ. Κάντε αυτό πριν δοκιμάσετε οποιαδήποτε από τις οδηγίες μετά από αυτό.

Βήμα 4: Κωδικός και λειτουργία

Μόλις το ολοκληρώσετε, είστε έτοιμοι να ξεκινήσετε τη δημιουργία των αρχείων του έργου. Έχω συμπεριλάβει όλα τα αρχεία που θα χρειαστείτε παρακάτω –– μάλλον θα πρέπει να ξαναγράψετε τον κώδικα και όχι απλώς να αντιγράψετε τα αρχεία (θα μάθετε περισσότερα!).

Δείτε πώς πρέπει να μοιάζουν οι οργανισμοί καταλόγου:

+- iotapp | +- appFolder | +- πρότυπα | +- index.html | +- _init_.py | +- forms.py | +- mcemail.py | +- lines.py | +- iotapp.py | +- vibes.py

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

$ export FLASK_APP = iotapp.py

$ python -m φιάλη εκτέλεση --host 0.0.0.0

Με αυτό, θα πρέπει να λάβετε ένα μήνυμα που υποδεικνύει ότι ο διακομιστής σας λειτουργεί και θα πρέπει να μπορείτε να προβάλλετε τη σελίδα από τη συσκευή σε άλλη συσκευή στο δίκτυο.

Τώρα θα ήταν μια καλή στιγμή να κοιτάξετε τα αρχεία σας και να προσπαθήσετε πραγματικά να μάθετε τι κάνει ο κώδικας. Φυσικά, κανένας από τους κώδικες δεν έχει τεθεί σε πέτρα… μπορεί να ενημερωθεί/αλλάξει για να ταιριάζει στις ανάγκες του συγκεκριμένου έργου. Για παράδειγμα, από τη στιγμή που η συσκευή POST κάνει μόλις λάβει είσοδο από τον αισθητήρα δόνησης, στέλνει τη χρονική σήμανση του χρόνου που έγινε η είσοδος. Ωστόσο, ο διακομιστής δεν αποθηκεύει αυτά τα δεδομένα. Αυτό θα μπορούσε να γίνει εάν ο χρήστης προτιμούσε να διατηρεί ιστορικές πληροφορίες και ήθελε να τις εμφανίσει κάπου.

Ένα πράγμα που πιθανότατα θα παρατηρήσετε είναι ότι Ο ΚΩΔΙΚΟΣ ΔΕΝ ΕΙΝΑΙ ΟΛΟΚΛΗΡΟΣ. Αυτό το έργο χρησιμοποιεί ένα εξωτερικό API για την αποστολή μηνυμάτων ηλεκτρονικού ταχυδρομείου ειδοποιήσεων κατά τη δόνηση (άνοιγμα πόρτας). Για να το ρυθμίσετε, θα πρέπει να δημιουργήσετε έναν λογαριασμό Mandrill και να δημιουργήσετε ένα κλειδί API.

Αφού επαληθεύσετε τον τομέα αποστολής σας και έχετε ένα κλειδί API, μπορείτε να τοποθετήσετε το κλειδί σας στο αρχείο `mcemail.py` (όπου υπάρχει) και να προσαρμόσετε τις πληροφορίες αποστολής (είτε αλλάζοντας την προεπιλεγμένη παράμετρο στο ίδιο αρχείο είτε περνώντας σε διαφορετικό μήνυμα ηλεκτρονικού ταχυδρομείου στο αρχείο `route.py`. Αν θέλετε περισσότερη τεκμηρίωση σχετικά με το Mandrill και πώς να το χρησιμοποιήσετε, μπορείτε να το βρείτε εδώ.

Βήμα 5: Δοκιμή

Δοκιμές
Δοκιμές

Πριν τοποθετήσετε τη συσκευή στη μόνιμη θέση της, είναι πιθανώς μια καλή ιδέα να δοκιμάσετε όλα όσα κάνει. Δείτε πώς τρέχετε τα πράγματα.

Η συσκευή τρέχει στην πραγματικότητα δύο προγράμματα: `vibes.py` και τον διακομιστή Flask. Το πρώτο θα πρέπει να εκτελεστεί πρώτα στο παρασκήνιο και στη συνέχεια να εκτελεστεί ο διακομιστής Flask. Το `vibes.py` είναι απλά ΑΠΟΣΤΟΛΗ στον διακομιστή και ο διακομιστής ερμηνεύει το αίτημα POST.

$ python vibes.py &

$ python -m φιάλη εκτέλεση --host 0.0.0.0

Στη συνέχεια, θα πρέπει να μπορείτε να πλοηγηθείτε στο σωστό URI/IP και να ορίσετε τη διεύθυνση email στην οποία θέλετε να στείλετε όλες τις ειδοποιήσεις σας. Θα πρέπει να πατήσετε τον αισθητήρα δόνησης για να δοκιμάσετε να στείλετε μερικά δοκιμαστικά μηνύματα ηλεκτρονικού ταχυδρομείου και να βεβαιωθείτε ότι το έργο λειτουργεί.

Όλα φαίνονται καλά; Εντάξει, είμαστε έτοιμοι για δουλειά!

Βήμα 6: Τοποθέτηση

Βάση
Βάση

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

Σημείωση: η συσκευή πρέπει να είναι τοποθετημένη με τον αισθητήρα δόνησης κάθετο στην πόρτα για να μπορεί ο αισθητήρας να καταλάβει την κίνηση της πόρτας

Μόλις ολοκληρωθεί αυτό, θα πρέπει να μπορείτε να SSH στη συσκευή και να εκτελέσετε τα προγράμματα όπως αναφέρθηκε στο προηγούμενο βήμα και να περιμένετε εισβολείς!

Για επιπλέον πόντους, προσπαθήστε να αποκρύψετε τα καλώδια/τη συσκευή, ώστε οι εισβολείς να μην είναι καχύποπτοι για την έξυπνη συσκευή σας!… Ή απλά μην την τοποθετείτε σε γυάλινη πόρτα. ¯ / _ (ツ) _/¯

Συνιστάται: