Përmbajtje:
- Hapi 1: Pajisje kompjuterike
- Hapi 2: API Uber
- Hapi 3: Vendoseni në Heroku
- Hapi 4: [Opsionale] Njoftimet SMS falas me një operator celular francez (i quajtur Falas)
- Hapi 5: Konfiguroni përgjigjen e Sigfox Backend
- Hapi 6: Drejtoni në Test
- Hapi 7: Porositni një udhëtim të vërtetë Uber
Video: Butoni Uber: 7 hapa
2024 Autor: John Day | [email protected]. E modifikuara e fundit: 2024-01-30 12:10
Ecni me Uber vetëm duke shtypur një buton!
Prezantimi
Në këtë tutorial, ne do të përdorim shërbimin e lokalizimit të rrjetit Sigfox (i cili, tani për tani, mund të japë më së shumti një saktësi të pozicionit të rrezes 1 km) në mënyrë që të marrim një pozicion më të afërt me një adresë të specifikuar dhe të kërkojmë një udhëtim me Uber në përputhje me rrethanat. Prandaj, ne nuk kemi nevojë për një pajisje me GPS.
Ne do të përdorim një Sens'it, por çdo pajisje në gjendje të dërgojë një mesazh mbi Sigfox mund të përdoret për të përfunduar me sukses këtë tutorial.
Hidhini një sy këtu nëse dëshironi të keni më shumë detaje në lidhje me krijuesit e Sigfox.
Hapi 1: Pajisje kompjuterike
Një Sens'it (ose ndonjë pajisje tjetër në gjendje të dërgojë një mesazh Sigfox)
Hapi 2: API Uber
Ne do të automatizojmë procesin e porositjes së një kërkese për udhëtim duke telefonuar pikat përfundimtare të Uber API.
Në mënyrë që të kuptoni se si është e mundur kjo, ju lutemi sigurohuni që të kontrolloni modulin e nyjeve që kam zhvilluar për thjeshtësinë dhe qartësinë e përdorimit. Ju do të keni nevojë për një shenjë hyrjeje në Uber API që të funksionojë. Procedura se si ta merrni këtë shenjë mund të gjendet në këtë faqe GitHub.
Parakushtet
- Një llogari e vlefshme Uber
- Shenja juaj e hyrjes në Uber API (kontrolloni më lart se si ta merrni)
- Një pajisje e aktivizuar në Sigfox Backend (ndiqni këtë lidhje për aktivizimin e Sens'it). Do t'ju duhet ID e pajisjes dhe PAC.
Instalimi
Në app.js, dy struktura adresash do të krijohen si më poshtë (me vlera të përcaktuara në variablat e mjedisit):
adresa e konstantit_1 = {
'emri': process.env. ADDRESS_1_NAME, 'lat': process.env. ADDRESS_1_LAT, 'lng': process.env. ADDRESS_1_LNG}; const adresa_2 = {'emri': process.env. ADDRESS_2_NAME, 'lat': process.env. ADDRESS_2_LAT, 'lng': process.env. ADDRESS_2_LNG};
Këto adresa do të përdoren për të specifikuar vendet e marrjes dhe lëshimit. Ne do t'i vendosim ato më vonë.
Nëse pajisja Sens'it dërgon pozicionin e saj gjeo-lokalizuar më të afërt në adresën #1, atëherë adresa #1 është vendosur si marrje dhe adresa #2 është vendosur si zbritje për kërkesën e udhëtimit. Dhe kështu me radhë për të kundërtën…
Nëse shërbimi gjeografik Sigfox Backend kthen një rreze precize më të madhe se distanca midis dy adresave, kërkesa Uber nuk do të ekzekutohet (pasi destinacioni i mbërritjes nuk mund të përcaktohet).
Hapi 3: Vendoseni në Heroku
Kam shkruar një aplikacion duke përdorur NodeJS për të automatizuar procesin e porosisë. Klikoni butonin më poshtë për ta vendosur atë automatikisht në Heroku.
KLIKONI KTU P TOR PEPRDORIM
Një mënyrë alternative për ta vënë atë në funksion në Heroku është instalimi i Heroku Cli dhe ndiqni këto hapa:
$ git klon
$ cd sigfox_uber $ heroku aplikacione: krijoni $ git push heroku master
Tani, drejtohuni te skeda e cilësimeve të aplikacionit tuaj Heroku (https://dashboard.heroku.com/apps//settings) në mënyrë që të vendosni variablat e mjedisit. Vendosni variablat e mëposhtëm (sigurohuni që të vendosni adresat që dëshironi):
- ACCESS_TOKEN | YOUR_ACCESS_TOKEN
- ADDRESS_1_LAT | 49.009698
- ADDRESS_1_LNG | 2.547882
- ADDRESS_1_NAME | aeroport
- ADDRESS_2_LAT | 48.876579
- ADDRESS_2_LNG | 2.330618
- ADDRESS_2_NAME | zyrë
Pika përfundimtare "…/request/: device/: lat/: lng/: radius" do të thirret sa herë që dërgohet një mesazh në Sigfox Backend (shih më poshtë si ta konfiguroni). Duke përdorur shërbimin e gjeolokalizimit Sigfox, serveri do të marrë pozicionin e përafruar të Sens'it. Kjo pastaj do të porosisë një UberX me adresat e përcaktuara të marrjes dhe lëshimit.
Për të kontrolluar nëse aplikacioni po funksionon, shkoni në URL -në e tij. Ju duhet të shihni "Aplikacioni po funksionon …" në shfletuesin tuaj. Ju gjithashtu mund të kontrolloni regjistrat për më shumë detaje.
Hapi 4: [Opsionale] Njoftimet SMS falas me një operator celular francez (i quajtur Falas)
Nëse keni një abonim frengjisht falas të operatorit celular, mund të përdorni API -në e tyre të njoftimit pa SMS për të marrë njoftime në telefonin tuaj. Për ta bërë këtë punë, thjesht aktivizoni shërbimin në zonën tuaj të pajtimtarëve dhe referojuni ndryshoreve të mëposhtme të mjedisit në skedën e cilësimeve të aplikacionit tuaj Heroku:
- P_RDORUES FALAS | YOUR_FREE_USER
- FALAS_PASS | PASURIA JUAJ_ FALAS
Tani do të jeni në gjendje të merrni njoftime SMS në lidhje me kërkesat tuaja UberX.
Hapi 5: Konfiguroni përgjigjen e Sigfox Backend
- Identifikohu këtu
- Shkoni te https://backend.sigfox.com/devicetype/list, klikoni majtas në rreshtin e pajisjes tuaj dhe zgjidhni "Ndrysho"
- Tani shkoni te seksioni "CALLBACKS" në të majtë, zgjidhni "new" në të djathtën e sipërme, zgjidhni "Custom Callback"
- Lloji: SHERRBIM | | GEOLOC
- URL -ja e kanalit
- Modeli i url: https://.herokuapp.com/request/ {device}/{lat}/{lng}/{radius}
- Përdorni metodën HTTP: GET
- Zgjidhni "OK" për të vërtetuar
Hapi 6: Drejtoni në Test
Si parazgjedhje, ndryshorja e sandbox -it është vendosur në true. Kjo do të falsifikojë kërkesat për udhëtim me Uber kështu që llogaria juaj bankare të mos preket nga manipulimet e paqëllimshme.
Shtypni butonin Sens'it dy herë për të dërguar një mesazh mbi Sigfox. Sigurohuni që mesazhet të pranohen mirë në Sigfox Backend. Hyni, shkoni te seksioni Pajisja dhe klikoni majtas në ID -në e pajisjes tuaj. Ju mund të shkoni në seksionin MESAZH për të parë ngarkesat.
Hapi 7: Porositni një udhëtim të vërtetë Uber
Tani vendosni ndryshoren e mjedisit të sandbox në false nëse dëshironi të kërkoni një drejtues të vërtetë Uber.
SANDBOX | i rremë
Butoni Sens'it do të thërrasë shtegun…/request/: device/: lat/: lng/: radius dhe do të shkaktojë kërkesën për udhëtim me Uber!
Ju gjithashtu mund të shihni statusin aktual të kërkesës në…/kërkesë/aktuale.
Për të anuluar një porosi, kjo rrugë mund të përdoret:…/kërkesë/anulim.
Le të vozisim
Kënaquni duke porositur Ubers tuaj!
Antoine de Chassey
Recommended:
Butoni i heshtjes së ekipeve të Microsoft: 4 hapa
Butoni i heshtjes së ekipeve të Microsoft: Krijoni një buton të arritshëm për të heshtur/çaktivizuar veten gjatë një telefonate të Ekipeve të Microsoft! Për shkak të vitit 2020. Ky projekt përdor një Adafruit Circuit Playground Express (CPX) dhe një buton të madh për të krijuar një buton memec për Ekipet e Microsoft përmes tastit të nxehtë
Butoni i automatizimit të shtëpisë 5 dollarë: 4 hapa
Butoni i automatizimit të shtëpisë 5 dollarë: Një buton 5 dollarësh për automatizimin e shtëpisëNganjëherë zgjidhja më e thjeshtë është një buton i vetëm. Ne donim një mënyrë të lehtë për të shkaktuar një rutinë "para gjumit" në qendrën tonë të automatizimit të shtëpisë (Hubitat Elevation), e cila fik shumicën e dritave, vendos të tjerët në nivele të veçanta dhe
Butoni i fikjes për Raspberry Pi: 3 hapa
Butoni i fikjes për Raspberry Pi: Raspberry Pi është një platformë kompjuterike shumë e dobishme që lejon krijimin e aplikacioneve të ndryshme të projektit IoT/robotikë/smart-home/…. Megjithatë, një gjë që nuk e ka, në krahasim me një kompjuter normal, është një buton i fikjes. Pra, si mund të krijojmë
Butoni i kodimit rrotullues: 6 hapa
Butoni i kodimit rrotullues: Ky është një telekomandë rrotullues i bazuar në një kodues rrotullues. Ka karakteristikat e mëposhtme. Bateria operohet me konsum shumë të ulët të rrymës kur aktivizohet Aktivizimi automatik kur kontrolli rrotullohet Gjumi automatik pas një periudhe pasiviteti Konfiguro
Mikrokontrolluesi AVR. Ndryshoni LED -të duke përdorur një çelës butoni me shtytje. Butoni i Shtypjes Debouncing .: 4 Hapa
Mikrokontrolluesi AVR. Ndryshoni LED -të duke përdorur një çelës butoni me shtytje. Butoni i Shtypjes Debouncing .: Në këtë pjesë, ne do të mësojmë Si të bëjmë programin C kodin për ATMega328PU për të ndryshuar statusin e tre LED -ve sipas hyrjes nga një çelës butoni. Gjithashtu, ne kemi eksploruar një zgjidhje për problemin e "Switch Bounce". Si zakonisht, ne duam