Как и почему я вернул свою собственную реализацию SMS на Google Maps

Представьте себе кошмар, в котором у вас нет доступа к Google Картам.

Был 2017 год ... Я ехал за рулем в сельской местности своего родного штата по работе, которая у меня была в то время. Эта работа была в глуши, и на улицах, которые вели к моей работе, было очень мало указателей или указателей, как вернуться на шоссе. Это место было так далеко, что мне пришлось бы съехать с шоссе и ехать не менее 30 минут по обычной дороге после съезда с шоссе. Обычно это было бы катастрофой, но, к счастью, сейчас у нас есть замечательные сервисы, такие как Google, Apple и MapQuest. Пока это не произойдет:

Самая большая проблема, связанная с пребыванием в глуши, заключается в том, что операторы сотовой связи не заботятся о том, чтобы вокруг этих областей было много спутников, поэтому вы часто останетесь без данных. Когда это случилось со мной, я терялся в течение нескольких часов, пытаясь использовать любые контекстные подсказки, которые я мог найти на дороге, чтобы найти свой путь назад к цивилизации.

Когда я наконец добрался до дома той ночью, я поискал в Интернете решение, которое позволяло бы отправлять текстовые сообщения на адрес и получать инструкции. Существовали более старые решения от Google и MapQuest, но их больше не существовало. Именно поэтому я создал RouteMe.

RouteMe использует Google Voice, Google Maps API и удобный способ доступа к вашей электронной почте с помощью Node JS.

Теперь, конечно, Google Карты всегда офлайн, но это требует предварительного планирования. Обычно последнее, о чем я думаю, - это потеря данных из ниоткуда.

Как это работает

У меня есть Raspberry Pi, который всегда сидит дома и постоянно слушает электронные письма, которые приходят в мой почтовый ящик с помощью mail-listener2. Теперь проблема в том, что, если у вас нет данных, вы не можете отправить сообщение на свою электронную почту, и тут на помощь приходит наш удобный номер Google Voice. Мой Google Voice number пересылает любое электронное письмо, приходящее на любой адрес электронной почты, который я выберу, и, конечно же, я выбираю адрес электронной почты, который прослушивает мой Pi.

После того, как Pi получит электронное письмо, у него будет много данных, которые необходимо проанализировать, чтобы получить номер, отправивший текст и сообщение. Одна вещь, которую мы не хотим делать, - это пытаться анализировать каждое электронное письмо, поэтому мы прослушиваем определенное ключевое слово… «routeme».

Когда он находит это ключевое слово, он извлекает слова, которые были перед ним, как адрес FROM, а затем извлекает слова, которые идут после него, как TO адрес, а затем отправьте его в Google Maps API, чтобы получить указания.

Отличная особенность Google Maps API заключается в том, что он может принимать простое имя, координаты или полный адрес как это от и до локаций. Иногда, когда у вас нет данных и вы не можете найти никаких уличных знаков, получить координаты проще, чем адрес.

Отправка направлений

Теперь, когда у нас есть маршруты, вы можете спросить, как мы собираемся отправить текстовое сообщение обратно на телефон, не платя за услуги… Что ж, большинство провайдеров сотовой связи в США связывают ваш номер телефона на электронную почту, которую они используют для своих услуг. Я использую Sprint, поэтому, если мой номер был 585 –555–3366, Sprint преобразовал бы мой номер в [email protected]. Это позволяет легко отправить электронное письмо на мой номер телефона, и когда мое электронное письмо достигнет Sprint, они Я позабочусь о том, чтобы отправить его на любой номер телефона, связанный с этим адресом электронной почты. Итак, используя Nodemailer, мы войдем в систему на наш адрес электронной почты и отправим маршруты, и вуаля!

Теперь у нас есть маршруты на нашем телефоне без каких-либо данных, поступающих на наш телефон или с него!

У меня RouteMe работает буквально постоянно, потому что я никогда не знаю, когда останусь без данных и мне они понадобятся. За два года работы он мне несколько раз помогал. Это избавляет от необходимости платить за такие услуги, как Twilio или им подобные, и открывает безграничные возможности. Я могу также связать его с поиском в Google, указав другое ключевое слово, которое может отправить мне ответ на такой вопрос, как дни Спроси Дживса :)

Код

Вы можете найти код с подробными инструкциями, как добиться этого самостоятельно, по адресу: https://github.com/AhadCove/routeme

Я хочу больше

Если вас не так интересует часть Google Maps и в основном отправка текстовых сообщений, я уже снимал видео об этом ранее:

Или, если вы просто хотите подписаться на меня, чтобы узнать, что еще я делаю, например, в моем последнем проекте, где я делаю Камень бесконечности с искусственным интеллектом, вы можете подписаться на меня в Twitter и подписаться на мой «YouTube канал"

Как всегда… «Продолжайте обнимать SPARK»