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

RPi IoT Smart Light Using Firebase: 4 βήματα (με εικόνες)
RPi IoT Smart Light Using Firebase: 4 βήματα (με εικόνες)

Βίντεο: RPi IoT Smart Light Using Firebase: 4 βήματα (με εικόνες)

Βίντεο: RPi IoT Smart Light Using Firebase: 4 βήματα (με εικόνες)
Βίντεο: I built a smarter smart home 2024, Ιούλιος
Anonim
RPi IoT Smart Light χρησιμοποιώντας Firebase
RPi IoT Smart Light χρησιμοποιώντας Firebase
RPi IoT Smart Light χρησιμοποιώντας Firebase
RPi IoT Smart Light χρησιμοποιώντας Firebase
RPi IoT Smart Light χρησιμοποιώντας Firebase
RPi IoT Smart Light χρησιμοποιώντας Firebase
RPi IoT Smart Light χρησιμοποιώντας Firebase
RPi IoT Smart Light χρησιμοποιώντας Firebase

Αυτός ο οδηγός σας δείχνει πώς να δημιουργήσετε και να ρυθμίσετε μια εφαρμογή για τον έλεγχο του Raspberry Pi μέσω Firebase (Μια ηλεκτρονική βάση δεδομένων). Και στη συνέχεια τρισδιάστατη εκτύπωση θήκης για το Pi Zero W, ένα Powerboost 1000C, μια μπαταρία και ένα Blinkt !.

Για να μπορείτε να παρακολουθείτε πιο εύκολα, σας συνιστώ να είστε εξοικειωμένοι με το Xcode και το Raspberry Pi.

Και αν σας αρέσει αυτό που βλέπετε, ακολουθήστε με στο Instagram και το Twitter (@Anders644PI) για να συμβαδίσετε με αυτό που φτιάχνω.

Θα χρειαστείτε:

  • Ένα Raspberry Pi Zero W με προσαρμογείς και κεφαλίδες GPIO

    (ή το συνηθισμένο Pi Zero με WiFi dongle)

  • Ένα PowerBoost 1000 C
  • Μπαταρία ιόντων λιθίου - 3,7v 2000mAh
  • Ένα Blinkt! (ή οποιοδήποτε pHAT/HAT, αυτό: δεν χρησιμοποιεί φυσικό pin 5 και τα HAT πρέπει να είναι επίπεδα στο κάτω μέρος.)
  • Κάρτα Micro SD 8 GB ή υψηλότερη, με Raspbian Stretch (με επιφάνεια εργασίας) σε αυτήν
  • Ένα πληκτρολόγιο και ένα ποντίκι (αλλά μπορείτε επίσης να συνδεθείτε μέσω ssh, αν τώρα πώς)
  • Σύνδεση με οθόνη ή τηλεόραση (ή ssh!)
  • Βίδες με θραύσματα
  • Μικρά σύρματα
  • Ένας μικρός διακόπτης και ένα μικρό κουμπί
  • Ένας τρισδιάστατος εκτυπωτής και ένα καρούλι από οποιοδήποτε έγχρωμο νήμα PLA και ένα καρούλι διαφανούς PLA (ή μπορείτε να χρησιμοποιήσετε μια υπηρεσία 3D όπως οι 3D Hubs για να το εκτυπώσετε)

Βήμα 1: Firebase και Xcode

Firebase και Xcode
Firebase και Xcode
Firebase και Xcode
Firebase και Xcode
Firebase και Xcode
Firebase και Xcode

Πρώτα θα ρυθμίσουμε το Firebase με την εφαρμογή, ώστε να μπορούμε να επικοινωνούμε από την εφαρμογή στο Pi.

Αν μπερδευτείτε, μπορείτε να δείτε αυτό το βίντεο.

1. Ανοίξτε το Xcode και δημιουργήστε ένα νέο έργο Xcode. Επιλέξτε Ενιαία προβολή εφαρμογής και ονομάστε την RPiAppControl και βεβαιωθείτε ότι η γλώσσα είναι Swift. Πατήστε Επόμενο και αποθηκεύστε το.

2. Αντιγράψτε το Bundle Identifier, γιατί θα το χρειαστούμε αργότερα.

3. Στο Firebase, συνδεθείτε με τον Λογαριασμό σας Google και κάντε κλικ στην επιλογή Μετάβαση στην κονσόλα.

4. Δημιουργήστε ένα νέο έργο και ονομάστε το RPiAppControl.

5. Κάντε κλικ στην επιλογή Προσθήκη Firebase στην εφαρμογή σας IOS. Επικολλήστε το Bundle Identifier και πατήστε Εγγραφή εφαρμογής.

6. Κατεβάστε το GoogleService-Info.plist και σύρετέ το στο Xcode Project σας.

7. Πίσω στο Firebase, πατήστε Συνέχεια. Στη συνέχεια, ανοίξτε ένα παράθυρο τερματικού και μεταβείτε στη θέση του έργου Xcode.

8. Εκτελέστε αυτήν την εντολή:

pod init

9. Ανοίξτε το Podfile και κάτω από use_frameworks!, προσθέστε αυτήν τη γραμμή:

pod 'Firebase/Core'

10. Επιστρέψτε στον τύπο τερματικού: εγκατάσταση pod και κλείστε το Xcode.

11. Στο Finder, μεταβείτε στο έργο Xcode και ανοίξτε το πρόσφατα δημιουργημένο αρχείο.xcworkspacefile.

12. Εδώ, μεταβείτε στο AppDelegate.swift και στην εισαγωγή UIKit προσθέστε αυτήν τη γραμμή:

εισαγωγή Firebase

Και στη συνάρτηση εφαρμογής, προσθέστε αυτήν τη γραμμή:

FIRApp.configure ().

13. Επιστρέψτε στο Firebase, κάντε κλικ στο κουμπί Συνέχεια και μετά στο Τέλος.

14. Μεταβείτε στη Βάση δεδομένων, κατόπιν στους Κανόνες και ορίστε το ".read" και ".write" σε true. Πατήστε PUBLISH.

15. Πίσω στο Xcode, ανοίξτε το Podfile και κάτω από την πρώτη γραμμή που προσθέσαμε, προσθέστε αυτό:

pod 'Firebase/Database'

16. Επιστρέψτε στο τερματικό, εκτελέστε ξανά το pod install.

Βήμα 2: Ολοκλήρωση Xcode

Ολοκλήρωση Xcode
Ολοκλήρωση Xcode
Ολοκλήρωση Xcode
Ολοκλήρωση Xcode
Ολοκλήρωση Xcode
Ολοκλήρωση Xcode

Τώρα θα ολοκληρώσουμε τον κώδικα και τη διάταξη στο Xcode.

Αυτό χρησιμοποιεί Xcode 9 και Swift 4

Κωδικός για το ViewController1. Στο επάνω μέρος του ViewController και κάτω από το UIKit εισαγωγής, προσθέστε αυτό:

εισαγωγή Firebase

εισαγωγή FirebaseDatabase

2. Στο κάτω μέρος του ViewController και κάτω από τη λειτουργία didReceiveMemoryWarning, αντιγράψτε τις λειτουργίες για κάθε κουμπί:

func num1 (κατάσταση: String) {

ας ref = FIRDatabase.database (). reference () let post: [String: Any] = ["state": state] ref.child ("num1"). setValue (post)}Θυμηθείτε να αλλάξετε τον (αριθμό

3. Στη λειτουργία viewDidLoad, κάτω από το super.viewDidLoad (), εισαγάγετε αυτήν τη γραμμή για κάθε κουμπί (Για πολλά κουμπιά, απλώς αλλάξτε τον (αριθμό). Δείτε την εικόνα…):

num1 (κατάσταση: "OFF")

Διάταξη του Main.storyboard και των κουμπιών

1. Πηγαίνετε στο Main.storyboard και τοποθετήστε μερικά κουμπιά. Μπορείτε να τα σχεδιάσετε όπως εγώ ή να τα προσαρμόσετε όπως θέλετε.

2. Συνδέστε τα κουμπιά με το ViewController. Κάθε κουμπί πρέπει να συνδεθεί δύο φορές: το ένα ως ενέργεια και το κουμπί UI που ονομάζεται κουμπί num (αριθμός) και το άλλο ως προεπιλεγμένη πρίζα και το ονομάζουμε num (number) Color. Δείτε εικόνα…

3. Στη συνέχεια, για όλα τα κουμπιά, επικολλήστε σε αυτήν τη γραμμή σε κάθε μία από τις λειτουργίες:

εάν self.num1Color.backgroundColor == UIColor.lightGray {// Ρυθμίζει το χρώμα του φόντου σε lightGray

num1 (κατάσταση: "ON") // Στέλνει την κατάσταση: "ON" στη φωτιά base.num1Color.backgroundColor = UIColor (κόκκινο: 0,96, πράσινο: 0,41, μπλε: 0,26, άλφα: 1,0) // Ρυθμίζει το χρώμα φόντου σε κοκκινωπό} else {num1 (κατάσταση: "OFF") // Στέλνει την κατάσταση: "OFF" στο firebase self.num1Color.backgroundColor = UIColor.lightGray // Ρυθμίζει το χρώμα φόντου στο lightGray}

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

Τελειώματα (προαιρετικά)

1. Κατεβάστε τις παρακάτω εικόνες και εισαγάγετε το LaunchScreen-image-j.webp

2. Μεταβείτε στο Assets.xcassets και, στη συνέχεια, στο AppIcon. Εδώ, τοποθετήστε στο αντίστοιχο μέγεθος AppIcon.

Βήμα 3: Ρύθμιση Raspberry Pi

Ρύθμιση Raspberry Pi
Ρύθμιση Raspberry Pi

Τώρα πρέπει να ρυθμίσουμε το Pi με το Firebase, έτσι ώστε η εφαρμογή να μπορεί να επικοινωνήσει, να ρίξει Firebase, στο Pi.

Δεν έγραψα τον κωδικό, αλλά μπορείτε να βρείτε τον αρχικό κώδικα εδώ.

1. Στο τερματικό, εκτελέστε τις συνήθεις ενημερώσεις:

sudo apt-get ενημέρωση && sudo apt-get dist-upgrade

2. Στη συνέχεια θα εισαγάγουμε πυρεβάση (Firebase):

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

sudo pip3 install pyrebase sudo pip3 install-αναβάθμιση google-auth-oauthlib

3. Κατεβάστε τώρα τη βιβλιοθήκη Blinkt:

μπούκλα https://get.pimoroni.com/blinkt | κτυπώ δυνατά

4. Κλωνοποίηση του αποθετηρίου μου GitHub:

git clone https://github.com/Anders644PI/RPiAppControl.gitcd RPiAppControl

5. Επεξεργαστείτε το AppRPiControl_Template.py:

nano RPiAppControl_Template.py

6. Συμπληρώστε το Firebase ApiKey και το projectId. Μπορείτε να τα βρείτε μεταβαίνοντας στο Project Firebase και κάνοντας κλικ στην επιλογή Προσθήκη άλλης εφαρμογής και, στη συνέχεια, προσθέστε το Firebase στην εφαρμογή ιστού σας.

7. Προσαρμόστε τις λειτουργίες και αποθηκεύστε τις αλλαγές σας πατώντας ctrl-o (enter) και κλείστε με ctrl-x.

8. Τώρα τρέξτε το με:

sudo python3 RPiAppControl_Template.py

9. Στη συνέχεια, εάν χρησιμοποιείτε ένα Blinkt, μπορείτε να δοκιμάσετε το παράδειγμα, όταν συμπληρώσετε το Firebase ApiKey και το projectId:

παραδείγματα cd

nano RPiAppControl_blinkt_demo.py

Τώρα τρέξτε το:

sudo python3 RPiAppControl_blinkt_demo.pyΛάβετε υπόψη ότι αφού εκτελέσετε το σενάριο, χρειάζεται περίπου ένα λεπτό για να ετοιμαστείτε (Τουλάχιστον στο Pi Zero). Και το σενάριο πρέπει να τρέξει στην python 3

10. BONUS: Εάν θέλετε το σενάριο να τρέχει με εκκίνηση, μπορείτε να μάθετε πώς, εδώ.

Κουμπί τερματισμού/λειτουργίας

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

Λάβετε υπόψη ότι αυτό χρησιμοποιεί τη φυσική καρφίτσα 5 στο Pi, οπότε ορισμένα HAT δεν θα λειτουργήσουν.

Βήμα 4: Περίβλημα

Συνιστάται: