Turinys:
- 1 žingsnis: Aparatūra
- 2 veiksmas: „Uber“API
- 3 žingsnis: įdiekite „Heroku“
- 4 veiksmas: [neprivaloma] Nemokami SMS pranešimai su prancūzų mobiliojo ryšio operatoriumi (pavadintas nemokamu)
- 5 veiksmas: sukonfigūruokite „Sigfox Backend Callback“
- 6 veiksmas: paleiskite, kad išbandytumėte
- 7 žingsnis: užsisakykite tikrą „Uber Ride“
Video: „Uber“mygtukas: 7 žingsniai
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:45
Gaukite „Uber“kelionę tiesiog paspausdami mygtuką!
Įvadas
Šioje pamokoje naudosime „Sigfox“tinklo lokalizavimo paslaugą (kuri kol kas gali suteikti ne daugiau kaip 1 km spindulio padėties tikslumą), kad gautume artimiausią vietą nurodytu adresu ir atitinkamai paprašytume „Uber“važiavimo. Todėl mums nereikia įrenginio su GPS.
Mes naudosime „Sens'it“, tačiau bet kuris įrenginys, galintis siųsti pranešimą per „Sigfox“, gali būti sėkmingai naudojamas šiai pamokai atlikti.
Pažiūrėkite čia, jei norite gauti daugiau informacijos apie „Sigfox“gamintojus.
1 žingsnis: Aparatūra
„Sens'it“(ar bet kuris kitas įrenginys, galintis siųsti „Sigfox“pranešimą)
2 veiksmas: „Uber“API
Automatizuosime važiavimo užklausos užsakymo procesą skambindami „Uber“API galiniams taškams.
Kad suprastumėte, kaip tai įmanoma, būtinai peržiūrėkite mano sukurtą mazgo modulį, kad būtų paprasčiau ir aiškiau. Kad jis veiktų, jums reikės prieigos prie „Uber“API prieigos rakto. Šiame „GitHub“puslapyje galite sužinoti, kaip gauti šį raktą.
Būtinos sąlygos
- Galiojanti „Uber“paskyra
- „Uber“API prieigos raktas (kaip jį gauti, patikrinkite aukščiau)
- Suaktyvintas įrenginys „Sigfox Backend“(sekite šią nuorodą, kad suaktyvintumėte „Sens'it“). Jums reikės įrenginio ID ir PAC.
Montavimas
Programoje „app.js“bus sukurtos dvi adresų struktūros (su reikšmėmis, apibrėžtomis aplinkos kintamaisiais):
konst adresas_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};
Šie adresai bus naudojami paėmimo ir išleidimo vietoms nurodyti. Mes juos nustatysime vėliau.
Jei „Sens'it“įrenginys siunčia savo geografiškai lokalizuotą vietą, esančią arčiausiai adreso Nr. 1, tada adresas Nr. 1 nustatomas kaip paėmimas, o adresas Nr. 2-kaip išvykimo užklausa. Ir taip atvirkščiai…
Jei „Sigfox Backend“geografinės vietos nustatymo paslauga pateikia tikslumo spindulį, didesnį už atstumą tarp dviejų adresų, „Uber“užklausa nebus vykdoma (nes negalima nustatyti atvykimo tikslo).
3 žingsnis: įdiekite „Heroku“
Aš parašiau programą naudodamas „NodeJS“, kad automatizuotų užsakymo procesą. Spustelėkite žemiau esantį mygtuką, kad automatiškai įdiegtumėte jį „Heroku“.
PASPAUDKITE ČIA
Alternatyvus būdas jį paleisti „Heroku“yra įdiegti „Heroku Cli“ir atlikti šiuos veiksmus:
$ git klonas
$ cd sigfox_uber $ heroku programos: sukurkite $ git push heroku master
Dabar eikite į „Heroku“programos nustatymų skirtuką (https://dashboard.heroku.com/apps//settings), kad nustatytumėte aplinkos kintamuosius. Nustatykite šiuos kintamuosius (būtinai nustatykite norimus adresus):
- ACCESS_TOKEN | YOUR_ACCESS_TOKEN
- ADDRESS_1_LAT | 49,009698
- ADDRESS_1_LNG | 2.547882
- ADDRESS_1_NAME | oro uostas
- ADDRESS_2_LAT | 48,876579
- ADDRESS_2_LNG | 2.330618
- ADDRESS_2_NAME | biure
Galutinis taškas „…/request/: device/: lat/: lng/: radius“bus iškviestas kiekvieną kartą, kai siunčiamas pranešimas į „Sigfox Backend“(žr. Toliau, kaip jį sukonfigūruoti). Naudodamas „Sigfox“geolokalizacijos paslaugą, serveris gaus „Sens'it“apytikslę padėtį. Tada bus užsakytas „UberX“su nurodytais paėmimo ir išleidimo adresais.
Norėdami patikrinti, ar programa veikia, eikite į jos URL. Naršyklėje turėtumėte pamatyti „Programa veikia …“. Norėdami gauti daugiau informacijos, taip pat galite patikrinti žurnalus.
4 veiksmas: [neprivaloma] Nemokami SMS pranešimai su prancūzų mobiliojo ryšio operatoriumi (pavadintas nemokamu)
Jei turite nemokamą prancūzų mobiliojo ryšio operatoriaus prenumeratą, galite naudoti nemokamą SMS pranešimų API, kad gautumėte pranešimus į savo telefoną. Norėdami tai padaryti, tiesiog suaktyvinkite paslaugą savo abonentų srityje ir peržiūrėkite šiuos aplinkos kintamuosius „Heroku“programos nustatymų skirtuke:
- FREE_USER | JŪSŲ_FREE_USER
- FREE_PASS | JŪSŲ_FREE_PASS
Dabar galėsite gauti SMS įspėjimus apie jūsų „UberX“užklausas.
5 veiksmas: sukonfigūruokite „Sigfox Backend Callback“
- Prisijunk čia
- Eikite į https://backend.sigfox.com/devicetype/list, įrenginio eilutėje spustelėkite kairę ir pasirinkite „Redaguoti“
- Dabar eikite į skyrių „SKAMBINIMAI“kairėje, viršuje dešinėje pasirinkite „naujas“, pasirinkite „Pasirinktinis atšaukimas“
- Tipas: PASLAUGOS | GEOLOC
- Kanalo URL
- URL šablonas: https://.herokuapp.com/request/ {device}/{lat}/{lng}/{radius}
- Naudokite HTTP metodą: GET
- Pasirinkite „Gerai“, kad patvirtintumėte
6 veiksmas: paleiskite, kad išbandytumėte
Pagal numatytuosius nustatymus smėlio dėžės kintamasis yra nustatytas į true. Tai suklastos „Uber“važiavimo užklausas, kad jūsų banko sąskaita nebūtų paveikta netyčinių manipuliacijų.
Du kartus paspauskite „Sens'it“mygtuką, kad išsiųstumėte pranešimą per „Sigfox“. Įsitikinkite, kad pranešimai yra gerai priimti „Sigfox Backend“. Prisijunkite, eikite į ĮRENGINIO skyrių ir kairėje spustelėkite savo įrenginio ID. Norėdami pamatyti naudingąsias apkrovas, galite eiti į skyrių Žinutės.
7 žingsnis: užsisakykite tikrą „Uber Ride“
Dabar nustatykite smėlio dėžės aplinkos kintamąjį į klaidingą, jei norite paprašyti tikrojo „Uber“tvarkyklės.
SANDBOX | klaidinga
Mygtukas „Sens'it“iškvies kelią…/request/: device/: lat/: lng/: spindulys ir suaktyvins „Uber“važiavimo užklausą!
Dabartinę užklausos būseną taip pat galite pamatyti adresu…/request/current.
Norėdami atšaukti užsakymą, galite naudoti šį kelią:…/request/cancel.
Važiuokime
Smagiai užsisakykite „Ubers“!
Antoine'as de Chassey
Rekomenduojamas:
„Microsoft Teams“nutildymo mygtukas: 4 žingsniai
„Microsoft Teams“nutildymo mygtukas: sukurkite lengvai pasiekiamą mygtuką, kad nutildytumėte/įjungtumėte garsą „Microsoft Teams“skambučio metu! Kadangi 2020 m. Šiame projekte naudojamas „Adafruit Circuit Playground Express“(CPX) ir didelis mygtukas, kad būtų sukurtas „Microsoft Teams“nutildymo mygtukas sparčiuoju klavišu
5 USD namų automatikos mygtukas: 4 žingsniai
5 USD namų automatikos mygtukas: 5 USD namų automatikos mygtukas Kartais paprasčiausias sprendimas yra vienas mygtukas. Mes norėjome paprasto būdo suaktyvinti „miego režimą“mūsų namų automatikos centre („Hubitat Elevation“), kuris išjungia daugumą šviesų, nustato kitus iki tam tikro lygio ir
„Raspberry Pi“išjungimo mygtukas: 3 žingsniai
„Raspberry Pi“išjungimo mygtukas: „Raspberry Pi“yra labai naudinga skaičiavimo platforma, leidžianti kurti įvairias daiktų interneto/robotikos/išmaniųjų namų/… projektų programas. Vienintelis dalykas, kurio jis neturi, palyginti su įprastu kompiuteriu, yra išjungimo išjungimo mygtukas. Taigi, kaip mes galime sukurti
Rotacinio kodavimo mygtukas: 6 žingsniai
Rotacinio kodavimo mygtukas: tai rotacinis nuotolinio valdymo pultas, pagrįstas sukamuoju kodavimo įrenginiu. Jis turi šias funkcijas. Akumuliatorius veikia su labai mažu srovės suvartojimu, kai įjungtas Automatinis įjungimas, kai valdiklis pasukamas Automatinis miegas po neveikimo laikotarpio Konfigūruoti
Pėdos valdomas tiesioginio ryšio mygtukas: 5 žingsniai
„Push to Talk“mygtukas, valdomas kojomis: taip sukūriau „Push to Talk“mygtuką, kurį galite naudoti kojomis