Πίνακας περιεχομένων:
Βίντεο: RPi IoT Smart Light Using Firebase: 4 βήματα (με εικόνες)
2024 Συγγραφέας: John Day | [email protected]. Τελευταία τροποποίηση: 2024-01-30 08:35
Αυτός ο οδηγός σας δείχνει πώς να δημιουργήσετε και να ρυθμίσετε μια εφαρμογή για τον έλεγχο του 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 με την εφαρμογή, ώστε να μπορούμε να επικοινωνούμε από την εφαρμογή στο 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 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
Τώρα πρέπει να ρυθμίσουμε το 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: Περίβλημα
Συνιστάται:
IoT Keychain Finder Using ESP8266-01: 11 βήματα (με εικόνες)
IoT Keychain Finder Using ESP8266-01: Είστε σαν εμένα που ξεχνάω πάντα πού κρατούσατε τα κλειδιά σας; Δεν μπορώ ποτέ να βρω τα κλειδιά μου εγκαίρως! Και εξαιτίας αυτής της συνήθειάς μου, άργησα να πάω στο κολέγιο μου, σε αυτή την περιορισμένη έκδοση πωλήσεων καλούδια αστρικών πολέμων (εξακολουθεί να ανησυχεί!), Ένα ραντεβού (δεν επέλεξε ποτέ
Easy Setup IR Remote Control Using LIRC for the Raspberry PI (RPi) - Ιούλιος 2019 [Μέρος 1]: 7 Βήματα
Easy Setup IR Remote Control Using LIRC for the Raspberry PI (RPi) - Ιούλιος 2019 [Μέρος 1]: Μετά από πολύ ψάξιμο ήμουν έκπληκτος και απογοητευμένος για τις αντικρουόμενες πληροφορίες σχετικά με τον τρόπο ρύθμισης του τηλεχειριστηρίου IR για το έργο μου RPi. Νόμιζα ότι θα ήταν εύκολο, αλλά η ρύθμιση του Linux InfraRed Control (LIRC) ήταν προβληματική εδώ και πολύ καιρό
Internet/cloud Controlled Home Automation Using Esp8266 (aREST, MQTT, IoT): 7 βήματα (με εικόνες)
Internet/cloud Controlled Home Automation Using Esp8266 (aREST, MQTT, IoT): ΟΛΕΣ οι πιστώσεις στο http://arest.io/ για την υπηρεσία cloud !! IoT το πιο συζητημένο θέμα στον κόσμο αυτή τη στιγμή !! Οι διακομιστές και οι υπηρεσίες cloud που το καθιστούν εφικτό είναι το σημείο έλξης του σημερινού κόσμου
IoT Notifier Using ESP-12E: 7 βήματα (με εικόνες)
IoT Notifier Using ESP-12E: Έχετε κολλήσει στο σπίτι μακριά από το αγαπημένο σας πρόσωπο; Σε αυτή τη δύσκολη περίοδο, αυτό το διασκεδαστικό μικρό έργο σίγουρα θα προσπαθήσει να φέρει ένα χαμόγελο στα πρόσωπά σας. Σε αυτό το Instructable, θα σας δείξω πώς να εμφανίζετε ειδοποιήσεις από το κινητό σας τηλέφωνο με τη μορφή
Easy Setup IR Remote Control Using LIRC for the Raspberry PI (RPi) - Ιούλιος 2019 [Μέρος 2]: 3 Βήματα
Easy Setup IR Remote Control Using LIRC for the Raspberry PI (RPi) - Ιούλιος 2019 [Μέρος 2]: Στο Μέρος 1 έδειξα πώς να συναρμολογήσετε το RPi + VS1838b και να διαμορφώσετε τη μονάδα LIRC του Raspbian για λήψη εντολών IR από τηλεχειριστήριο IR. Όλα τα ζητήματα ρύθμισης υλικού και LIRC συζητούνται στο μέρος 1. Το Μέρος 2 θα δείξει πώς να διασυνδέσετε το hardwa