An open API service indexing awesome lists of open source software.

https://github.com/angrycoding/auto-tethering

Сервис для автоматического включения точки доступа, когда мобильное устройство соединяется с определенной Wi-Fi сетью
https://github.com/angrycoding/auto-tethering

Last synced: 4 months ago
JSON representation

Сервис для автоматического включения точки доступа, когда мобильное устройство соединяется с определенной Wi-Fi сетью

Awesome Lists containing this project

README

          

# Автоматическое включение и отключение раздачи мобильного интернета для автомобиля

Штатное головное устройство без сим - карты нуждается в доступе в интернет для работы определенных приложений (к примеру Яндекс-Навигатор). Первый и самый очевидный способ решения данной проблемы, это установка в автомобиль мобильного роутера с сим - картой и раздача интернета с него. Те роутеры которые удалось найти мне, обладают несколькими существенными недостатками:
1. Не работают без встроенного аккумулятора, т. е. в режиме постоянного подключения к источнику питания и перепадов температур, аккумулятор такого девайса сдохнет через пару месяцев, что повлечет за собой неработоспособность роутера.
2. Не включаются автоматически без нажатия кнопки включения, т. е. даже с аккумулятором, будучи подключенным к источнику питания который активируется при включении ШГУ, все равно надо будет лезть к роутеру и сука нажимать гребаную кнопку чтобы его включить.
3. Дорогой интернет для роутеров. В край охуевшие мобильные операторы задирают цены на мобильный интернет для роутеров, таким образом, что он сука становится дороже чем такой же самый интернет в телефоне.

Если добавить ко всему вышеперечисленному всю ебынь с пополнением счета и прочими специфическими для ОпСоСов вещами, то становится понятно, что проще всего и дешевле всего раздавать интернет с мобильного телефона который лежит в кармане. Именно так я и решил этот вопрос для себя, но мне влом было лезть в меню и включать раздачу каждый раз когда я оказывался в машине, а затем лезть обратно и выключать ее когда я шел домой. Поэтому я решил это дело автоматизировать, первой попыткой стало приложение которое по клику на его иконку на рабочем столе - включало или выключало раздачу, в зависимости от того в каком статусе она уже находилась, но и это меня дико вымораживало, а потому я решил пойти дальше и автоматизировать ваще все. В итоге я пришел к такой схеме:

1. Ставим в машину NodeMCU либо что то подобное (неважно что, главное только чтобы оно стоило копейки и имело бы возможность создавать точку доступа).
2. Заливаем туда прошивку которая при подключении этой железяки к питанию (можно воткнуть ее в прикуриватель или же подключить к USB - порту ШГУ) - создает точку доступа с определенным именем.
3. Пишем сервис, который в случае когда телефон коннектится с сеткой поднятой нашей железякой - включает режим раздачи.
4. ШГУ в свою очередь, как только раздача на телефоне - включается, подключается к телефонной точке доступа.
5. Когда ШГУ отключается от телефонной точки доступа - выключаем раздачу.

Недостатки данного способа:
1. Невозможно включить Wi-Fi находясь в зоне действия точки доступа созданной нашей железякой. При попытке отключения точки доступа и включения Wi-Fi - телефон вновь включится в режим раздачи. Лечится просто, если сидим в машине и по какой то неведомой причине у нас нет мобильного интернета и мы вдруг оказались в зоне действия бесплатной Wi-Fi сети, то вот в таком вот редком кейсе - нужно залезть в настройки и выключить этот чудесный сервис руками. Так вот печально, но тут уж ничего не сделаешь.
2. Точка доступа включится и так и останется включенной в случае если телефон окажется в зоне действия точки доступа созданной нашей железякой, но ШГУ так и не подключится телефонной точке доступа. Не знаю как так может оказаться, но все же в случае если это случится то единственной что нам остается - это выключить точку руками, либо же дожаться пока она выключиться сама (в настройках точки доступа можно установить чтобы она вырубалась сама, при простое в 5 или 10 минут). Не идеально, но опять же - редкий кейс и каких либо вразумительных способов решения этой проблемы я так и не выдумал. Была конечно идея ждать к примеру минуту и в случае если через минуту никто не подключится - то выключать точку, но блин это реально не стоит того чтобы все это городить, тем более что в андроиде и так есть встроенный механизм который делает абсолютно то же самое, конечно там нельзя задать одну минуту, но все же и это лучше чем ничего.