Оглавление:

Кнопка Uber: 7 шагов
Кнопка Uber: 7 шагов

Видео: Кнопка Uber: 7 шагов

Видео: Кнопка Uber: 7 шагов
Видео: Как пользоваться Uber. Настройка приложения Uber driver. Тестовая поездка 2024, Ноябрь
Anonim
Кнопка Uber
Кнопка Uber

Получите поездку на Uber, просто нажав кнопку!

Вступление

В этом руководстве мы будем использовать службу локализации сети Sigfox (которая на данный момент может давать точность положения в радиусе не более 1 км), чтобы получить ближайшую позицию к указанному адресу и соответственно запросить поездку на Uber. Поэтому нам не нужно устройство с GPS.

Мы будем использовать Sens'it, но любое устройство, способное отправлять сообщения через Sigfox, может быть использовано для успешного выполнения этого руководства.

Загляните сюда, если хотите получить более подробную информацию о производителях Sigfox.

Шаг 1. Аппаратное обеспечение

Sens'it (или любое другое устройство, способное отправлять сообщения Sigfox)

Шаг 2. API Uber

Мы будем автоматизировать процесс заказа поездки, вызывая конечные точки Uber API.

Чтобы понять, как это возможно, обязательно ознакомьтесь с модулем узла, который я разработал для простоты использования и ясности. Для работы вам понадобится токен доступа к Uber API. Порядок получения этого токена можно найти на этой странице GitHub.

Предпосылки

  • Действующий аккаунт Uber
  • Ваш токен доступа к Uber API (как его получить, см. Выше)
  • Активированное устройство на Sigfox Backend (перейдите по этой ссылке для активации Sens'it). Вам понадобится идентификатор устройства и PAC.

Установка

В app.js будут созданы две структуры адресов, как показано ниже (со значениями, определенными в переменных среды):

const address_1 = {

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

Эти адреса будут использоваться для указания пунктов посадки и высадки. Мы установим их позже.

Если устройство Sens'it отправляет свое геолокационное положение, ближайшее к адресу № 1, тогда адрес № 1 устанавливается как место приема, а адрес № 2 устанавливается как место возврата для запроса поездки. И так далее…

Если служба геолокации Sigfox Backend возвращает радиус точности, превышающий расстояние между двумя адресами, запрос Uber не будет выполнен (так как пункт назначения не может быть определен).

Шаг 3. Разверните на Heroku

Развернуть на Heroku
Развернуть на Heroku
Развернуть на Heroku
Развернуть на Heroku

Я написал приложение с использованием NodeJS для автоматизации процесса заказа. Нажмите кнопку ниже, чтобы автоматически развернуть его на Heroku.

НАЖМИТЕ ЗДЕСЬ, ЧТОБЫ РАЗВЕРТИТЬ

Альтернативный способ запустить его на Heroku - установить Heroku Cli и выполнить следующие действия:

$ git clone

$ cd sigfox_uber Приложения $ heroku: создать мастер $ git push heroku

Теперь перейдите на вкладку настроек вашего приложения Heroku (https://dashboard.heroku.com/apps//settings), чтобы установить переменные среды. Задайте следующие переменные (обязательно укажите желаемые адреса):

  • ACCESS_TOKEN | YOUR_ACCESS_TOKEN
  • ADDRESS_1_LAT | 49.009698
  • ADDRESS_1_LNG | 2,547882
  • ADDRESS_1_NAME | аэропорт
  • ADDRESS_2_LAT | 48,876579
  • ADDRESS_2_LNG | 2,330618
  • ADDRESS_2_NAME | офис

Конечная точка «… / request /: device /: lat /: lng /: radius» будет вызываться каждый раз, когда сообщение отправляется на серверную часть Sigfox (см. Ниже, как ее настроить). Используя службу геолокации Sigfox, сервер получит приблизительную позицию Sens'it. Затем вы закажете UberX с указанными адресами получения и возврата.

Чтобы проверить, запущено ли приложение, перейдите по его URL-адресу. Вы должны увидеть «Приложение работает…» в своем браузере. Вы также можете проверить журналы для получения более подробной информации.

Шаг 4. [Необязательно] Бесплатные SMS-уведомления французского оператора мобильной связи (с названием Free)

Если у вас есть подписка французского оператора мобильной связи Free, вы можете использовать их бесплатный API-интерфейс SMS-уведомлений, чтобы получать уведомления на свой телефон. Чтобы это работало, просто активируйте услугу в своей области подписчика и укажите следующие переменные среды на вкладке настроек вашего приложения Heroku:

  • FREE_USER | ВАШ_БЕСПЛАТНЫЙ_ПОЛЬЗОВАТЕЛЬ
  • FREE_PASS | YOUR_FREE_PASS

Теперь вы сможете получать SMS-оповещения о ваших запросах UberX.

Шаг 5: Настройте обратный вызов Sigfox Backend

Настройте обратный вызов Sigfox Backend
Настройте обратный вызов Sigfox Backend
  • Авторизуйтесь здесь
  • Перейдите на https://backend.sigfox.com/devicetype/list, щелкните слева в строке с вашим устройством и выберите «Изменить».
  • Теперь перейдите в раздел «ОТЗЫВЫ» слева, выберите «новый» вверху справа, выберите «Пользовательский обратный вызов».
  • Тип: СЕРВИС | ГЕОЛОК
  • URL канала
  • Шаблон URL: https://.herokuapp.com/request/ {device} / {lat} / {lng} / {radius}
  • Использовать HTTP-метод: GET
  • Выберите "ОК" для подтверждения

Шаг 6. Запустите для тестирования

По умолчанию для переменной песочницы установлено значение true. Это приведет к подделке запросов на поездку через Uber, чтобы на ваш банковский счет не повлияли непреднамеренные манипуляции.

Дважды нажмите кнопку Sens'it, чтобы отправить сообщение через Sigfox. Убедитесь, что сообщения хорошо принимаются серверной частью Sigfox. Войдите в систему, перейдите в раздел УСТРОЙСТВО и щелкните левой кнопкой мыши на идентификаторе вашего устройства. Затем вы можете перейти в раздел СООБЩЕНИЯ, чтобы увидеть полезные данные.

Шаг 7. Закажите настоящую поездку на Uber

Заказать настоящую поездку Uber
Заказать настоящую поездку Uber

Теперь установите для переменной среды песочницы значение false, если вы хотите запросить настоящий драйвер Uber.

SANDBOX | ложный

Кнопка Sens'it вызовет путь… / request /: device /: lat /: lng /: radius и вызовет запрос Uber ride!

Вы также можете увидеть текущий статус запроса на… / request / current.

Для отмены заказа можно использовать этот путь:… / запрос / отмена.

Едем

Удачи, заказывая Ubers!

Антуан де Шасси

Рекомендуемые: