Когда вы думали, что новых приложений нет, приходит хорошая идея. Детали тонкие, но как только у вас возникнет идея, вы можете начать придумывать собственные изюминки решения.
Если вы гуляете или занимаетесь более приключенческими занятиями даже в немного удаленных районах, вы, вероятно, беспокоитесь о несчастном случае, в результате которого вы останетесь неподвижным. Это гораздо более распространенная проблема, чем вы думаете, поскольку все больше пожилых людей гуляют в сельской местности. Все, что вам нужно сделать, это упасть в канаву, и найти вас становится действительно сложной задачей.
Очевидный ответ — иметь своего рода радиомаяк, который позволит службам экстренной помощи и спасению найти вас. Уже есть приложения, которые отправляют экстренный вызов через телефонное соединение, но в более удаленных местах телефонная служба может быть нестабильной или отсутствовать. Вы можете купить спутниковые аварийные маяки, но они достаточно дороги, чтобы их могли использовать только «серьезные» альпинисты и лыжники.
Исследователи из Университета Аликанте в Испании разработали новое приложение, которое использует Wi-Fi-радио практически в каждом смартфоне для передачи сигнала местоположения. Хосе Анхель Берна из Департамента физики и системотехники внедрил приложение, которое может использовать Wi-Fi для передачи сигнала, который, как утверждается, достигает нескольких километров.
Точной информации о том, как это работает, не так много, но поскольку приемник используется для добавления к телефонам, используемым службами спасения, ясно, что это не стандартный WiFi, о котором мы говорим, или если это Ресивер отвечает за увеличенную дальность действия. Приемник оценивается в 600 евро.
Радио, которое обычно используется в смартфонах, способно делать больше, чем Wi-Fi — например, оно также используется для реализации Bluetooth. Однако доступ к низкоуровневому оборудованию затруднен. Использование стандартных API-интерфейсов Wi-Fi также не является решением, поскольку отправка пакета Wi-Fi предполагает, что вы сначала подключились к инфраструктурной сети, то есть к точке доступа. Это означает, что нет очевидного способа заставить радио транслировать что-либо, если оно не подключено к сети, и ясно, что в этом случае оно должно транслировать все время, по сети или без сети.
Итак, как это делается?
Настоящий ответ заключается в том, что я понятия не имею, но я потратил некоторое время, играя с разными способами достижения результата. Единственный «простой» способ, который я могу придумать, — это использовать телефон в качестве точки доступа и заставить его передавать свой SSID каждые несколько минут. SSID представляет собой 32-байтовый пакет, а для широты и долготы местоположения требуется всего 11 байтов для каждого. Единственная проблема заключается в том, что нет стандартного SDK для работы с горячими точками, и поэтому вам нужно будет использовать один из сторонних классов, которые используют интроспекцию для выполнения этой работы.
Однако я не думаю, что приложение работает так, потому что ему нужен дополнительный приемник для приема пакета данных. Подход SSID, вероятно, можно было бы реализовать как другое приложение, просто сканируя широковещательные сообщения SSID.
Есть ли у вас лучшее предложение?