Spisu treści:

Przycisk Uber: 7 kroków
Przycisk Uber: 7 kroków

Wideo: Przycisk Uber: 7 kroków

Wideo: Przycisk Uber: 7 kroków
Wideo: Ukraine Refugee in Poland 2024, Listopad
Anonim
Przycisk Uber
Przycisk Uber

Zdobądź przejazd Uberem po prostu naciskając przycisk!

Wstęp

W tym samouczku będziemy korzystać z usługi lokalizacji sieci Sigfox (która na razie może podawać pozycję z dokładnością do 1 km w promieniu), aby uzyskać pozycję najbliższą określonemu adresowi i odpowiednio poprosić o przejazd Uberem. Dlatego nie potrzebujemy urządzenia z GPS.

Użyjemy Sens'it, ale każde urządzenie, które może wysłać wiadomość przez Sigfox, może zostać użyte do pomyślnego wykonania tego samouczka.

Zajrzyj tutaj, jeśli chcesz uzyskać więcej informacji na temat twórców Sigfoxa.

Krok 1: Sprzęt

Sens'it (lub dowolne inne urządzenie zdolne do wysłania wiadomości Sigfox)

Krok 2: API Ubera

Zautomatyzujemy proces zamawiania żądania przejazdu, wywołując punkty końcowe interfejsu API Uber.

Aby zrozumieć, jak to jest możliwe, sprawdź moduł węzła, który opracowałem dla prostoty użytkowania i przejrzystości. Aby to zadziałało, potrzebujesz tokena dostępu do interfejsu API Uber. Procedurę uzyskania tego tokena można znaleźć na tej stronie GitHub.

Wymagania wstępne

  • Ważne konto Uber
  • Twój token dostępu do interfejsu API Uber (sprawdź powyżej, jak go uzyskać)
  • Aktywowane urządzenie w Sigfox Backend (wskaż ten link, aby aktywować Sens'it). Będziesz potrzebować identyfikatora urządzenia i PAC.

Instalacja

W app.js zostaną utworzone dwie struktury adresów w następujący sposób (z wartościami zdefiniowanymi w zmiennych środowiskowych):

stały adres_1 = {

'name': process.env. ADDRESS_1_NAME, 'lat': process.env. ADDRESS_1_LAT, 'lng': process.env. ADDRESS_1_LNG }; const address_2 = { 'nazwa': process.env. ADDRESS_2_NAME, 'lat': process.env. ADDRESS_2_LAT, 'lng': process.env. ADDRESS_2_LNG };

Adresy te posłużą do określenia miejsc odbioru i nadania. Ustawimy je później.

Jeśli urządzenie Sens'it wysyła swoją lokalizację geograficzną najbliższą adresowi nr 1, wówczas adres nr 1 jest ustawiany jako pick-up, a adres nr 2 jest ustawiany jako drop-off dla żądania przejazdu. I tak dalej na odwrót…

Jeśli usługa geolokalizacji Sigfox Backend zwróci promień dokładności większy niż odległość między dwoma adresami, żądanie Uber nie zostanie wykonane (ponieważ nie można określić miejsca docelowego).

Krok 3: Zainstaluj na Heroku

Wdróż na Heroku
Wdróż na Heroku
Wdróż na Heroku
Wdróż na Heroku

Napisałem aplikację wykorzystującą NodeJS do automatyzacji procesu zamawiania. Kliknij przycisk poniżej, aby automatycznie wdrożyć go w Heroku.

KLIKNIJ TUTAJ, ABY WDROŻYĆ

Alternatywnym sposobem na uruchomienie go w Heroku jest zainstalowanie Heroku Cli i wykonanie następujących kroków:

$ git clone

$ cd sigfox_uber $ heroku aplikacje: utwórz $ git push heroku master

Teraz przejdź do zakładki ustawień aplikacji Heroku (https://dashboard.heroku.com/apps//settings), aby ustawić zmienne środowiskowe. Ustaw następujące zmienne (upewnij się, że ustawiłeś żądane adresy):

  • ACCESS_TOKEN | TWÓJ_TOKEN_DOSTĘPU
  • ADRES_1_LAT | 49.009698
  • ADRES_1_LNG | 2,547882
  • ADDRESS_1_NAME | Lotnisko
  • ADRES_2_LAT | 48.876579
  • ADRES_2_LNG | 2.330618
  • ADDRESS_2_NAME | Biuro

Punkt końcowy „…/request/:device/:lat/:lng/:radius” będzie wywoływany za każdym razem, gdy wiadomość zostanie wysłana do Backend Sigfox (zobacz poniżej, jak to skonfigurować). Korzystając z usługi geolokalizacji Sigfox, serwer otrzyma przybliżoną pozycję Sens'it. Następnie zamówi UberX z określonymi adresami odbioru i odbioru.

Aby sprawdzić, czy aplikacja działa, przejdź do jej adresu URL. W przeglądarce powinien pojawić się komunikat „Aplikacja jest uruchomiona…”. Możesz również sprawdzić dzienniki, aby uzyskać więcej informacji.

Krok 4: [Opcjonalnie] Bezpłatne powiadomienia SMS od francuskiego operatora komórkowego (o nazwie Free)

Jeśli masz francuską bezpłatną subskrypcję operatora komórkowego, możesz skorzystać z jego bezpłatnego interfejsu API powiadomień SMS, aby otrzymywać powiadomienia na swój telefon. Aby to zadziałało, po prostu aktywuj usługę w strefie subskrybenta i odnieś się do następujących zmiennych środowiskowych w zakładce ustawień aplikacji Heroku:

  • FREE_USER | TWÓJ_BEZPŁATNY_UŻYTKOWNIK
  • FREE_PASS | TWÓJ_BEZPŁATNY_PASS

Teraz będziesz mógł otrzymywać powiadomienia SMS dotyczące Twoich żądań UberX.

Krok 5: Skonfiguruj wywołanie zwrotne Sigfox Backend

Skonfiguruj wywołanie zwrotne Sigfox Backend
Skonfiguruj wywołanie zwrotne Sigfox Backend
  • Zaloguj się tutaj
  • Przejdź do https://backend.sigfox.com/devicetype/list, kliknij w lewo w wierszu urządzenia i wybierz „Edytuj”
  • Teraz przejdź do sekcji „CALLBACKS” po lewej stronie, wybierz „new” w prawym górnym rogu, wybierz „Custom Callback”
  • Typ: SERWIS | GEOLOC
  • Adres URL kanału
  • Wzorzec adresu URL:
  • Użyj metody HTTP: GET
  • Wybierz „OK”, aby zatwierdzić

Krok 6: Uruchom, aby przetestować

Domyślnie zmienna sandbox jest ustawiona na true. Spowoduje to sfałszowanie żądań przejazdu Uber, aby Twoje konto bankowe nie zostało dotknięte niezamierzonymi manipulacjami.

Naciśnij dwukrotnie przycisk Sens'it, aby wysłać wiadomość przez Sigfox. Upewnij się, że wiadomości są dobrze odbierane w Sigfox Backend. Zaloguj się, przejdź do sekcji URZĄDZENIE i kliknij lewym przyciskiem myszy ID swojego urządzenia. Możesz wtedy przejść do sekcji WIADOMOŚCI, aby zobaczyć ładunki.

Krok 7: Zamów prawdziwą przejażdżkę Uber

Zamów prawdziwy przejazd z Uberem
Zamów prawdziwy przejazd z Uberem

Teraz ustaw zmienną środowiskową sandbox na false, jeśli chcesz zażądać prawdziwego sterownika Uber.

PIASKOWNICA | fałszywe

Przycisk Sens'it wywoła ścieżkę …/request/:device/:lat/:lng/:radius i wywoła żądanie przejazdu Uber!

Możesz również zobaczyć aktualny status wniosku na …/request/current.

Aby anulować zamówienie, można skorzystać ze ścieżki: …/request/cancel.

Jedźmy

Miłej zabawy przy zamawianiu Uberów!

Antoine de Chassey

Zalecana: