Sadržaj:
- Korak 1: Hardver
- 2. korak: Uber API
- Korak 3: Rasporedite na Heroku
- Korak 4: [Izborno] Besplatne SMS obavijesti s francuskim mobilnim operatorom (po imenu Free)
- Korak 5: Konfigurirajte povratni povratni poziv Sigfoxa
- Korak 6: Pokrenite da biste testirali
- Korak 7: Naručite pravu vožnju Uberom
Video: Gumb Uber: 7 koraka
2024 Autor: John Day | [email protected]. Zadnja promjena: 2024-01-30 09:33
Vozite se Uberom pritiskom na gumb!
Uvod
U ovom ćemo vodiču koristiti uslugu lokalizacije mreže Sigfox (koja za sada može dati najviše 1 km radijusa preciznost položaja) kako bismo dobili najbližu poziciju na određenu adresu i u skladu s tim zatražili vožnju Uberom. Stoga nam ne treba uređaj s GPS -om.
Koristit ćemo Sens'it, ali bilo koji uređaj koji može poslati poruku putem Sigfoxa može se koristiti za uspješno izvršavanje ovog vodiča.
Ovdje pogledajte ako želite imati više pojedinosti o proizvođačima Sigfoxa.
Korak 1: Hardver
Sens'it (ili bilo koji drugi uređaj koji može poslati Sigfox poruku)
2. korak: Uber API
Automatizirat ćemo proces naručivanja zahtjeva za vožnju pozivom krajnjih točaka Uber API -ja.
Da biste razumjeli kako je to moguće, provjerite modul čvora koji sam razvio radi jednostavnosti i jasnoće korištenja. Za rad će vam trebati pristupni token Uber API -ju. Postupak kako dobiti ovaj token može se pronaći na ovoj GitHub stranici.
Preduvjeti
- Važeći Uber račun
- Vaš pristupni token Uber API -ja (gore provjerite kako ga dobiti)
- Aktiviran uređaj na Sigfox Backendu (slijedite ovu vezu za aktivaciju Sens'ita). Trebat će vam ID uređaja i PAC.
Montaža
U app.js će se stvoriti dvije strukture adresa kako slijedi (s vrijednostima definiranim u varijablama okruženja):
const adresa_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};
Ove će se adrese koristiti za određivanje mjesta preuzimanja i predaje. Postavit ćemo ih kasnije.
Ako uređaj Sens'it pošalje svoj geografski lokaliziran položaj najbliži adresi #1, tada je adresa #1 postavljena kao preuzimanje, a adresa #2 postavljena kao mjesto ispuštanja za zahtjev za vožnju. I tako obrnuto …
Ako usluga geolokacije Sigfox Backend vrati radijus preciznosti veći od udaljenosti između dviju adresa, Uberov zahtjev neće se izvršiti (budući da se odredište dolaska ne može odrediti).
Korak 3: Rasporedite na Heroku
Napisao sam aplikaciju koristeći NodeJS za automatizaciju procesa naručivanja. Pritisnite donji gumb za automatsko postavljanje na Heroku.
KLIKNITE OVDJE ZA ODLAGANJE
Alternativni način za pokretanje na Heroku -u je instaliranje Heroku Cli -a i slijedite ove korake:
klon $ git
$ cd sigfox_uber $ heroku aplikacije: izradite $ git push heroku master
Sada prijeđite na karticu postavki vaše Heroku aplikacije (https://dashboard.heroku.com/apps//settings) kako biste postavili varijable okruženja. Postavite sljedeće varijable (obavezno postavite željene adrese):
- PRISTUP_TOKEN | VAŠ_ACCESS_TOKEN
- ADRESA_1_LAT | 49,009698
- ADRESA_1_LNG | 2.547882
- ADRESA_1_NAME | zračna luka
- ADRESA_2_LAT | 48.876579
- ADRESA_2_LNG | 2.330618
- ADRESA_2_NAME | ured
Krajnja točka "…/request/: device/: lat/: lng/: radius" bit će pozvana svaki put kada se poruka pošalje na Sigfox Backend (pogledajte dolje kako je konfigurirati). Korištenjem usluge geolokalizacije Sigfox poslužitelj će primiti Sens'it približnu poziciju. Time će se naručiti UberX s utvrđenim adresama preuzimanja i odjave.
Da biste provjerili radi li aplikacija, idite na njezin URL. U svom pregledniku trebali biste vidjeti "Aplikacija radi …". Za više pojedinosti možete provjeriti i zapisnike.
Korak 4: [Izborno] Besplatne SMS obavijesti s francuskim mobilnim operatorom (po imenu Free)
Ako imate francusku pretplatu na besplatnog mobilnog operatera, možete koristiti njihov besplatni API za SMS obavijesti kako biste primali obavijesti na svoj telefon. Da biste to učinili, jednostavno aktivirajte uslugu u svom pretplatničkom području i pogledajte sljedeće varijable okruženja na kartici postavki vaše aplikacije Heroku:
- FREE_USER | VAŠ_BESPLATAN_KORISNIK
- FREE_PASS | YOUR_FREE_PASS
Sada ćete moći primati SMS upozorenja u vezi s vašim zahtjevima za UberX.
Korak 5: Konfigurirajte povratni povratni poziv Sigfoxa
- Prijavite se ovdje
- Idite na https://backend.sigfox.com/devicetype/list, kliknite lijevo u retku uređaja i odaberite "Uredi"
- Sada idite na odjeljak "POZIVI" s lijeve strane, odaberite "novo" u gornjem desnom kutu, odaberite "Prilagođeni povratni poziv"
- Vrsta: USLUGA | GEOLOC
- URL kanala
- Url uzorak: https://.herokuapp.com/request/ {device}/{lat}/{lng}/{radius}
- Koristi HTTP metodu: GET
- Odaberite "OK" za potvrdu
Korak 6: Pokrenite da biste testirali
Varijabla pješčanika prema zadanim postavkama postavljena je na true. Ovo će lažirati zahtjeve za vožnju Uberom tako da nenamjerne manipulacije ne utječu na vaš bankovni račun.
Dvaput pritisnite tipku Sens'it za slanje poruke putem Sigfoxa. Provjerite jesu li poruke dobro primljene na Sigfox Backendu. Prijavite se, idite na odjeljak UREĐAJ i kliknite lijevo na ID uređaja. Možete otići u odjeljak PORUKE kako biste vidjeli korisne terete.
Korak 7: Naručite pravu vožnju Uberom
Sada postavite varijablu okruženja sandbox na false ako želite zatražiti pravi upravljački program Ubera.
SANDBOX | lažno
Gumb Sens'it pozvat će put …/request/: device/: lat/: lng/: radius i pokrenuti zahtjev za vožnju Uberom!
Trenutačni status zahtjeva možete vidjeti i na…/request/current.
Za otkazivanje narudžbe ovaj se put može koristiti:…/request/cancel.
Idemo voziti
Uživajte naručujući svoj Ubers!
Antoine de Chassey
Preporučeni:
Gumb za isključivanje zvuka Microsoft Teams: 4 koraka
Gumb za isključivanje zvuka Microsoftovih timova: Izradite lako dostupan gumb za isključivanje/uključivanje zvuka tijekom poziva na Microsoft Teams! Budući da 2020. Ovaj projekt koristi Adafruit Circuit Playground Express (CPX) i veliko dugme za stvaranje gumba za isključivanje zvuka za Microsoft Teams putem vruće tipke
Gumb za kućnu automatizaciju od 5 USD: 4 koraka
Gumb za kućnu automatizaciju od 5 USD: Gumb za kućnu automatizaciju od 5 USD Ponekad je najjednostavnije rješenje jedan gumb. Željeli smo jednostavan način pokretanja rutine "prije spavanja" na našem čvorištu za automatizaciju kuće (Hubitat Elevation), koje isključuje većinu svjetla, postavlja druge na određene razine i
Gumb za isključivanje za Raspberry Pi: 3 koraka
Gumb za isključivanje za Raspberry Pi: Raspberry Pi je vrlo korisna računalna platforma koja omogućuje stvaranje različitih IoT/robotika/pametnih kuća/… projektnih aplikacija. Jedina stvar koju nema, u usporedbi s normalnim računalom, je gumb za isključivanje. Pa kako možemo stvoriti
Gumb za rotacijski davač: 6 koraka
Gumb za rotacijski davač: Ovo je rotacijski daljinski upravljač koji se temelji na rotacijskom davaču. Ima sljedeće značajke: Baterija radi s vrlo niskom potrošnjom struje kada je aktivirana Automatsko aktiviranje kada se kontrola okreće Automatsko spavanje nakon razdoblja neaktivnosti Konfiguriraj
Gumb Pritisni za razgovor nogom kontroliran: 5 koraka
Push to Talk tipka s nožnom kontrolom: Ovako sam izradio tipku Pritisni za razgovor koju možete koristiti nogama