Πίνακας περιεχομένων:
Βίντεο: TextPlayBulb: REST Enabled PlayBulb Using Raspberry Pi 3, BLE and Telegram: 3 Steps
2024 Συγγραφέας: John Day | [email protected]. Τελευταία τροποποίηση: 2024-01-30 08:32
Αυτό το εκπαιδευτικό δείχνει πώς μπορείτε να συνδεθείτε σε μια λάμπα LED PlayBulb Color bluetooth χρησιμοποιώντας Python, βιβλιοθήκη Raspberry Pi 3 και Bluetooth και να επεκτείνετε τα χειριστήρια μέσω REST API για σενάριο IoT, και ως αναπήδηση, το έργο δείχνει επίσης πώς να επεκτείνετε το REST API για τον έλεγχο του PlayBulb σας μέσω προγράμματος -πελάτη κειμένου IM, π.χ. Τηλεγράφημα, όπως να μιλάτε στο αυτοματοποιημένο σπίτι σας μέσω κειμένου.
Αυτό το έργο βασίζεται σε 3 ενότητες:
- pyBulbDriver: Συνδεθείτε στο PlayBulb μέσω BLE gatttool και python.
- pyBulbServer: Χρησιμοποιώντας το pyBulbDriver για να εκθέσετε το στοιχείο ελέγχου λάμπας μέσω REST API.
- pyBulbMessenger: Σύνδεση σε bot τηλεγράφου για αποστολή και λήψη εντολών μέσω προγράμματος -πελάτη telegram που είναι εγκατεστημένο σε οποιοδήποτε έξυπνο τηλέφωνο και χρήση του REST API για την έκδοση εντολών στο PlayBulb.
Μπορείτε να κλωνοποιήσετε το έργο μέσω του git repository:
Στόχος του Έργου:
Για να δημιουργήσετε ένα βασικό εργαλείο για την αλληλεπίδραση με το λαμπτήρα σας μέσω διαφορετικών τρόπων, όπως η αποστολή μηνυμάτων προς το παρόν, τα μελλοντικά σενάρια θα μπορούσαν να περιλαμβάνουν εντολές ομιλίας, χειρονομίες στη λάμπα … κλπ.
Άλλοι πόροι που χρησιμοποιούνται για τη δημιουργία αυτού του εκπαιδευτικού:
- Πρωτόκολλο Bluetooth PlayBulb Color:
- Σύνδεση Python με Playbulb μέσω Bluetooth:
- Ρύθμιση του bot τηλεγράφου:
Συνεισφορά
Το pyBulbDriver επεκτείνεται για να είναι πιο ευέλικτο και παραμετροποιημένο για ευκολία μελλοντικής επέκτασης, δημιουργώντας ένα σενάριο που θα σας επιτρέψει να παίζετε με γραπτά μηνύματα στη λάμπα σας. Απλή διεπαφή για δοκιμές και αναπαραγωγή.
Περιορισμός
Το πρόγραμμα οδήγησης είναι γραμμένο για το PlayBulb Color, για άλλους τύπους PlayBulb π.χ. Πρωτότυπο ή κερί, ο κωδικός bluetooth στο pyBulbDriver πρέπει να αλλάξει σύμφωνα με το προαναφερθέν πρωτόκολλο.
Πρέπει να καταχωρίσετε έναν λογαριασμό τηλεγράφου και να λάβετε ένα κλειδί api, το οποίο προσθέτετε στο pyBulbMessenger.py, ακολουθήστε τη ρύθμιση του bot τηλεγράφου σε άλλους πόρους.
Βήμα 1: Ρύθμιση του έργου
1. Λήψη του κλειδιού API από το Telegram
> Ακολουθήστε την τρέχουσα οδηγία για να λάβετε το κλειδί API σας
> Προσθέστε το κλειδί api σε μεταβλητή api στο pyBulbMessenger.py
2. Ρύθμιση του ονόματος PlayBulb στο pyBulbDriver
> Για να βρείτε το gatttool τη συσκευή εγγραφής, ορίστε το όνομα της συσκευής σας για σάρωση χρησιμοποιώντας το pyBulbDriver.scanForBulb ("PLAYBULB COLOR"). Μπορείτε να βρείτε ένα παράδειγμα στο pyBulbServer.py για να ρυθμίσετε τον διακομιστή REST
3. Για να ξεκινήσει το έργο
> Πρέπει πρώτα να ξεκινήσετε το pyBulbServer.py και μετά να το ακολουθήσετε το pyBulbMessenger.py για την αποστολή μηνυμάτων. Μπορείτε να δοκιμάσετε τις εντολές pyBulbServer χρησιμοποιώντας το CURL.
4. Απαιτούμενο υλικό:
> Raspberry Pi 3 και PlayBulb Color ή PlayBulb Candle
> Εγκατάσταση Telegram για Android ή iOS
5. Εγκατάσταση του Rasberry Pi 3 LE Bluetooth:
www.elinux.org/RPi_Bluetooth_LE
Βήμα 2: Περιήγηση στον κώδικα
pyBulbDriver.py
Το pyBulbDriver περιέχει τις κατηγορίες προγραμμάτων οδήγησης για σύνδεση στο PlayBulb μέσω BLE
Το pyBulbDriver μπορεί επίσης να χρησιμοποιηθεί για οποιαδήποτε άλλα γενικά έργα, καθώς περιέχει μόνο τον κώδικα για τη σάρωση και τη ρύθμιση των συνδέσεων playBulb.
Τα κύρια API για διεπαφή εφαρμογής χρήστη:
- scanForBulb (devicename: String)> Για σάρωση του PlayBulb ή του PlayBulbs μέσω του ονόματος της συσκευής τους
- setBulbColor (s: int, r: int, g: int, b: int)> Για να ορίσετε τις τιμές φωτεινότητας και χρώματος RGB (0 έως 255)
-
setBulbEffect (s: int, r: int, g: int, b: int, mode: int, onbeat: int, offbeat: int)> Παρόμοιο με το setBulbColor, αλλά περιλαμβάνει τον τύπο του εφέ και την ταχύτητα Για να μάθετε περισσότερα, ελέγξτε την ενότητα Εφέ του πρωτοκόλλου χρώματος
Σε αυτήν την τάξη θα βρείτε επίσης άλλες βοηθητικές μεθόδους που προορίζονται για έλεγχο ακεραιότητας δεδομένων και όχι για διεπαφή χρήστη
- convertRGBToHexaCmd (s, r, g, b)
- convertIntToHex (αριθμός)
- checkModeAndSpeed (λειτουργία, offbeat, onbeat)
- έλεγχοι RGBInBounds (s, r, g, b)
pyBulbServer.py
Το pyBulbServer εκθέτει τη διεπαφή εφαρμογής χρήστη σε υπερσυνδέσμους RESTful χρησιμοποιώντας PUT και JSON για αποστολή και λήψη δεδομένων στο pyBulbDriver. Επίσης η σάρωση και η αρχικοποίηση της σύνδεσης BLE γίνεται όταν ο διακομιστής είναι ενεργοποιημένος.
Το pyBulbResource (Resource) διοχετεύει τις κλήσεις στον διακομιστή REST χρησιμοποιώντας χρώμα και εφέ για να ορίσει την εντολή bulb.
Παράδειγμα Για εντολή εφέ:
127.0.0.1/bulb/effect
JSON POST> {data ':' {"s": 0, "r": 255, "g": 255, "b": 255, "m": 1, "on": 15, "off": 15 } '}
pyBulbMessenger.py
Τέλος, το pyBulbMessenger είναι υπεύθυνο για τη διασύνδεση του bot bot του Telegram που είναι συνδεδεμένο με τον πελάτη τηλεφώνου σας. Για περισσότερες λεπτομέρειες σχετικά με τον τρόπο ρύθμισης παραμέτρων και σύνδεσης σε ένα τηλεγράφημα bot ελέγξτε
Το cmdHandler (bot, ενημέρωση) είναι το σημείο όπου οι εντολές κειμένου ορίζονται και συνδέονται με το PlayBulb μέσω του RESTful API.
Προς το παρόν το έργο έχει μόνο κείμενο, ένας άλλος στόχος είναι επίσης η αποστολή εγγεγραμμένων φωνητικών μηνυμάτων που θα αποστέλλονται σε έναν αναγνωριστή ομιλίας για να ενεργοποιήσουν άλλες εντολές (Δεν έχει υλοποιηθεί ακόμα).
Βήμα 3: Συμπέρασμα
Ο τρέχων σχεδιασμός αρχιτεκτονικής αφορούσε περισσότερο την απλοποίηση παρά την επεκτασιμότητα. Εξακολουθεί να λείπει η συνδεσιμότητα της ομάδας, καθώς και περισσότερες εφαρμογές που αφορούν την αποστολή μηνυμάτων στον λαμπτήρα είτε για άμεση εντολή είτε για παιχνιδιάρικη αλληλεπίδραση, είναι ακόμη υπό έρευνα.
Με την εγγραφή σας στο git repo ή μετά, θα βρείτε περισσότερες λεπτομέρειες σχετικά με αυτές τις ενημερώσεις. Ο λόγος για ένα τέτοιο έργο ήταν η διασύνδεση του playBulb και η δημιουργία μιας διεπαφής RESTful για ευκολία ανάπτυξης σε ένα IoT (σενάριο internet of things), αλλά και το άνοιγμα της ευκαιρίας για τη χρήση διαφορετικών τρόπων μέσω του τηλεγράφου IM Client, όπως εικόνες, φωνή και κείμενο για αλληλεπίδραση με συσκευές από ερευνητική σκοπιά.
Συνιστάται:
Arduino Control DC Speed and Direction Speed and Direction Using Potentiometer, OLED Display & Buttons: 6 βήματα
Arduino Control DC Motor Speed and Direction Speed and Direction Using Potentiometer, OLED Display & Buttons: Σε αυτό το σεμινάριο θα μάθουμε πώς να χρησιμοποιούμε πρόγραμμα οδήγησης L298N DC MOTOR CONTROL και ποτενσιόμετρο για τον έλεγχο της ταχύτητας και της κατεύθυνσης του κινητήρα DC με δύο κουμπιά και εμφάνιση της τιμής του ποτενσιόμετρου στην οθόνη OLED. Παρακολουθήστε ένα βίντεο επίδειξης
RG 1/144 Unicorn Gundam Using Arduino Nano and Attiny85: 10 Steps
RG 1/144 Unicorn Gundam Χρησιμοποιώντας το Arduino Nano και το Attiny85: Το RG Unicorn Gundam τελικά έγινε. Προσωπικά, πολλές ιδέες και έννοιες έχουν εισαχθεί και αποδειχθεί, ωστόσο, το πραγματικό αποτέλεσμα δεν είναι πραγματικά ικανοποιημένο. Αυτό θα γινόταν λόγω της σταθερότητας της πρόσθετης δομής στο μοντέλο 1/144 δεν είναι τόσο g
Air Piano Using IR Proximity Sensor and Arduino Uno Atmega 328: 6 Steps (with Pictures)
Air Piano Using IR Proximity Sensor and Arduino Uno Atmega 328: Κανονικά τα Πιάνα είτε πρόκειται για ηλεκτρικό είτε για μηχανικό έργο με τον απλό μηχανισμό πίεσης του κουμπιού. Αλλά εδώ είναι μια συστροφή, θα μπορούσαμε απλώς να εξαλείψουμε την ανάγκη για πλήκτρα σε ένα πιάνο χρησιμοποιώντας μερικούς αισθητήρες. Και οι αισθητήρες υπέρυθρης προσέγγισης ταιριάζουν καλύτερα στην αιτία, επειδή
GMail Notification Using ESP8266 Arduino and OLED: 5 Steps
GMail Notification Using ESP8266 Arduino and OLED: Σήμερα, κάθε μηχάνημα έχει κάποια δεδομένα για ανάρτηση μέσω cloud και τα δεδομένα πρέπει να αναλύουν και πρέπει να καταγράφουν για πολλούς σκοπούς. Ταυτόχρονα, τα δεδομένα θα πρέπει να είναι προσβάσιμα και από τον Αναλυτή. Αυτά τα πράγματα μπορούν να γίνουν χρησιμοποιώντας την έννοια IOT. Το IOT είναι Διαδίκτυο
Arduino 4 Wheel Drive Bluetooth RC Car Using UNO R3, HC-05 and L293D Motorshield With Coding and Android App: 8 Steps
Arduino 4 Wheel Drive Bluetooth RC Car Using UNO R3, HC-05 and L293D Motorshield With Coding and Android App: Σήμερα θα σας πω πώς να φτιάξετε ένα arduino τετρακίνητο bluetooth αυτοκίνητο RC χρησιμοποιώντας ασπίδα κινητήρα HC 05, L293, Κινητήρας 4 DC, με κωδικοποίηση και εφαρμογή για android για έλεγχο αυτοκινήτου. Εξαρτήματα που χρησιμοποιούνται: -1-Arduino UNO R32-Bluetooth HC-053-Motorshield L293