Съдържание:

Бутонът на Uber: 7 стъпки
Бутонът на Uber: 7 стъпки

Видео: Бутонът на Uber: 7 стъпки

Видео: Бутонът на Uber: 7 стъпки
Видео: Невероятные приключения итальянцев в России (4К, комедия, реж. Эльдар Рязанов, 1973 г.) 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 адрес_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};

Тези адреси ще се използват за определяне на местата за вземане и кацане. Ще ги зададем по -късно.

Ако устройството Sens'it изпрати своята геолокализирана позиция, най-близка до адрес #1, тогава адрес #1 се задава като пикап и адрес #2 се задава като отпадане за заявката за каране. И така нататък за обратното …

Ако услугата за геолокация на Sigfox Backend връща радиус на прецизност, по-голям от разстоянието между двата адреса, заявката на Uber няма да бъде изпълнена (тъй като дестинацията на пристигане не може да бъде определена).

Стъпка 3: Разгърнете на Heroku

Разполагане на Heroku
Разполагане на Heroku
Разполагане на Heroku
Разполагане на Heroku

Написах приложение, използващо NodeJS, за да автоматизирам процеса на поръчка. Щракнете върху бутона по -долу, за да го инсталирате автоматично на Heroku.

КЛИКНЕТЕ ТУК, ЗА ДЕПЛОЙ

Алтернативен начин да го стартирате в Heroku е да инсталирате Heroku Cli и да следвате тези стъпки:

$ git клонинг

$ cd sigfox_uber $ heroku приложения: създайте $ git push heroku master

Сега преминете към раздела с настройки на вашето приложение 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 Backend (вижте по -долу как да го конфигурирате). Използвайки услугата за геолокализация на Sigfox, сървърът ще получи приблизителната позиция на Sens'it. След това ще поръчате UberX с определените адреси за получаване и изпращане.

За да проверите дали приложението работи, отидете на неговия URL адрес. Трябва да видите „Приложението работи…“в браузъра си. Можете също да проверите регистрационните файлове за повече подробности.

Стъпка 4: [По избор] Безплатни SMS известия с френски мобилен оператор (наречен Free)

Ако имате абонамент за френски безплатен мобилен оператор, можете да използвате безплатния им API за известяване чрез SMS, за да получавате известия на телефона си. За да направите това, просто активирайте услугата във вашата абонатна област и препратете следните променливи на средата в раздела с настройки на вашето приложение Heroku:

  • FREE_USER | YOUR_FREE_USER
  • FREE_PASS | YOUR_FREE_PASS

Вече ще можете да получавате SMS сигнали относно вашите заявки за UberX.

Стъпка 5: Конфигурирайте обратното извикване на Sigfox

Конфигурирайте обратното повикване на Sigfox
Конфигурирайте обратното повикване на Sigfox
  • Влезте тук
  • Отидете на https://backend.sigfox.com/devicetype/list, щракнете наляво в реда на вашето устройство и изберете „Редактиране“
  • Сега отидете в секцията „ОБАЖДАНИЯ“вляво, изберете „ново“горе вдясно, изберете „Персонализирано обратно обаждане“
  • Тип: УСЛУГИ | GEOLOC
  • URL адрес на канала
  • Модел на URL адрес: https://.herokuapp.com/request/ {device}/{lat}/{lng}/{radius}
  • Използвайте HTTP метод: GET
  • Изберете „OK“, за да потвърдите

Стъпка 6: Изпълнете, за да тествате

По подразбиране променливата на пясъчника е зададена на true. Това ще фалшифицира заявки за пътуване на Uber, така че банковата ви сметка да не бъде засегната от непреднамерени манипулации.

Натиснете бутона Sens'it два пъти, за да изпратите съобщение през Sigfox. Уверете се, че съобщенията са добре приети на Sigfox Backend. Влезте, отидете в раздела УСТРОЙСТВО и щракнете наляво върху идентификатора на вашето устройство. Можете след това да отидете в раздела Съобщения, за да видите полезния товар.

Стъпка 7: Поръчайте истинско пътуване с Uber

Поръчайте истинско пътуване с Uber
Поръчайте истинско пътуване с Uber

Сега задайте променливата на средата на пясъчника на false, ако искате да поискате истински драйвер на Uber.

ПЕЧАЛБА | невярно

Бутонът Sens'it ще извика пътя …/request/: device/: lat/: lng/: radius и ще задейства заявката за каране на Uber!

Можете също да видите текущото състояние на заявката на…/request/current.

За да отмените поръчка, този път може да се използва:…/request/cancel.

Да караме

Забавлявайте се, като поръчвате своя Ubers!

Антоан дьо Шаси

Препоръчано: