Satura rādītājs:

Uber poga: 7 soļi
Uber poga: 7 soļi
Anonim
Uber poga
Uber poga

Iegūstiet Uber braucienu, vienkārši nospiežot pogu!

Ievads

Šajā apmācībā mēs izmantosim Sigfox tīkla lokalizācijas pakalpojumu (kas pagaidām var noteikt pozīcijas precizitāti ne vairāk kā 1 km rādiusā), lai iegūtu tuvāko atrašanās vietu noteiktai adresei un attiecīgi pieprasītu Uber braucienu. Tāpēc mums nav nepieciešama ierīce ar GPS.

Mēs izmantosim Sens'it, taču, lai veiksmīgi izpildītu šo apmācību, var izmantot jebkuru ierīci, kas spēj nosūtīt ziņojumu, izmantojot Sigfox.

Apskatiet šeit, ja vēlaties iegūt sīkāku informāciju par Sigfox veidotājiem.

1. darbība. Aparatūra

Sens'it (vai jebkura cita ierīce, kas spēj nosūtīt Sigfox ziņojumu)

2. darbība. Uber API

Mēs automatizēsim braukšanas pieprasījuma pasūtīšanas procesu, zvanot uz Uber API galapunktiem.

Lai saprastu, kā tas ir iespējams, lūdzu, pārbaudiet mezgla moduli, kuru es izstrādāju lietošanas vienkāršības un skaidrības labad. Lai tas darbotos, jums būs nepieciešams piekļuves marķieris Uber API. Šīs marķiera iegūšanas gaitu var atrast šajā GitHub lapā.

Priekšnosacījumi

  • Derīgs Uber konts
  • Jūsu Uber API piekļuves pilnvara (skatiet iepriekš, kā to iegūt)
  • Aktivizēta ierīce Sigfox aizmugurē (sekojiet šai saitei, lai aktivizētu Sens'it). Jums būs nepieciešams ierīces ID un PAC.

Uzstādīšana

Programmā app.js tiks izveidotas divas adrešu struktūras (ar vērtībām, kas definētas vides mainīgajos):

const adrese_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};

Šīs adreses tiks izmantotas, lai norādītu saņemšanas un nodošanas vietas. Mēs tos iestatīsim vēlāk.

Ja Sens'it ierīce nosūta savu ģeogrāfiski lokalizēto atrašanās vietu, kas ir vistuvāk adresei #1, tad adrese #1 tiek iestatīta kā paņemšana un adrese #2 tiek iestatīta kā nolaišanās brauciena pieprasījumam. Un tā otrādi …

Ja Sigfox Backend ģeogrāfiskās atrašanās vietas noteikšanas pakalpojums atgriež precizitātes rādiusu, kas ir lielāks par attālumu starp abām adresēm, Uber pieprasījums netiks izpildīts (jo ierašanās galamērķi nevar noteikt).

3. darbība: izvietojiet Heroku

Izvietot Heroku
Izvietot Heroku
Izvietot Heroku
Izvietot Heroku

Es uzrakstīju lietotni, izmantojot NodeJS, lai automatizētu pasūtīšanas procesu. Noklikšķiniet uz tālāk esošās pogas, lai to automātiski izvietotu Heroku.

KLIKŠĶINIET ŠEIT, lai IZVEIDOTU

Alternatīvs veids, kā to palaist Heroku, ir instalēt Heroku Cli un izpildīt šīs darbības:

$ git klons

$ cd sigfox_uber $ heroku lietotnes: izveidojiet $ git push heroku meistaru

Tagad dodieties uz Heroku lietotnes iestatījumu cilni (https://dashboard.heroku.com/apps//settings), lai iestatītu vides mainīgos. Iestatiet šādus mainīgos (noteikti iestatiet vēlamās adreses):

  • ACCESS_TOKEN | JŪSU_PIEEJAMĪBA
  • ADDRESS_1_LAT | 49,009698
  • ADDRESS_1_LNG | 2.547882
  • ADDRESS_1_NAME | lidosta
  • ADDRESS_2_LAT | 48,876579
  • ADDRESS_2_LNG | 2.330618
  • ADDRESS_2_NAME | birojs

Galapunkts "…/request/: device/: lat/: lng/: radius" tiks izsaukts katru reizi, kad tiek nosūtīts ziņojums uz Sigfox aizmuguri (skatiet tālāk, kā to konfigurēt). Izmantojot Sigfox ģeolokalizācijas pakalpojumu, serveris saņems Sens'it aptuveno pozīciju. Pēc tam tiks pasūtīts UberX ar noteiktajām saņemšanas un nodošanas adresēm.

Lai pārbaudītu, vai lietotne darbojas, dodieties uz tās URL. Pārlūkprogrammā vajadzētu redzēt "Lietotne darbojas …". Lai iegūtu sīkāku informāciju, varat arī pārbaudīt žurnālus.

4. darbība: [pēc izvēles] bezmaksas īsziņu paziņojumi ar franču mobilo sakaru operatoru (nosaukts par bezmaksas)

Ja jums ir franču bezmaksas mobilo sakaru operatora abonements, varat izmantot viņu bezmaksas SMS paziņojumu API, lai saņemtu paziņojumus savā tālrunī. Lai to paveiktu, vienkārši aktivizējiet pakalpojumu abonentu apgabalā un skatiet šādus vides mainīgos Heroku lietotnes iestatījumu cilnē:

  • FREE_USER | JŪSU_FREE_USER
  • FREE_PASS | JŪSU_FREE_PASS

Tagad jūs varēsit saņemt SMS brīdinājumus par jūsu UberX pieprasījumiem.

5. darbība: konfigurējiet Sigfox aizmugures atzvanīšanu

Konfigurējiet Sigfox aizmugures atzvanīšanu
Konfigurējiet Sigfox aizmugures atzvanīšanu
  • Piesakieties šeit
  • Dodieties uz vietni https://backend.sigfox.com/devicetype/list, noklikšķiniet uz ierīces rindas pa kreisi un atlasiet “Rediģēt”.
  • Tagad dodieties uz sadaļu "Zvanīšana" kreisajā pusē, augšējā labajā stūrī atlasiet "jauns", atlasiet "Pielāgots atzvanīšana"
  • Tips: PAKALPOJUMS | GEOLOC
  • Kanāla URL
  • URL modelis: https://.herokuapp.com/request/ {device}/{lat}/{lng}/{radius}
  • Izmantojiet HTTP metodi: GET
  • Lai apstiprinātu, atlasiet “Labi”

6. darbība: palaidiet, lai pārbaudītu

Pēc noklusējuma smilškastes mainīgais ir iestatīts uz true. Tādējādi tiks viltoti Uber braukšanas pieprasījumi, lai netīšas manipulācijas neietekmētu jūsu bankas kontu.

Divreiz nospiediet pogu Sens'it, lai nosūtītu ziņojumu, izmantojot Sigfox. Pārliecinieties, vai Sigfox aizmugurē ir labi saņemti ziņojumi. Piesakieties, dodieties uz sadaļu IERĪCE un noklikšķiniet uz kreisās ierīces ID. Jūs varat doties uz sadaļu ZIŅOJUMI, lai redzētu kravas.

7. solis: pasūtiet īstu braucienu ar Uber

Pasūtiet īstu Uber braucienu
Pasūtiet īstu Uber braucienu

Tagad iestatiet smilškastes vides mainīgo uz nepatiesu, ja vēlaties pieprasīt īstu Uber draiveri.

SANDBOX | nepatiesa

Poga Sens'it izsauks ceļu…/request/: device/: lat/: lng/: rādiuss un aktivizēs Uber braukšanas pieprasījumu!

Pašreizējo pieprasījuma statusu var redzēt arī vietnē…/request/current.

Lai atceltu pasūtījumu, var izmantot šo ceļu:…/request/cancel.

Braucam

Izklaidējieties, pasūtot savus Ubers!

Antuāns de Časijs

Ieteicams: