Բովանդակություն:

Uber կոճակը ՝ 7 քայլ
Uber կոճակը ՝ 7 քայլ

Video: Uber կոճակը ՝ 7 քայլ

Video: Uber կոճակը ՝ 7 քայլ
Video: №104 Տիեզերքի հիմնական 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 ակտիվացման համար հետևեք այս հղմանը): Ձեզ հարկավոր կլինի սարքի ID և PAC:

Տեղադրում

App.js- ում երկու հասցեների կառուցվածք կստեղծվեն հետևյալ կերպ (միջավայրի փոփոխականներով սահմանված արժեքներով).

const հասցե_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- ում:

ՍԵ CLՄԵՔ ԱՅՍՏԵ EPԱՐԳԱՆԵԼՈ ՀԱՄԱՐ

Heroku- ում այն գործարկելու այլընտրանքային միջոց է տեղադրել Heroku Cli- ն և հետևել հետևյալ քայլերին.

$ git կլոն

$ cd sigfox_uber $ heroku ծրագրեր. ստեղծեք $ git push heroku վարպետ

Այժմ, անցեք ձեր Heroku հավելվածի կարգավորումների ներդիրին (https://dashboard.heroku.com/apps//settings) `շրջակա միջավայրի փոփոխականները սահմանելու համար: Սահմանեք հետևյալ փոփոխականները (համոզվեք, որ նշեք ձեր ուզած հասցեները).

  • ՄԱՍԻՆ_ԹՈENԿԵՆ | 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 ծանուցումներ ֆրանսիական բջջային օպերատորի հետ (անունն անվճար է)

Եթե ունեք ֆրանսիական բջջային օպերատորի անվճար բաժանորդագրություն, կարող եք օգտագործել նրանց անվճար SMS ծանուցման API- ն ՝ ձեր հեռախոսում ծանուցումներ ստանալու համար: Այս աշխատանքը կատարելու համար պարզապես ակտիվացրեք ծառայությունը ձեր բաժանորդի տարածքում և ձեր Heroku հավելվածի կարգավորումների ներդիրում նշեք միջավայրի հետևյալ փոփոխականները.

  • FREE_USER | ՔՈ_ ԱREEԱՏ_ԱՌԱՅՈԹՅՈՆԸ
  • FREE_PASS | YOUR_FREE_PASS

Այժմ դուք կկարողանաք ստանալ SMS ահազանգեր ձեր UberX հարցումների վերաբերյալ:

Քայլ 5. Կարգավորեք Sigfox Backend Callback- ը

Կարգավորեք Sigfox Backend Callback- ը
Կարգավորեք Sigfox Backend Callback- ը
  • Մուտք գործեք այստեղ
  • Գնացեք https://backend.sigfox.com/devicetype/list, սեղմեք ձեր սարքի տողի ձախ կողմում և ընտրեք «Խմբագրել»
  • Այժմ գնացեք «CALLBACKS» բաժինը ձախ կողմում, ընտրեք «new» վերևի աջ կողմում, ընտրեք «Custom Customback»
  • Տեսակը ՝ ERԱՌԱՅՈԹՅՈ |Ն | GEOLOC
  • Ալիքի URL
  • Url օրինակը ՝ https://.herokuapp.com/request/ {device}/{lat}/{lng}/{radius}
  • Օգտագործեք HTTP մեթոդը `GET
  • Ընտրեք «OK» ՝ վավերացնելու համար

Քայլ 6: Վազեք փորձարկման

Լռելյայն, ավազարկղի փոփոխականը սահմանվում է ճշմարիտ: Սա կեղծելու է Uber- ի ուղևորության հարցումները, որպեսզի ձեր բանկային հաշիվը չազդի ոչ դիտավորյալ մանիպուլյացիաներից:

Սիգֆոքսի միջոցով հաղորդագրություն ուղարկելու համար երկու անգամ սեղմեք Sens'it կոճակը: Համոզվեք, որ հաղորդագրությունները լավ են ընդունվում Sigfox Backend- ում: Մուտք գործեք, գնացեք ՍԱՐՔ բաժին և կտտացրեք ձախ ձեր սարքի ID- ին: Կարող եք գնալ ՈESSԵՐՁԵՐ բաժինը ՝ բեռնափոխադրումները տեսնելու համար:

Քայլ 7: Պատվիրեք իսկական Uber Ride

Պատվիրեք իսկական Uber Ride
Պատվիրեք իսկական Uber Ride

Այժմ Sandbox միջավայրի փոփոխականը սահմանեք false, եթե ցանկանում եք պահանջել իսկական Uber վարորդ:

ՍԱՆԴՈՔՍ | կեղծ

Sens'it կոճակը կկանչի ուղին…/request/: device/: lat/: lng/: radius և կաշխատի Uber- ի ուղևորության հարցումը:

Կարող եք տեսնել նաև ներկայիս հարցման կարգավիճակը…/request/current:

Պատվերը չեղարկելու համար այս ուղին կարող է օգտագործվել ՝…/request/cancel.

Եկեք քշենք:

Haveվարճացեք պատվիրելով ձեր Ubers- ը:

Անտուան դե Շեսսի

Խորհուրդ ենք տալիս: