Spisu treści:
- Krok 1: Sprzęt
- Krok 2: API Ubera
- Krok 3: Zainstaluj na Heroku
- Krok 4: [Opcjonalnie] Bezpłatne powiadomienia SMS od francuskiego operatora komórkowego (o nazwie Free)
- Krok 5: Skonfiguruj wywołanie zwrotne Sigfox Backend
- Krok 6: Uruchom, aby przetestować
- Krok 7: Zamów prawdziwą przejażdżkę Uber
Wideo: Przycisk Uber: 7 kroków
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:28
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
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
- 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
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:
Obrotowy przycisk enkodera: 6 kroków
Przycisk enkodera obrotowego: Jest to obrotowy pilot zdalnego sterowania oparty na enkoderze obrotowym. Posiada następujące cechy.Zasilanie bateryjne z bardzo niskim poborem prądu po aktywacjiAutomatyczna aktywacja po obróceniu sterowaniaAutomatyczne uśpienie po okresie bezczynnościKonfiguracja
Przycisk „naciśnij i mów” sterowany nogą: 5 kroków
Przycisk Push to Talk sterowany nogą: W ten sposób stworzyłem przycisk Push To Talk, którego można używać stopami
Naciśnij przycisk); //Gra LCD Arduino: 5 kroków (ze zdjęciami)
Naciśnij przycisk); //Gra LCD Arduino: Ostatnio w Scouts pracowałem nad odznaką Meritum Game Design. Dla jednego z wymagań zbudowałem tę grę przy użyciu Arduino, która jest oparta na grze LED Rocker. Celem gry jest zdobycie jak największej liczby punktów. Na początku t
FPGA Cyclone IV DueProLogic - przycisk i dioda LED: 5 kroków
FPGA Cyclone IV DueProLogic - Przycisk i dioda LED: W tym samouczku użyjemy układu FPGA do sterowania zewnętrznym obwodem diody LED. Zamierzamy wykonać następujące zadania (A) Użyj przycisków na FPGA Cyclone IV DuePrologic do sterowania diodą LED. (B) Dioda Flash włączona & okresowo wyłączaj Demo wideo Lab
Zoom Meetings Fizyczny przycisk wyciszania: 7 kroków (ze zdjęciami)
Zoom spotkań Fizyczny przycisk wyciszania: Jeśli korzystasz ze spotkań z zoomem w pracy lub szkole, ten przycisk jest dla Ciebie! Naciśnij przycisk, aby włączyć wyciszenie lub przytrzymaj przycisk, aby opuścić spotkanie (lub zakończyć je, jeśli jesteś gospodarzem). Jeden Wspaniałą rzeczą jest to, że działa, nawet jeśli okno Zoom