Բովանդակություն:
- Քայլ 1: Սարքավորումներ
- Քայլ 2: Uber API
- Քայլ 3: Տեղակայեք Heroku- ում
- Քայլ 4: [Լրացուցիչ] Անվճար SMS ծանուցումներ ֆրանսիական բջջային օպերատորի հետ (անունն անվճար է)
- Քայլ 5. Կարգավորեք Sigfox Backend Callback- ը
- Քայլ 6: Վազեք փորձարկման
- Քայլ 7: Պատվիրեք իսկական Uber Ride
Video: Uber կոճակը ՝ 7 քայլ
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:46
Ուղևորվեք 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- ում
Ես ծրագիր եմ գրել 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- ը
- Մուտք գործեք այստեղ
- Գնացեք 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
Այժմ Sandbox միջավայրի փոփոխականը սահմանեք false, եթե ցանկանում եք պահանջել իսկական Uber վարորդ:
ՍԱՆԴՈՔՍ | կեղծ
Sens'it կոճակը կկանչի ուղին…/request/: device/: lat/: lng/: radius և կաշխատի Uber- ի ուղևորության հարցումը:
Կարող եք տեսնել նաև ներկայիս հարցման կարգավիճակը…/request/current:
Պատվերը չեղարկելու համար այս ուղին կարող է օգտագործվել ՝…/request/cancel.
Եկեք քշենք:
Haveվարճացեք պատվիրելով ձեր Ubers- ը:
Անտուան դե Շեսսի
Խորհուրդ ենք տալիս:
Հաշվիչ, օգտագործելով կոճակը - Tinker Cad: 3 քայլ
Հաշվիչ, օգտագործելով կոճակը | Tinker Cad. Երբ գործի եք դնում կոճակը, հաճախ ցանկանում եք ինչ -որ գործողություն կատարել `հիմնվելով կոճակը սեղմած քանի անգամի վրա: Դա անելու համար դուք պետք է իմանաք, թե երբ է կոճակը փոխում վիճակը անջատվածից միացված և հաշվել, թե քանի անգամ է տեղի ունենում այս վիճակի փոփոխությունը: Թ
LED թարթող {կոճակը վերահսկվում է} ՝ 5 քայլ
LED- ը թարթում է {կոճակը վերահսկվում է}. Ես ուսանող եմ Kang Chiao- ում: Սա իմ նախագիծն է, ես օգտագործում եմ Arduino- ն և պատրաստեցի լուսադիոդային լուսարձակը, որի կոճակը կարող է թարթել: Կարող եք այն դնել ձեր կտորի վրա և երբ որոշ մարդիկ ձեզ շատ մոտ են, կարող եք սեղմել կոճակը և լամպը
Atollic TrueStudio- Միացրեք LED- ը ՝ սեղմելով կոճակը ՝ օգտագործելով STM32L100: 4 քայլ
Atollic TrueStudio- Միացրեք LED- ը ՝ սեղմելով կոճակը STM32L100- ի միջոցով. STM32- ի այս ձեռնարկում ես ձեզ կասեմ, թե ինչպես կարդալ STM32L100- ի GPIO կապը, այնպես որ այստեղ ես միայնակ կդարձնեմ Led փայլը սեղմելով կոճակը
Visuino Ինչպես օգտագործել կոճակը որպես ներածություն LED- ի նման իրերը կառավարելու համար. 6 քայլ
Visuino Ինչպես օգտագործել կոճակը որպես մուտքի միջոց ՝ LED- ի նման իրերը վերահսկելու համար: Այս ձեռնարկում մենք կսովորենք, թե ինչպես միացնել և անջատել LED- ն ՝ օգտագործելով պարզ կոճակ և Visuino: Դիտեք ցուցադրական տեսանյութ
STM32CubeMX կոճակը անջատում ընդհատումով. 5 քայլ
STM32CubeMX Button Debounce With Interrupt: Բարև, այս ձեռնարկում ես կփորձեմ տալ իմ պարզ լուծումը `կոճակի ցատկումը կանխելու համար, ինչը շատ լուրջ խնդիր է: Ինտերնետում կան բազմաթիվ տեսանյութեր, որոնք առաջարկում են այս հարցի լուծումը, բայց ոչ մեկը `արտաքին ընդհատումների համար: Այս բոլոր տեսանյութերի կոճակում