Оглавление:
- Шаг 1. Аппаратное обеспечение
- Шаг 2. API Uber
- Шаг 3. Разверните на Heroku
- Шаг 4. [Необязательно] Бесплатные SMS-уведомления французского оператора мобильной связи (с названием Free)
- Шаг 5: Настройте обратный вызов Sigfox Backend
- Шаг 6. Запустите для тестирования
- Шаг 7. Закажите настоящую поездку на Uber
Видео: Кнопка Uber: 7 шагов
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:49
Получите поездку на 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
Я написал приложение с использованием 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
- Авторизуйтесь здесь
- Перейдите на 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
Теперь установите для переменной среды песочницы значение false, если вы хотите запросить настоящий драйвер Uber.
SANDBOX | ложный
Кнопка Sens'it вызовет путь… / request /: device /: lat /: lng /: radius и вызовет запрос Uber ride!
Вы также можете увидеть текущий статус запроса на… / request / current.
Для отмены заказа можно использовать этот путь:… / запрос / отмена.
Едем
Удачи, заказывая Ubers!
Антуан де Шасси
Рекомендуемые:
Кнопка поворотного энкодера: 6 шагов
Кнопка поворотного энкодера: это поворотный пульт дистанционного управления на основе поворотного энкодера. Он имеет следующие особенности. Аккумулятор работает с очень низким потреблением тока при активации Автоматическая активация при вращении регулятора Автоматический переход в спящий режим после периода бездействия Конфигурация
Кнопка Push to Talk с ножным управлением: 5 шагов
Кнопка Push to Talk с ножным управлением: вот как я сделал кнопку Push To Talk, которую можно использовать ногами
FPGA Cyclone IV DueProLogic - кнопка и светодиод: 5 шагов
FPGA Cyclone IV DueProLogic - кнопка и светодиод: в этом руководстве мы собираемся использовать FPGA для управления внешней светодиодной схемой. Мы собираемся реализовать следующие задачи: (A) Используйте кнопки на FPGA Cyclone IV DuePrologic для управления светодиодом. (B) Светодиод мигает & периодически выключаетсяДемонстрационная видео-лаборатория
Кнопка физического отключения звука Zoom Meetings: 7 шагов (с изображениями)
Кнопка физического отключения звука для совещаний Zoom: если вы используете совещания Zoom для работы или учебы, эта кнопка предназначена для вас! Нажмите кнопку, чтобы отключить звук, или удерживайте кнопку, чтобы покинуть совещание (или завершить его, если вы являетесь организатором). Самое замечательное в этом то, что он работает, даже если ваш Zoom windo
Сенсорная кнопка Glass IoT: 10 шагов
Сенсорная кнопка Glass IoT: на днях у меня был кусок стекла ITO, лежащий в магазине, и я подумал о том, чтобы найти ему хорошее применение. ITO, оксид индия и олова, стекло обычно используется в жидкокристаллических дисплеях, солнечных элементах, окнах кабины самолетов и т. Д. Разница b