Πίνακας περιεχομένων:
- Βήμα 1: Υλικό
- Βήμα 2: Το Uber API
- Βήμα 3: Ανάπτυξη στο Heroku
- Βήμα 4: [Προαιρετικά] Δωρεάν ειδοποιήσεις SMS με έναν Γάλλο χειριστή κινητής τηλεφωνίας (ονομάζεται Δωρεάν)
- Βήμα 5: Διαμορφώστε το Sigfox Backend Callback
- Βήμα 6: Εκτέλεση δοκιμής
- Βήμα 7: Παραγγείλετε ένα πραγματικό Uber Ride
Βίντεο: Το κουμπί Uber: 7 βήματα
2024 Συγγραφέας: John Day | [email protected]. Τελευταία τροποποίηση: 2024-01-30 08:32
Κάντε μια βόλτα με το Uber απλά πατώντας ένα κουμπί!
Εισαγωγή
Σε αυτό το σεμινάριο, θα χρησιμοποιήσουμε την υπηρεσία εντοπισμού δικτύου Sigfox (η οποία μπορεί, προς το παρόν, να δώσει ακρίβεια θέσης ακτίνας 1 χιλιομέτρου το πολύ), προκειμένου να φτάσουμε στην πλησιέστερη θέση σε μια καθορισμένη διεύθυνση και να ζητήσουμε μια αναζήτηση Uber ανάλογα. Επομένως, δεν χρειαζόμαστε συσκευή με GPS.
Θα χρησιμοποιήσουμε ένα Sens'it, αλλά οποιαδήποτε συσκευή μπορεί να στείλει ένα μήνυμα μέσω του Sigfox μπορεί να χρησιμοποιηθεί για να ολοκληρώσει αυτό το σεμινάριο με επιτυχία.
Ρίξτε μια ματιά εδώ αν θέλετε να έχετε περισσότερες λεπτομέρειες σχετικά με τους κατασκευαστές Sigfox.
Βήμα 1: Υλικό
Ένα Sens'it (ή οποιαδήποτε άλλη συσκευή που μπορεί να στείλει ένα μήνυμα Sigfox)
Βήμα 2: Το Uber API
Θα αυτοματοποιήσουμε τη διαδικασία παραγγελίας ενός αιτήματος οδήγησης καλώντας τα τελικά σημεία του Uber API.
Για να καταλάβετε πώς είναι δυνατόν, φροντίστε να ελέγξετε τη μονάδα κόμβου που ανέπτυξα για λόγους απλότητας και σαφήνειας χρήσης. Θα χρειαστείτε ένα διακριτικό πρόσβασης στο Uber API για να λειτουργήσει. Η διαδικασία για τον τρόπο λήψης αυτού του διακριτικού μπορεί να βρεθεί σε αυτήν τη σελίδα του GitHub.
Προαπαιτούμενα
- Ένας έγκυρος λογαριασμός Uber
- Το διακριτικό πρόσβασης στο Uber API (ελέγξτε παραπάνω για τον τρόπο απόκτησής του)
- Μια ενεργοποιημένη συσκευή στο Sigfox Backend (ακολουθήστε αυτόν τον σύνδεσμο για την ενεργοποίηση του Sens'it). Θα χρειαστείτε το αναγνωριστικό συσκευής και το PAC.
Εγκατάσταση
Στο app.js, δύο δομές διευθύνσεων θα δημιουργηθούν ως εξής (με τιμές που ορίζονται σε μεταβλητές περιβάλλοντος):
const address_1 = {
'name': process.env. ADDRESS_1_NAME, 'lat': process.env. ADDRESS_1_LAT, 'lng': process.env. ADDRESS_1_LNG}; const address_2 = {'name': process.env. ADDRESS_2_NAME, 'lat': process.env. ADDRESS_2_LAT, 'lng': process.env. ADDRESS_2_LNG};
Αυτές οι διευθύνσεις θα χρησιμοποιηθούν για τον καθορισμό των θέσεων παραλαβής και αποβίβασης. Θα τα ορίσουμε αργότερα.
Εάν η συσκευή Sens'it στείλει τη γεω-εντοπισμένη θέση της πλησιέστερα στη διεύθυνση #1, τότε η διεύθυνση #1 ορίζεται ως παραλαβή και η διεύθυνση #2 ορίζεται ως πτώση για το αίτημα οδήγησης. Και ούτω καθεξής για το αντίστροφο…
Εάν η υπηρεσία γεωγραφικής τοποθεσίας Sigfox Backend επιστρέψει ακτίνα ακριβείας μεγαλύτερη από την απόσταση μεταξύ των δύο διευθύνσεων, το αίτημα Uber δεν θα εκτελεστεί (καθώς ο προορισμός άφιξης δεν μπορεί να καθοριστεί).
Βήμα 3: Ανάπτυξη στο Heroku
Έγραψα μια εφαρμογή χρησιμοποιώντας το NodeJS για να αυτοματοποιήσω τη διαδικασία παραγγελίας. Κάντε κλικ στο παρακάτω κουμπί για να το αναπτύξετε αυτόματα στο Heroku.
ΠΑΤΗΣΤΕ ΕΔΩ ΓΙΑ ΑΝΑΠΤΥΞΗ
Ένας εναλλακτικός τρόπος για να λειτουργήσει στο Heroku είναι να εγκαταστήσετε το Heroku Cli και να ακολουθήσετε αυτά τα βήματα:
$ git clone
$ cd sigfox_uber $ heroku εφαρμογές: δημιουργήστε $ git push heroku master
Τώρα, μεταβείτε στην καρτέλα ρυθμίσεων της εφαρμογής Heroku (https://dashboard.heroku.com/apps//settings) για να ορίσετε τις μεταβλητές περιβάλλοντος. Ορίστε τις ακόλουθες μεταβλητές (βεβαιωθείτε ότι έχετε ορίσει τις διευθύνσεις που επιθυμείτε):
- ACCESS_TOKEN | YOUR_ACCESS_TOKEN
- ADDRESS_1_LAT | 49.009698
- ADDRESS_1_LNG | 2.547882
- ADDRESS_1_NAME | το αεροδρομιο
- ADDRESS_2_LAT | 48.876579
- ADDRESS_2_LNG | 2.330618
- ADDRESS_2_NAME | γραφείο
Το τελικό σημείο "…/request/: device/: lat/: lng/: radius" θα καλείται κάθε φορά που αποστέλλεται ένα μήνυμα στο Sigfox Backend (δείτε παρακάτω πώς να το διαμορφώσετε). Χρησιμοποιώντας την υπηρεσία γεωεντοπισμού Sigfox, ο διακομιστής θα λάβει την κατά προσέγγιση θέση Sens'it. Στη συνέχεια, θα παραγγείλετε ένα UberX με τις καθορισμένες διευθύνσεις παραλαβής και αποβίβασης.
Για να ελέγξετε αν η εφαρμογή εκτελείται, μεταβείτε στη διεύθυνση URL της. Θα πρέπει να δείτε "Η εφαρμογή εκτελείται …" στο πρόγραμμα περιήγησής σας. Μπορείτε επίσης να ελέγξετε τα αρχεία καταγραφής για περισσότερες λεπτομέρειες.
Βήμα 4: [Προαιρετικά] Δωρεάν ειδοποιήσεις SMS με έναν Γάλλο χειριστή κινητής τηλεφωνίας (ονομάζεται Δωρεάν)
Εάν διαθέτετε δωρεάν γαλλική εγγραφή φορέα κινητής τηλεφωνίας, μπορείτε να χρησιμοποιήσετε το δωρεάν API ειδοποιήσεων SMS για να λαμβάνετε ειδοποιήσεις στο τηλέφωνό σας. Για να λειτουργήσει αυτό, απλώς ενεργοποιήστε την υπηρεσία στην περιοχή των συνδρομητών σας και αναφέρετε τις ακόλουθες μεταβλητές περιβάλλοντος στην καρτέλα ρυθμίσεων της εφαρμογής Heroku:
- FREE_USER | YOUR_FREE_USER
- FREE_PASS | YOUR_FREE_PASS
Τώρα θα μπορείτε να λαμβάνετε ειδοποιήσεις SMS σχετικά με τα αιτήματά σας UberX.
Βήμα 5: Διαμορφώστε το Sigfox Backend Callback
- Συνδεθείτε εδώ
- Μεταβείτε στη διεύθυνση https://backend.sigfox.com/devicetype/list, κάντε κλικ αριστερά στη σειρά της συσκευής σας και επιλέξτε "Επεξεργασία"
- Τώρα μεταβείτε στην ενότητα "CALLBACKS" στα αριστερά, επιλέξτε "νέα" επάνω δεξιά και επιλέξτε "Προσαρμοσμένη επανάκληση"
- Τύπος: SERVICE | GEOLOC
- URL καναλιού
- Μοτίβο url: https://.herokuapp.com/request/ {device}/{lat}/{lng}/{radius}
- Χρησιμοποιήστε τη μέθοδο HTTP: GET
- Επιλέξτε "OK" για επικύρωση
Βήμα 6: Εκτέλεση δοκιμής
Από προεπιλογή, η μεταβλητή sandbox έχει οριστεί σε true. Αυτό θα παραποιήσει αιτήματα οδήγησης Uber, ώστε ο τραπεζικός σας λογαριασμός να μην επηρεάζεται από ακούσιους χειρισμούς.
Πατήστε το κουμπί Sens'it δύο φορές για να στείλετε ένα μήνυμα μέσω του Sigfox. Βεβαιωθείτε ότι τα μηνύματα λαμβάνονται καλά στο Sigfox Backend. Συνδεθείτε, μεταβείτε στην ενότητα ΣΥΣΚΕΥΗ και κάντε κλικ αριστερά στο αναγνωριστικό της συσκευής σας. Μπορείτε να μεταβείτε στην ενότητα ΜΗΝΥΜΑΤΑ για να δείτε τα ωφέλιμα φορτία.
Βήμα 7: Παραγγείλετε ένα πραγματικό Uber Ride
Τώρα ορίστε τη μεταβλητή περιβάλλοντος sandbox σε false αν θέλετε να ζητήσετε ένα πραγματικό πρόγραμμα οδήγησης Uber.
SANDBOX | ψευδής
Το κουμπί Sens'it θα καλέσει τη διαδρομή…/request/: device/: lat/: lng/: radius και θα ενεργοποιήσει το αίτημα οδήγησης Uber!
Μπορείτε επίσης να δείτε την τρέχουσα κατάσταση αιτήματος στο…/request/current.
Για να ακυρώσετε μια παραγγελία, αυτή η διαδρομή μπορεί να χρησιμοποιηθεί:…/request/cancel.
Ας οδηγήσουμε
Διασκεδάστε παραγγέλνοντας τα Ubers σας!
Αντουάν ντε Τσάσι
Συνιστάται:
Κουμπί σίγασης ομάδων Microsoft: 4 βήματα
Κουμπί σίγασης των ομάδων Microsoft: Δημιουργήστε ένα κουμπί εύκολης πρόσβασης για σίγαση/σίγαση του εαυτού σας όταν καλείτε ομάδες της Microsoft! Επειδή το 2020. Αυτό το έργο χρησιμοποιεί ένα Adafruit Circuit Playground Express (CPX) και ένα μεγάλο κουμπί για να δημιουργήσει ένα κουμπί σίγασης για τις ομάδες της Microsoft μέσω του πλήκτρου πρόσβασης
Κουμπί αυτοματισμού σπιτιού 5 $: 4 βήματα
Κουμπί αυτοματισμού σπιτιού 5 $: Κουμπί αυτοματισμού σπιτιού 5 $ Μερικές φορές η πιο απλή λύση είναι ένα μόνο κουμπί. Θέλαμε έναν εύκολο τρόπο να ενεργοποιήσουμε μια ρουτίνα «πριν τον ύπνο» στον κόμβο αυτοματισμού του σπιτιού μας (το Hubitat Elevation), ο οποίος σβήνει τα περισσότερα φώτα, θέτει τα άλλα σε συγκεκριμένα επίπεδα και
Κουμπί απενεργοποίησης για Raspberry Pi: 3 βήματα
Κουμπί απενεργοποίησης για Raspberry Pi: Το Raspberry Pi είναι μια πολύ χρήσιμη υπολογιστική πλατφόρμα που επιτρέπει τη δημιουργία διαφόρων εφαρμογών έργου IoT/ρομποτικής/έξυπνου σπιτιού/… Το μόνο πράγμα που δεν έχει, σε σύγκριση με έναν κανονικό υπολογιστή, είναι το κουμπί απενεργοποίησης απενεργοποίησης. Πώς μπορούμε λοιπόν να δημιουργήσουμε
DIY ανεμιστήρας με κουμπί ON -OFF - M5StickC ESP32: 8 βήματα
DIY Fan With a ON -OFF Button - M5StickC ESP32: Σε αυτό το έργο θα μάθουμε πώς να χρησιμοποιούμε μια μονάδα FAN L9110 χρησιμοποιώντας έναν πίνακα M5StickC ESP32
Μικροελεγκτής AVR. Εναλλαγή LED με χρήση διακόπτη με κουμπί. Κουμπί απωθήσεων: 4 βήματα
Μικροελεγκτής AVR. Εναλλαγή LED με χρήση διακόπτη με κουμπί. Πιέζοντας το πλήκτρο Debouncing .: Σε αυτήν την ενότητα, θα μάθουμε πώς να κάνουμε τον κωδικό προγράμματος C για το ATMega328PU για να αλλάξουμε την κατάσταση των τριών LED σύμφωνα με την είσοδο από έναν διακόπτη κουμπιού. Επίσης, έχουμε διερευνήσει λύσεις στο πρόβλημα του "Switch Bounce". Ως συνήθως, θα