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

Το κουμπί Uber: 7 βήματα
Το κουμπί Uber: 7 βήματα

Βίντεο: Το κουμπί Uber: 7 βήματα

Βίντεο: Το κουμπί Uber: 7 βήματα
Βίντεο: Πώς να κάνετε την εργασία - για το αεροπλάνο ... 2024, Δεκέμβριος
Anonim
Το κουμπί Uber
Το κουμπί Uber

Κάντε μια βόλτα με το 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

Ανάπτυξη στο Heroku
Ανάπτυξη στο Heroku
Ανάπτυξη στο Heroku
Ανάπτυξη στο 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

Διαμορφώστε το Sigfox Backend Backback
Διαμορφώστε το Sigfox Backend Backback
  • Συνδεθείτε εδώ
  • Μεταβείτε στη διεύθυνση 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

Παραγγείλετε ένα πραγματικό Uber Ride
Παραγγείλετε ένα πραγματικό Uber Ride

Τώρα ορίστε τη μεταβλητή περιβάλλοντος sandbox σε false αν θέλετε να ζητήσετε ένα πραγματικό πρόγραμμα οδήγησης Uber.

SANDBOX | ψευδής

Το κουμπί Sens'it θα καλέσει τη διαδρομή…/request/: device/: lat/: lng/: radius και θα ενεργοποιήσει το αίτημα οδήγησης Uber!

Μπορείτε επίσης να δείτε την τρέχουσα κατάσταση αιτήματος στο…/request/current.

Για να ακυρώσετε μια παραγγελία, αυτή η διαδρομή μπορεί να χρησιμοποιηθεί:…/request/cancel.

Ας οδηγήσουμε

Διασκεδάστε παραγγέλνοντας τα Ubers σας!

Αντουάν ντε Τσάσι

Συνιστάται: