Satura rādītājs:
- 1. darbība. Aparatūra
- 2. darbība. Uber API
- 3. darbība: izvietojiet Heroku
- 4. darbība: [pēc izvēles] bezmaksas īsziņu paziņojumi ar franču mobilo sakaru operatoru (nosaukts par bezmaksas)
- 5. darbība: konfigurējiet Sigfox aizmugures atzvanīšanu
- 6. darbība: palaidiet, lai pārbaudītu
- 7. solis: pasūtiet īstu braucienu ar Uber
2024 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2024-01-30 10:52
Iegūstiet Uber braucienu, vienkārši nospiežot pogu!
Ievads
Šajā apmācībā mēs izmantosim Sigfox tīkla lokalizācijas pakalpojumu (kas pagaidām var noteikt pozīcijas precizitāti ne vairāk kā 1 km rādiusā), lai iegūtu tuvāko atrašanās vietu noteiktai adresei un attiecīgi pieprasītu Uber braucienu. Tāpēc mums nav nepieciešama ierīce ar GPS.
Mēs izmantosim Sens'it, taču, lai veiksmīgi izpildītu šo apmācību, var izmantot jebkuru ierīci, kas spēj nosūtīt ziņojumu, izmantojot Sigfox.
Apskatiet šeit, ja vēlaties iegūt sīkāku informāciju par Sigfox veidotājiem.
1. darbība. Aparatūra
Sens'it (vai jebkura cita ierīce, kas spēj nosūtīt Sigfox ziņojumu)
2. darbība. Uber API
Mēs automatizēsim braukšanas pieprasījuma pasūtīšanas procesu, zvanot uz Uber API galapunktiem.
Lai saprastu, kā tas ir iespējams, lūdzu, pārbaudiet mezgla moduli, kuru es izstrādāju lietošanas vienkāršības un skaidrības labad. Lai tas darbotos, jums būs nepieciešams piekļuves marķieris Uber API. Šīs marķiera iegūšanas gaitu var atrast šajā GitHub lapā.
Priekšnosacījumi
- Derīgs Uber konts
- Jūsu Uber API piekļuves pilnvara (skatiet iepriekš, kā to iegūt)
- Aktivizēta ierīce Sigfox aizmugurē (sekojiet šai saitei, lai aktivizētu Sens'it). Jums būs nepieciešams ierīces ID un PAC.
Uzstādīšana
Programmā app.js tiks izveidotas divas adrešu struktūras (ar vērtībām, kas definētas vides mainīgajos):
const adrese_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};
Šīs adreses tiks izmantotas, lai norādītu saņemšanas un nodošanas vietas. Mēs tos iestatīsim vēlāk.
Ja Sens'it ierīce nosūta savu ģeogrāfiski lokalizēto atrašanās vietu, kas ir vistuvāk adresei #1, tad adrese #1 tiek iestatīta kā paņemšana un adrese #2 tiek iestatīta kā nolaišanās brauciena pieprasījumam. Un tā otrādi …
Ja Sigfox Backend ģeogrāfiskās atrašanās vietas noteikšanas pakalpojums atgriež precizitātes rādiusu, kas ir lielāks par attālumu starp abām adresēm, Uber pieprasījums netiks izpildīts (jo ierašanās galamērķi nevar noteikt).
3. darbība: izvietojiet Heroku
Es uzrakstīju lietotni, izmantojot NodeJS, lai automatizētu pasūtīšanas procesu. Noklikšķiniet uz tālāk esošās pogas, lai to automātiski izvietotu Heroku.
KLIKŠĶINIET ŠEIT, lai IZVEIDOTU
Alternatīvs veids, kā to palaist Heroku, ir instalēt Heroku Cli un izpildīt šīs darbības:
$ git klons
$ cd sigfox_uber $ heroku lietotnes: izveidojiet $ git push heroku meistaru
Tagad dodieties uz Heroku lietotnes iestatījumu cilni (https://dashboard.heroku.com/apps//settings), lai iestatītu vides mainīgos. Iestatiet šādus mainīgos (noteikti iestatiet vēlamās adreses):
- ACCESS_TOKEN | JŪSU_PIEEJAMĪBA
- ADDRESS_1_LAT | 49,009698
- ADDRESS_1_LNG | 2.547882
- ADDRESS_1_NAME | lidosta
- ADDRESS_2_LAT | 48,876579
- ADDRESS_2_LNG | 2.330618
- ADDRESS_2_NAME | birojs
Galapunkts "…/request/: device/: lat/: lng/: radius" tiks izsaukts katru reizi, kad tiek nosūtīts ziņojums uz Sigfox aizmuguri (skatiet tālāk, kā to konfigurēt). Izmantojot Sigfox ģeolokalizācijas pakalpojumu, serveris saņems Sens'it aptuveno pozīciju. Pēc tam tiks pasūtīts UberX ar noteiktajām saņemšanas un nodošanas adresēm.
Lai pārbaudītu, vai lietotne darbojas, dodieties uz tās URL. Pārlūkprogrammā vajadzētu redzēt "Lietotne darbojas …". Lai iegūtu sīkāku informāciju, varat arī pārbaudīt žurnālus.
4. darbība: [pēc izvēles] bezmaksas īsziņu paziņojumi ar franču mobilo sakaru operatoru (nosaukts par bezmaksas)
Ja jums ir franču bezmaksas mobilo sakaru operatora abonements, varat izmantot viņu bezmaksas SMS paziņojumu API, lai saņemtu paziņojumus savā tālrunī. Lai to paveiktu, vienkārši aktivizējiet pakalpojumu abonentu apgabalā un skatiet šādus vides mainīgos Heroku lietotnes iestatījumu cilnē:
- FREE_USER | JŪSU_FREE_USER
- FREE_PASS | JŪSU_FREE_PASS
Tagad jūs varēsit saņemt SMS brīdinājumus par jūsu UberX pieprasījumiem.
5. darbība: konfigurējiet Sigfox aizmugures atzvanīšanu
- Piesakieties šeit
- Dodieties uz vietni https://backend.sigfox.com/devicetype/list, noklikšķiniet uz ierīces rindas pa kreisi un atlasiet “Rediģēt”.
- Tagad dodieties uz sadaļu "Zvanīšana" kreisajā pusē, augšējā labajā stūrī atlasiet "jauns", atlasiet "Pielāgots atzvanīšana"
- Tips: PAKALPOJUMS | GEOLOC
- Kanāla URL
- URL modelis: https://.herokuapp.com/request/ {device}/{lat}/{lng}/{radius}
- Izmantojiet HTTP metodi: GET
- Lai apstiprinātu, atlasiet “Labi”
6. darbība: palaidiet, lai pārbaudītu
Pēc noklusējuma smilškastes mainīgais ir iestatīts uz true. Tādējādi tiks viltoti Uber braukšanas pieprasījumi, lai netīšas manipulācijas neietekmētu jūsu bankas kontu.
Divreiz nospiediet pogu Sens'it, lai nosūtītu ziņojumu, izmantojot Sigfox. Pārliecinieties, vai Sigfox aizmugurē ir labi saņemti ziņojumi. Piesakieties, dodieties uz sadaļu IERĪCE un noklikšķiniet uz kreisās ierīces ID. Jūs varat doties uz sadaļu ZIŅOJUMI, lai redzētu kravas.
7. solis: pasūtiet īstu braucienu ar Uber
Tagad iestatiet smilškastes vides mainīgo uz nepatiesu, ja vēlaties pieprasīt īstu Uber draiveri.
SANDBOX | nepatiesa
Poga Sens'it izsauks ceļu…/request/: device/: lat/: lng/: rādiuss un aktivizēs Uber braukšanas pieprasījumu!
Pašreizējo pieprasījuma statusu var redzēt arī vietnē…/request/current.
Lai atceltu pasūtījumu, var izmantot šo ceļu:…/request/cancel.
Braucam
Izklaidējieties, pasūtot savus Ubers!
Antuāns de Časijs
Ieteicams:
Microsoft Teams izslēgšanas poga: 4 soļi
Microsoft Teams skaņas izslēgšanas poga: izveidojiet viegli sasniedzamu pogu, lai izslēgtu/ieslēgtu skaņu, kamēr atrodaties Microsoft Teams zvanā! Tā kā 2020. gads. Šis projekts izmanto Adafruit Circuit Playground Express (CPX) un lielu spiedpogu, lai izveidotu karsēšanas taustiņu Microsoft Teams, izmantojot karsto taustiņu
5 ASV dolāru mājas automatizācijas poga: 4 soļi
5 ASV dolāru mājas automatizācijas poga: 5 ASV dolāru mājas automatizācijas poga Dažreiz vienkāršākais risinājums ir viena poga. Mēs vēlējāmies vienkāršu veidu, kā aktivizēt “gulētiešanas” rutīnu mūsu mājas automatizācijas centrā (Hubitat Elevation), kas izslēdz lielāko daļu gaismas, nosaka citus noteiktos līmeņos un
Raspberry Pi izslēgšanas poga: 3 soļi
Raspberry Pi izslēgšanas poga: Raspberry Pi ir ļoti noderīga skaitļošanas platforma, kas ļauj izveidot dažādas IoT/robotikas/viedās mājas/… projektu lietojumprogrammas. Viena lieta, kas tai nav, salīdzinot ar parasto datoru, ir izslēgšanas poga. Tātad, kā mēs varam izveidot
Rotējošā kodētāja poga: 6 soļi
Rotējošā kodētāja poga: šī ir rotējoša tālvadības pults, kuras pamatā ir rotējošais kodētājs. Tam ir šādas funkcijas. Akumulators darbojas ar ļoti zemu strāvas patēriņu, kad tas ir aktivizēts Automātiska aktivizēšana, pagriežot vadību Automātiskais miegs pēc neaktivitātes perioda
Rācijsaziņas poga ar pēdu: 5 soļi
Ar kāju vadāma rācijsaziņas poga: šādi es izveidoju pogu “Rācijsaziņa”, ko varat izmantot ar kājām