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

R-PiAlerts: Δημιουργήστε ένα σύστημα ασφαλείας βασισμένο σε WiFi με Raspberry Pis: 8 βήματα (με εικόνες)
R-PiAlerts: Δημιουργήστε ένα σύστημα ασφαλείας βασισμένο σε WiFi με Raspberry Pis: 8 βήματα (με εικόνες)

Βίντεο: R-PiAlerts: Δημιουργήστε ένα σύστημα ασφαλείας βασισμένο σε WiFi με Raspberry Pis: 8 βήματα (με εικόνες)

Βίντεο: R-PiAlerts: Δημιουργήστε ένα σύστημα ασφαλείας βασισμένο σε WiFi με Raspberry Pis: 8 βήματα (με εικόνες)
Βίντεο: R-PiAlerts 2024, Νοέμβριος
Anonim
Image
Image
R-PiAlerts: Δημιουργήστε ένα σύστημα ασφαλείας βασισμένο σε WiFi με Raspberry Pis
R-PiAlerts: Δημιουργήστε ένα σύστημα ασφαλείας βασισμένο σε WiFi με Raspberry Pis
R-PiAlerts: Δημιουργήστε ένα σύστημα ασφαλείας βασισμένο σε WiFi με Raspberry Pis
R-PiAlerts: Δημιουργήστε ένα σύστημα ασφαλείας βασισμένο σε WiFi με Raspberry Pis

Ενώ εργάζεστε στο γραφείο σας, ξαφνικά ακούτε έναν μακρινό θόρυβο. Μόλις ήρθε κάποιος στο σπίτι; Το αυτοκίνητό μου είναι σταθμευμένο μπροστά από το σπίτι μου, κάποιος εισέβαλε στο αυτοκίνητό μου; Δεν θέλετε να έχετε ειδοποίηση στο τηλέφωνό σας ή στο γραφείο σας, ώστε να μπορείτε να αποφασίσετε αν θα διερευνήσετε ή όχι; Λοιπόν, δεν ρωτάτε άλλο! Το R-PiAlerts είναι εδώ!

Τι είναι το R-PiAlerts; Το R-PiAlerts είναι ένα σύστημα ασφαλείας βασισμένο στο Raspberry Pi3 που έχει δημιουργηθεί γύρω από το cloud του Firebase. Εάν εντοπιστεί κίνηση, το σύστημα θα ειδοποιήσει τον χρήστη για πιθανή διείσδυση με ένα μήνυμα κειμένου και μια οθόνη LED που αναβοσβήνει (αθόρυβος οπτικός συναγερμός κάθε είδους). Μόλις ο χρήστης λάβει μια ειδοποίηση, μπορεί να ερευνήσει. Όλες οι εντοπισμένες κινήσεις θα καταγραφούν στη βάση δεδομένων του Firebase. Εκτός από την προβολή του αρχείου καταγραφής κίνησης σε ένα πρόγραμμα περιήγησης ιστού, ο χρήστης μπορεί επίσης να έχει πρόσβαση στο αρχείο καταγραφής κινήσεων μέσω μιας εφαρμογής iOS. Αποφάσισα να το κατασκευάσω λόγω της πρόσφατης αύξησης των διαρρήξεων τόσο σε οχήματα όσο και σε σπίτια στην περιοχή μου.

Γιατί το Pi3; Χρειαζόμουν κάτι μικρό που μπορεί να ανιχνεύσει κίνηση και να εξαντληθεί μια μπαταρία αν χρειαστεί. Στη συνέχεια, μπορώ να κρύψω τη μονάδα πίσω από μια πόρτα ή σε ένα αυτοκίνητο. Επίσης, η μονάδα πρέπει να είναι σε θέση να μου στέλνει ειδοποιήσεις ή ειδοποιήσεις. Το Pi3 μπορεί να κάνει όλα αυτά με το ενσωματωμένο wifi και την ικανότητά του να τρέχει από μια μπαταρία USB. Άλλοι λόγοι για τους οποίους επέλεξα το Pi3:

  • Το Pi είναι σχετικά φθηνό
  • Είναι εύκολο να αναπτυχθεί και να κλιμακωθεί
  • Διαμορφώνεται από την άποψη του λογισμικού
  • Δυνατότητα χρήσης οθονών και αισθητήρων. Αυτό το έργο θα χρησιμοποιήσει το SenseHat
  • Λειτουργία χωρίς κεφαλή (χωρίς οθόνη, πληκτρολόγιο ή ποντίκι)

Πώς λειτουργεί

  • Στην ιδανική περίπτωση, ο χρήστης θα χρειαστεί 2 Raspberry Pis συνδεδεμένα με τη βάση δεδομένων Firebase, αλλά ένα μόνο Pi θα λειτουργήσει επίσης.
  • Χρησιμοποιώντας το SenseHat, το πρώτο Pi (Pi1) θα ανιχνεύσει κίνηση με το επιταχυνσιόμετρο ενώ το δεύτερο Pi (Pi2) θα εμφανίζει ειδοποιήσεις κίνησης.
  • Όταν το Pi1 ανιχνεύσει κίνηση, κάνει 3 πράγματα

    • καταγραφή της κίνησης στη βάση δεδομένων
    • δημιουργήστε μια καταχώρηση ειδοποιήσεων στη βάση δεδομένων για να εμφανιστεί το Pi2
    • στείλτε στον χρήστη ένα μήνυμα κειμένου που ειδοποιεί το χρήστη για την κίνηση.
  • Όταν το Pi2 εντοπίσει μια ειδοποίηση που εμφανίζεται από τη βάση δεδομένων, συμβαίνουν δύο πράγματα

    • Η οθόνη LED του Pi2 θα εμφανίζει συνεχώς την ειδοποίηση
    • Ο χρήστης μπορεί να διαγράψει την ειδοποίηση πατώντας προς τα κάτω το κουμπί του Pi2 SenseHat. Αυτό θα διαγράψει επίσης την καταχώρηση ειδοποιήσεων στη βάση δεδομένων.
  • Με την εφαρμογή iOS, ο χρήστης μπορεί

    • πρόσβαση στη βάση δεδομένων · διαβάστε και διαγράψτε το αρχείο καταγραφής κινήσεων
    • ο χρήστης μπορεί να στείλει Pi1 για να εμφανίσει ένα μήνυμα στην οθόνη LED του Pi1.

Πρακτικές εφαρμογές

  1. Αν παρκάρετε στο δρόμο το αυτοκίνητό σας εντός εμβέλειας wifi. Συνδέστε μια μπαταρία στο Pi1 (δείτε την εικόνα). Κρύψτε το Pi1 στο αυτοκίνητό σας. Τοποθετήστε το Pi2 κάπου εύκολα ορατό, όπως δίπλα στο γραφείο σας (δείτε την εικόνα).
  2. Μια άλλη εφαρμογή είναι να τοποθετήσετε το Pi1 στο σπίτι σας στο πλάι μιας πόρτας. Το Pi είναι τόσο μικροσκοπικό που οι περισσότεροι άνθρωποι δεν θα το παρατηρήσουν ειδικά αν βρίσκεται πίσω από την πλευρά του μεντεσέ (δείτε την εικόνα). Στη συνέχεια, τοποθετήστε το Pi2 σας στο γραφείο εργασίας σας.
  3. Σκύλος που μπαίνει σε ένα σημείο στο σπίτι δεν υποτίθεται; Τοποθετήστε ένα Pi1 σε εκείνη την περιοχή. Βεβαιωθείτε ότι έχετε βάλει το Pi σε ένα ανθεκτικό κουτί, ώστε ο σκύλος σας να μην το μασήσει.

Όσο τα Pis σας βρίσκονται σε εύρος wifi, μπορούν να σας ειδοποιούν ή να σας ειδοποιούν για την κίνηση. Εάν δεν έχετε δεύτερο Pi, μπορείτε απλά να χρησιμοποιήσετε το Pi1 για να εντοπίσετε την κίνηση και να λάβετε ειδοποιήσεις SMS μέσω του κινητού σας τηλεφώνου.

Λογαριασμός Υλικών

  • Δύο (2) Raspberry Pi 3s που τρέχουν Raspbian (το Raspberry Pi 2 θα λειτουργήσει επίσης με wong wifi)
  • Δύο (2) SenseHats
  • Συσκευή Mac και iOS

Απαιτείται λογισμικό

  • Βιβλιοθήκη Pyrebase (σύνδεση με Firebase)
  • Βιβλιοθήκη SenseHat (για πρόσβαση σε επιταχυνσιόμετρο και οθόνη LED)
  • Βιβλιοθήκη Twilio (για αποστολή SMS)
  • Python 3, ενσωματωμένο με το πιο πρόσφατο Raspbian
  • Raspbian με IDLE
  • Xcode8 και Cocoapods στο Mac σας
  • Προθυμία για μάθηση και εξερεύνηση

Πλευρική σημείωσηΑυτή δεν είναι η μόνη λύση ασφάλειας που βασίζεται σε Pi. Εάν έχετε οποιεσδήποτε ιδέες, προτάσεις ή απλά θέλετε να αναδιαμορφώσετε τον κώδικά μου, αφήστε ένα σχόλιο παρακάτω! =)

Βήμα 1: Ρύθμιση λογαριασμών Firebase και Twilio

Ρύθμιση λογαριασμών Firebase και Twilio
Ρύθμιση λογαριασμών Firebase και Twilio
Ρύθμιση λογαριασμών Firebase και Twilio
Ρύθμιση λογαριασμών Firebase και Twilio

Πρώτα απ 'όλα, πριν αρχίσουμε να παίζουμε με το Pis μας, πρέπει να ρυθμίσουμε το Firebase και το Twilio. Το Firebase είναι το πίσω μέρος της Google ως υπηρεσία. Το Firebase περιλαμβάνει λειτουργίες όπως βάση δεδομένων, μηνύματα cloud, έλεγχο ταυτότητας, αποθήκευση κ.λπ. Για αυτό το έργο, θα χρειαστεί μόνο να χρησιμοποιήσουμε τη βάση δεδομένων και τον έλεγχο ταυτότητας σε πραγματικό χρόνο του Firebase. Θα χρειαστεί έλεγχος ταυτότητας για ανάγνωση και εγγραφή στη βάση δεδομένων του Firebase. Για να ρυθμίσετε το Firebase:

  1. Εγγραφείτε για έναν δωρεάν λογαριασμό Firebase
  2. Μεταβείτε στην κονσόλα. Δημιουργήστε ένα νέο έργο και δώστε του ένα όνομα.
  3. Στο αριστερό μενού, κάντε κλικ στο "Επισκόπηση"
  4. Κάντε κλικ στην επιλογή "Προσθήκη Firebase στην εφαρμογή σας στον ιστό", αντιγράψτε το APIKey και το projectid (όχι το url). Το αναγνωριστικό έργου βρίσκεται στις διαφορετικές διευθύνσεις URL, όπως η βάση δεδομένων:
  5. Στο αριστερό μενού, κάντε κλικ στο "Έλεγχος ταυτότητας". Μεταβείτε στη "Μέθοδο σύνδεσης" και ενεργοποιήστε το "Email/Password"
  6. Στην ενότητα "Χρήστης" δημιουργήστε έναν νέο λογαριασμό χρήστη με email/κωδικό πρόσβασης της επιλογής σας. Θα χρησιμοποιήσετε αυτό το διαπιστευτήριο για να συνδεθείτε στη βάση δεδομένων.
  7. Κάτω από το αριστερό μενού, μεταβείτε στη "Βάση δεδομένων"
  8. Αυτή είναι η βάση δεδομένων σας. Αυτή τη στιγμή είναι άδειο. Όταν συμπληρωθεί, θα είναι σε μορφή JSON. Το URL πρέπει να είναι το ίδιο με αυτό που είδατε νωρίτερα.

Το Twilio επιτρέπει στους προγραμματιστές να στέλνουν μηνύματα στους πελάτες τους. Θα το χρησιμοποιήσουμε για να στείλουμε SMS στο τηλέφωνό σας όταν το Pi εντοπίσει κίνηση. Το Twilio θα σας δώσει έναν αριθμό τηλεφώνου για να στείλετε SMS. Για να ρυθμίσετε το Twilio:

  1. Εγγραφείτε για έναν δωρεάν λογαριασμό στον ιστότοπο του Twilio
  2. Αντιγράψτε το λογαριασμό σας SID και authToken
  3. Κάντε κλικ στο "Περιορισμοί δοκιμής" και επιλέξτε "λάβετε τον πρώτο σας αριθμό τηλεφώνου Twilio"
  4. Αντιγράψτε τον νέο αριθμό τηλεφώνου σας

Βήμα 2: Ρυθμίστε το Pis σας

Ρυθμίστε το Pis σας
Ρυθμίστε το Pis σας
Ρυθμίστε το Pis σας
Ρυθμίστε το Pis σας

Πριν ξεκινήσουμε τον προγραμματισμό του Pis, πρέπει να κάνουμε κάποια ρύθμιση. Βεβαιωθείτε ότι έχετε κωδικό πρόσβασης για το Pis σας. Πρώτα θα συνδέσουμε φυσικά τους πίνακες SenseHat με το Pis. Στη συνέχεια, θα εγκαταστήσουμε τις απαραίτητες βιβλιοθήκες SenseHat, Twilio και Pyrebase. Η βάση δεδομένων πραγματικού χρόνου Firebase σχεδιάστηκε για κινητές συσκευές ή ιστότοπους. Ωστόσο, μπορούμε να διαβάσουμε και να γράψουμε τη βάση δεδομένων cloud μέσω του Rest API με μια βοηθητική βιβλιοθήκη όπως το Pyrebase.

Συνδέστε το SenseHatΒεβαιωθείτε ότι τα SenseHats είναι συνδεδεμένα στο Pis σας. Εάν έχετε μια ασυνήθιστη θήκη, ίσως χρειαστεί να αφαιρέσετε το Pi πριν συνδέσετε το SenseHat.

Όλες οι εγκαταστάσεις της βιβλιοθήκης θα γίνουν στο τερματικό

  • Εκκινήστε το Pis σας εάν δεν το έχετε ήδη κάνει.
  • Κατά την εκκίνηση, παίρνετε αυτό το πολύχρωμο ουράνιο τόξο LED στο SenseHat σας! (δείτε την εικόνα)
  • Μεταβείτε στο τερματικό και ενημερώστε/αποσυνδέστε, πληκτρολογήστε:

    • sudo apt-get ενημέρωση
    • sudo apt-get dist-upgrade
  • Αφού ολοκληρωθούν οι αναβαθμίσεις, πληκτρολογήστε τα ακόλουθα για να εγκαταστήσετε τις βιβλιοθήκες SenseHat:

    sudo apt-get install sense-hat

  • Για να εγκαταστήσετε το Pyrebase, πληκτρολογήστε:

    sudo pip εγκατάσταση πυρεμπάσης

  • Τέλος, εγκαταστήστε το Twilio

    sudo pip εγκατάσταση twilio

Βήμα 3: Python Script για Pi1

Όπως αναφέραμε νωρίτερα, το Pi1 θα είναι το Pi που θα χρησιμοποιηθεί για τον εντοπισμό της κίνησης. Οι τιμές του επιταχυνσιόμετρου του SenseHat θα χρησιμοποιηθούν για τον προσδιορισμό της κίνησης. Έτσι, ο κώδικας για το Pi1 θα είναι γύρω από την πρόσβαση στις τιμές δύναμης του επιταχυνσιόμετρου g και την καταγραφή των κινήσεων που εντοπίστηκαν στη βάση δεδομένων Firebase. Ακολουθεί μια επισκόπηση της ροής της διαδικασίας:

  • Εάν το Pi1 εντοπίσει κίνηση, θα προσθέσει μια καταχώριση στο παιδί "ειδοποιήσεων" στο DB του Firebase.
  • Το Pi1 θα ενημερώσει επίσης το παιδί "notifypi2" με ένα μήνυμα ειδοποίησης σχετικά με την κίνηση.
  • Pi2, στη συνέχεια διαβάζει "notifypi2" και εμφανίζει την ειδοποίηση στην οθόνη μήτρας LED.

Έχω συμπεριλάβει το σενάριο Pi1 Python για να ακολουθήσετε. Τα σχόλια στο σενάριο εξηγούν τι κάνει ο κώδικας.

Πρόσθετες σημειώσεις και πληροφορίες για το σενάριο Pi1

  • Για ρύθμιση Firebase και Twilio. Συμπληρώστε τα κατάλληλα κλειδιά API, αναγνωριστικά, κωδικούς πρόσβασης κ.λπ. που αντιγράψατε από τα προηγούμενα βήματα.
  • Όσον αφορά τον έλεγχο ταυτότητας Firebase, για επιπλέον ασφάλεια, μπορείτε να ζητήσετε εισαγωγή χρηστών αντί για σκληρή κωδικοποίηση αυτών των διαπιστευτηρίων. Κάθε φορά που γράφουμε ή διαβάζουμε από τη βάση δεδομένων, θα πρέπει να συμπεριλάβουμε

    χρήστης ['idtoken'] με τον ου

    get (), push (), set () μεθόδους.

  • Η θερμοκρασία της CPU είναι απαραίτητη για να μπορέσουμε να παρέμβουμε σε περίπτωση που το Pi υπερθερμανθεί σε αυτοκίνητο ή σε κλειστό περιβάλλον.
  • Παίρνουμε επίσης την απόλυτη τιμή των δυνάμεων G αφού δεν χρειάζεται να γνωρίζουμε αρνητικές τιμές. Αρκεί να γνωρίζουμε εάν υπάρχουν δυνάμεις G.
  • Εάν η δήλωση θα ελέγξει τις τιμές του επιταχυνσιόμετρου. Εάν οι δυνάμεις G είναι μεγαλύτερες από 1 προς οποιαδήποτε κατεύθυνση, το Pi1 θα καταγράψει τον χρόνο κίνησης και θα εμφανίσει ένα θαυμαστικό στη δική του οθόνη LED. Θα ενημερώσει επίσης το παιδί "notifypi2". Όταν ενημερωθεί το "notifypi2", το Pi2 θα το διαβάσει και θα εμφανίσει "!!!" στην οθόνη LED για να ειδοποιεί το χρήστη για πιθανή κίνηση/διάρρηξη. Το Pi1 θα στείλει επίσης στον χρήστη μια ειδοποίηση SMS για την κίνηση.
  • Όταν χρησιμοποιείτε τη μέθοδο push (), το Firebase θα δημιουργήσει αυτόματα ένα παιδί με μια νέα καταχώριση. Αυτό ήταν απαραίτητο, ώστε τα καταγεγραμμένα δεδομένα κίνησης να είναι μοναδικά. Η μέθοδος set () από την άλλη θα αντικαταστήσει τα προηγούμενα δεδομένα.
  • Ο βρόχος 10 δευτερολέπτων για τον έλεγχο της βάσης δεδομένων είναι απαραίτητος, ώστε το Pi σας να μην ζητά επανειλημμένα δεδομένα από το Firebase. Εάν κάνετε συνεχώς ανεπιθύμητη αλληλογραφία στο Firebase, η Google θα σας αποσυνδέσει σε περίπου 10 λεπτά.
  • Το Firebase θα διώχνει επίσης τον χρήστη κάθε 60 λεπτά εάν το διακριτικό δεν ανανεωθεί. Έχω ρυθμίσει την ανανέωση στα 1800 δευτερόλεπτα (30 λεπτά).

Βήμα 4: Python Script για Pi2

Σενάριο Python για το Pi2
Σενάριο Python για το Pi2

Αν κοιτάξετε τη φωτογραφία, είναι του Pi2 που εμφανίζει μια ειδοποίηση για πιθανή κίνηση.

Το σενάριο του Pi2 είναι σχεδόν το ίδιο με το Pi1, εκτός από το σενάριο που δεν ανιχνεύει κίνηση. Το Pi2 εμφανίζει ή επαναφέρει μηνύματα ειδοποιήσεων από το παιδί "notifypi2". Δεδομένου ότι αυτή είναι η μόνη διαφορά, θα το εξηγήσω παρακάτω.

  • Κάθε 10 δευτερόλεπτα, το Pi2 θα ελέγχει το "notifypi2" για εμφάνιση. Εάν υπάρχει ένα μήνυμα ειδοποίησης προς εμφάνιση, το Pi2 θα το εμφανίζει συνεχώς, ώστε να το βλέπει ο χρήστης.
  • Μόνο η παρέμβαση του χρήστη πατώντας το κουμπί του joystick θα διαγράψει και θα επαναφέρει το μήνυμα στην πλευρά της βάσης δεδομένων.

Βήμα 5: Δοκιμάστε το Pis

Image
Image
Δοκιμάστε το Pis
Δοκιμάστε το Pis

Timeρα να δοκιμάσετε το Πις.

  • Εκτελέστε τα σενάρια για το αντίστοιχο Pis.
  • Συνδεθείτε στο Firebase και μεταβείτε στην ενότητα της βάσης δεδομένων των έργων σας.
  • Ανακινήστε το Pi1 σας, θα πρέπει να δείτε ένα κόκκινο θαυμαστικό στην οθόνη Pi1 LED. Θα πρέπει επίσης να λάβετε ένα μήνυμα SMS.
  • Ελέγξτε τη βάση δεδομένων, θα πρέπει να αρχίσουν να εμφανίζονται καταχωρήσεις ειδοποιήσεων. Το "notifypi2" θα πρέπει επίσης να ενημερωθεί.
  • Ρίξτε μια ματιά στο Pi2. Θα πρέπει επίσης να κάνετε κύλιση "!!!" Για να διαγράψετε αυτό το μήνυμα ειδοποίησης, απλώς πατήστε το χειριστήριο. Θα πρέπει να γίνει επαναφορά του "notifypi2". Ελέγξτε το Firebase για επιβεβαίωση.
  • Εάν θεωρείτε ότι το Pi1 είναι πολύ ευαίσθητο στην κίνηση, αυξήστε το όριο σε μεγαλύτερο από 1G στο σενάριο Pi1.

Εάν όλα πάνε καλά, τα σενάρια σας δεν θα καταρρεύσουν. Τώρα, έχετε ένα λειτουργικό σύστημα ειδοποιήσεων. Μόλις το Pi1 εντοπίσει κινήσεις ή δονήσεις, θα λάβετε μια ειδοποίηση μηνύματος SMS και μια οπτική ειδοποίηση LED στο Pi2.

Βήμα 6: Δημιουργία της εφαρμογής R-PiAlerts IOS

Δημιουργία της εφαρμογής R-PiAlerts IOS
Δημιουργία της εφαρμογής R-PiAlerts IOS

Timeρα για δημιουργία της εφαρμογής iOS! Η εφαρμογή θα είναι αρκετά απλή. Θα έχει LoginViewController και ItemsTableViewController. ItemsTableViewController θα εμφανίζει ειδοποιήσεις ειδοποίησης από το παιδί "ειδοποιήσεις". Κάποιος μπορεί επίσης να διαγράψει καταχωρήσεις βάσης δεδομένων από την εφαρμογή. Για να εξοικονομήσετε πονοκέφαλο, αν σκοπεύετε να δείτε online μαθήματα για το Firebase, βεβαιωθείτε ότι αναζητάτε σεμινάρια με ημερομηνία μετά τον Μάρτιο του 2016, καθώς υπήρξαν σημαντικές αλλαγές πέρυσι εκείνη την περίοδο. Οτιδήποτε πριν από τον Μάρτιο του 2016 θα είναι κληρονομιά. Ενδιαφέρεστε για τα γρήγορα αρχεία, διαβάστε τα σχόλια στον κώδικα. Αν θέλετε ένα σεμινάριο λεπτομερειών σχετικά με τον τρόπο δημιουργίας μιας εφαρμογής Firebase που διαβάζει τη βάση δεδομένων, ελέγξτε το σεμινάριο του Ray Wunderlich.

Ρυθμίστε την Επισκόπηση του Έργου σας iOS

  • Δημιουργήστε ένα έργο iOS μεμονωμένης προβολής στο Xcode.
  • Αντιγράψτε το αναγνωριστικό της δέσμης
  • Μεταβείτε στο έργο σας Firebase στον ιστότοπο και δημιουργήστε ένα αρχείο info.plist με το αναγνωριστικό της δέσμης.
  • Προσθέστε το αρχείο GoogleService-info.plist στο έργο σας. Αυτό το info.plist λειτουργεί μόνο με το συγκεκριμένο έργο Firebase που έχετε δημιουργήσει.
  • Κλείστε έξω από το Xcode και εγκαταστήστε το Firebase μέσω Cocoapods. Βεβαιωθείτε ότι έχετε εγκαταστήσει το Auth and Database.
  • Επανεκκινήστε το Xcode και, στη συνέχεια, διαμορφώστε το AppDelegate.swift για το Firebase. Χρειάζονται μόνο 2 γραμμές κώδικα.

    Εισαγωγή Firebase ένα

    FIRApp.configure () Το Προαιρετικά, το Firebase διαθέτει μια δυνατότητα επιμονής που απαιτεί μόνο 1 γραμμή κώδικα

    FIRDatabase.database (). PersistenceEnabled = true

  • Μπορείτε να βρείτε αναλυτικά τα βήματα εγκατάστασης στον ιστότοπο του Firebase

Πώς αλληλεπιδρά η εφαρμογή με τη βάση δεδομένων Firebase:

  • Η εφαρμογή θα πρέπει να επαληθεύσει τον χρήστη.
  • Μόλις πιστοποιηθεί, η εφαρμογή λαμβάνει ένα στιγμιότυπο της βάσης δεδομένων Firebase και το αποθηκεύει ως αντικείμενο "Στοιχείο".
  • Το εν λόγω αντικείμενο θα γεμίσει έναν πίνακα. Ο εν λόγω πίνακας θα χρησιμοποιηθεί για να συμπληρώσει την προβολή πίνακα.
  • Ένας παρατηρητής θα παρακολουθεί τις αλλαγές στη βάση δεδομένων Firebase και θα δημιουργήσει ένα στιγμιότυπο.
  • Μόλις εντοπιστούν αλλαγές, ο πίνακας θα προστεθεί από το νέο στιγμιότυπο.
  • Στη συνέχεια, η προβολή πίνακα θα φορτωθεί ξανά για να εμφανιστούν οι αλλαγές.

Γενικό περίγραμμα για τον τρόπο δημιουργίας της εφαρμογής

  • Ρίξτε μια ματιά στην εικόνα σχετικά με τον τρόπο που η εφαρμογή είναι τοποθετημένη στο πρόγραμμα δημιουργίας διεπαφών του Xcode.
  • Δημιουργήστε ένα ViewController στο περιβάλλον εργασίας και δημιουργήστε την προσαρμοσμένη κλάση στο LoginViewController.swift.
  • Προσθέστε πεδία κειμένου για email και κωδικό πρόσβασης. Μην ξεχάσετε να ενεργοποιήσετε την "Ασφαλής καταχώριση κειμένου" για το πεδίο κωδικού πρόσβασης. Προσθέστε ένα κουμπί σύνδεσης.
  • Συνδέστε τα πεδία κειμένου και το κουμπί στο LoginViewController.swift. Το LoginViewController.swift θα χειριστεί τον έλεγχο ταυτότητας.
  • Προσθέστε έναν ελεγκτή πλοήγησης στο πρόγραμμα δημιουργίας διεπαφών. Δημιουργήστε ένα segue από το LoginViewController στον ελεγκτή πλοήγησης. Βεβαιωθείτε ότι έχετε δώσει στο segue ένα αναγνωριστικό.
  • Ορίστε την προσαρμοσμένη κλάση της νέας προβολής πίνακα που συνοδεύει τον ελεγκτή πλοήγησης για να δείξετε το στοιχείο ItemsTableViewController.swift. Έχω επίσης 2 κουμπιά στο ItemsTableViewController: Αποσύνδεση και ένα κουμπί Προσθήκη. Συνδέστε τα κουμπιά στο ItemsTableViewController.swift.
  • Σχετικά με τον κωδικό LoginViewController.swift. Ο χρήστης θα εισαγάγει τα διαπιστευτήρια σύνδεσης και το Firebase θα επιστρέψει έναν χρήστη. Εάν ένας χρήστης είναι παρών, θα κάνει ένα segue με το αναγνωριστικό. (δείτε συνημμένο κώδικα)
  • Προσθέστε την κλάση Item.swift (δείτε τον συνημμένο κώδικα)
  • Όσον αφορά τον κώδικα ItemsTableViewController, είναι αρκετά τυπικός κώδικας προβολής πίνακα. Θα υπάρχει ένας παρατηρητής που θα παρακολουθεί τις αλλαγές στη βάση δεδομένων σας που αποθηκεύονται ως στιγμιότυπο ως αντικείμενο αντικειμένου. Στη συνέχεια, το αντικείμενο αντικειμένου θα προσθέσει τον πίνακα για να συμπληρώσει την προβολή πίνακα. Το κουμπί Προσθήκη ορίζει μια καταχώριση στη βάση δεδομένων Firebase για ανάγνωση και εμφάνιση του Pi1. Για γέλια, πρόσθεσα επίσης κώδικα (βλ. Συνημμένο κώδικα)

Βήμα 7: Δοκιμάστε την εφαρμογή

Δοκιμάστε την εφαρμογή
Δοκιμάστε την εφαρμογή
Δοκιμάστε την εφαρμογή
Δοκιμάστε την εφαρμογή
Δοκιμάστε την εφαρμογή
Δοκιμάστε την εφαρμογή

Εκτελέστε την εφαρμογή σας

  • Συνδεθείτε και ανακινήστε το Pi1 σας. Θα πρέπει να αρχίσετε να εμφανίζονται νέες ειδοποιήσεις ειδοποιήσεων.
  • Πατήστε το κουμπί προσθήκης και παρακολουθήστε το Pi1 να εμφανίζει το μήνυμά σας.
  • Σύρετε προς τα αριστερά, δείτε τις καταχωρίσεις "Ειδοποιήσεις" να καταργηθούν.
  • Λάβετε πάρα πολλές ειδοποιήσεις διαδοχικά; ρυθμίστε το όριο επιταχυνσιόμετρου ή αυξήστε τον χρόνο ύπνου στο σενάριο Pi1.

Βήμα 8: Συμπέρασμα

συμπέρασμα
συμπέρασμα
συμπέρασμα
συμπέρασμα

Φοβερός! Τώρα έχουμε Pis που μπορεί να ανιχνεύσει κίνηση και να σας στείλει ειδοποιήσεις για κινήσεις. Επιπλέον, μπορείτε να διαχειριστείτε το αρχείο καταγραφής μηνυμάτων ειδοποίησης με τη συσκευή σας iOS! Timeρα για ανάπτυξη του Pis. Τοποθετήστε το Pi1 δίπλα στην πόρτα σας και το Pi2 στην περιοχή εργασίας σας. Την επόμενη φορά που θα μπει κάποιος, μπορείτε να δείτε την κατάσταση! Better ακόμα καλύτερα, προσπαθήστε να κρυφτείτε στο Pi στο αυτοκίνητό σας με μια μπαταρία. Χτυπήστε μερικές φορές τις πόρτες, δείτε τι θα συμβεί!

Αυτό είναι μόνο μια αρχή για τις δυνατότητες σχετικά με το τι μπορείτε να κάνετε με ένα Raspberry Pi και Firebase. Το SenseHat περιλαμβάνει επίσης αισθητήρες περιβάλλοντος, γύρο και πυξίδα. Μπορείτε να ρυθμίσετε το Pis σας για να καταγράφετε ορισμένες αλλαγές στο περιβάλλον. Θέλετε να ενισχύσετε το παιχνίδι σας; Όταν το Pi σας ανιχνεύσει κινήσεις, χρησιμοποιήστε μια κάμερα για να τραβήξετε εικόνες και αφήστε το Pi να σας στείλει τις φωτογραφίες. Προσπαθήστε επίσης να χρησιμοποιήσετε έναν αλγόριθμο όρασης υπολογιστή για να αναγνωρίσετε πρόσωπα. αν είναι πρόσωπο κάποιου γνωστού, μπορείτε να ειδοποιηθείτε! Καλα να περνατε!

Συνιστάται: