Turinys:

„Uber“mygtukas: 7 žingsniai
„Uber“mygtukas: 7 žingsniai

Video: „Uber“mygtukas: 7 žingsniai

Video: „Uber“mygtukas: 7 žingsniai
Video: Technology Stacks - Computer Science for Business Leaders 2016 2024, Lapkritis
Anonim
„Uber“mygtukas
„Uber“mygtukas

Gaukite „Uber“kelionę tiesiog paspausdami mygtuką!

Įvadas

Šioje pamokoje naudosime „Sigfox“tinklo lokalizavimo paslaugą (kuri kol kas gali suteikti ne daugiau kaip 1 km spindulio padėties tikslumą), kad gautume artimiausią vietą nurodytu adresu ir atitinkamai paprašytume „Uber“važiavimo. Todėl mums nereikia įrenginio su GPS.

Mes naudosime „Sens'it“, tačiau bet kuris įrenginys, galintis siųsti pranešimą per „Sigfox“, gali būti sėkmingai naudojamas šiai pamokai atlikti.

Pažiūrėkite čia, jei norite gauti daugiau informacijos apie „Sigfox“gamintojus.

1 žingsnis: Aparatūra

„Sens'it“(ar bet kuris kitas įrenginys, galintis siųsti „Sigfox“pranešimą)

2 veiksmas: „Uber“API

Automatizuosime važiavimo užklausos užsakymo procesą skambindami „Uber“API galiniams taškams.

Kad suprastumėte, kaip tai įmanoma, būtinai peržiūrėkite mano sukurtą mazgo modulį, kad būtų paprasčiau ir aiškiau. Kad jis veiktų, jums reikės prieigos prie „Uber“API prieigos rakto. Šiame „GitHub“puslapyje galite sužinoti, kaip gauti šį raktą.

Būtinos sąlygos

  • Galiojanti „Uber“paskyra
  • „Uber“API prieigos raktas (kaip jį gauti, patikrinkite aukščiau)
  • Suaktyvintas įrenginys „Sigfox Backend“(sekite šią nuorodą, kad suaktyvintumėte „Sens'it“). Jums reikės įrenginio ID ir PAC.

Montavimas

Programoje „app.js“bus sukurtos dvi adresų struktūros (su reikšmėmis, apibrėžtomis aplinkos kintamaisiais):

konst adresas_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};

Šie adresai bus naudojami paėmimo ir išleidimo vietoms nurodyti. Mes juos nustatysime vėliau.

Jei „Sens'it“įrenginys siunčia savo geografiškai lokalizuotą vietą, esančią arčiausiai adreso Nr. 1, tada adresas Nr. 1 nustatomas kaip paėmimas, o adresas Nr. 2-kaip išvykimo užklausa. Ir taip atvirkščiai…

Jei „Sigfox Backend“geografinės vietos nustatymo paslauga pateikia tikslumo spindulį, didesnį už atstumą tarp dviejų adresų, „Uber“užklausa nebus vykdoma (nes negalima nustatyti atvykimo tikslo).

3 žingsnis: įdiekite „Heroku“

Diegti „Heroku“
Diegti „Heroku“
Diegti „Heroku“
Diegti „Heroku“

Aš parašiau programą naudodamas „NodeJS“, kad automatizuotų užsakymo procesą. Spustelėkite žemiau esantį mygtuką, kad automatiškai įdiegtumėte jį „Heroku“.

PASPAUDKITE ČIA

Alternatyvus būdas jį paleisti „Heroku“yra įdiegti „Heroku Cli“ir atlikti šiuos veiksmus:

$ git klonas

$ cd sigfox_uber $ heroku programos: sukurkite $ git push heroku master

Dabar eikite į „Heroku“programos nustatymų skirtuką (https://dashboard.heroku.com/apps//settings), kad nustatytumėte aplinkos kintamuosius. Nustatykite šiuos kintamuosius (būtinai nustatykite norimus adresus):

  • ACCESS_TOKEN | YOUR_ACCESS_TOKEN
  • ADDRESS_1_LAT | 49,009698
  • ADDRESS_1_LNG | 2.547882
  • ADDRESS_1_NAME | oro uostas
  • ADDRESS_2_LAT | 48,876579
  • ADDRESS_2_LNG | 2.330618
  • ADDRESS_2_NAME | biure

Galutinis taškas „…/request/: device/: lat/: lng/: radius“bus iškviestas kiekvieną kartą, kai siunčiamas pranešimas į „Sigfox Backend“(žr. Toliau, kaip jį sukonfigūruoti). Naudodamas „Sigfox“geolokalizacijos paslaugą, serveris gaus „Sens'it“apytikslę padėtį. Tada bus užsakytas „UberX“su nurodytais paėmimo ir išleidimo adresais.

Norėdami patikrinti, ar programa veikia, eikite į jos URL. Naršyklėje turėtumėte pamatyti „Programa veikia …“. Norėdami gauti daugiau informacijos, taip pat galite patikrinti žurnalus.

4 veiksmas: [neprivaloma] Nemokami SMS pranešimai su prancūzų mobiliojo ryšio operatoriumi (pavadintas nemokamu)

Jei turite nemokamą prancūzų mobiliojo ryšio operatoriaus prenumeratą, galite naudoti nemokamą SMS pranešimų API, kad gautumėte pranešimus į savo telefoną. Norėdami tai padaryti, tiesiog suaktyvinkite paslaugą savo abonentų srityje ir peržiūrėkite šiuos aplinkos kintamuosius „Heroku“programos nustatymų skirtuke:

  • FREE_USER | JŪSŲ_FREE_USER
  • FREE_PASS | JŪSŲ_FREE_PASS

Dabar galėsite gauti SMS įspėjimus apie jūsų „UberX“užklausas.

5 veiksmas: sukonfigūruokite „Sigfox Backend Callback“

Konfigūruokite „Sigfox Backend Callback“
Konfigūruokite „Sigfox Backend Callback“
  • Prisijunk čia
  • Eikite į https://backend.sigfox.com/devicetype/list, įrenginio eilutėje spustelėkite kairę ir pasirinkite „Redaguoti“
  • Dabar eikite į skyrių „SKAMBINIMAI“kairėje, viršuje dešinėje pasirinkite „naujas“, pasirinkite „Pasirinktinis atšaukimas“
  • Tipas: PASLAUGOS | GEOLOC
  • Kanalo URL
  • URL šablonas: https://.herokuapp.com/request/ {device}/{lat}/{lng}/{radius}
  • Naudokite HTTP metodą: GET
  • Pasirinkite „Gerai“, kad patvirtintumėte

6 veiksmas: paleiskite, kad išbandytumėte

Pagal numatytuosius nustatymus smėlio dėžės kintamasis yra nustatytas į true. Tai suklastos „Uber“važiavimo užklausas, kad jūsų banko sąskaita nebūtų paveikta netyčinių manipuliacijų.

Du kartus paspauskite „Sens'it“mygtuką, kad išsiųstumėte pranešimą per „Sigfox“. Įsitikinkite, kad pranešimai yra gerai priimti „Sigfox Backend“. Prisijunkite, eikite į ĮRENGINIO skyrių ir kairėje spustelėkite savo įrenginio ID. Norėdami pamatyti naudingąsias apkrovas, galite eiti į skyrių Žinutės.

7 žingsnis: užsisakykite tikrą „Uber Ride“

Užsisakykite tikrą „Uber Ride“kelionę
Užsisakykite tikrą „Uber Ride“kelionę

Dabar nustatykite smėlio dėžės aplinkos kintamąjį į klaidingą, jei norite paprašyti tikrojo „Uber“tvarkyklės.

SANDBOX | klaidinga

Mygtukas „Sens'it“iškvies kelią…/request/: device/: lat/: lng/: spindulys ir suaktyvins „Uber“važiavimo užklausą!

Dabartinę užklausos būseną taip pat galite pamatyti adresu…/request/current.

Norėdami atšaukti užsakymą, galite naudoti šį kelią:…/request/cancel.

Važiuokime

Smagiai užsisakykite „Ubers“!

Antoine'as de Chassey

Rekomenduojamas: