Search
Write a publication
Pull to refresh

Как мы создали приложение для тестирования клетки Фарадея и превратили его в инструмент продаж

Reading time5 min
Views3.4K

Хочу поделиться историей создания нишевого мобильного приложения для тестирования клетки Фарадея, которое (внезапно) стало популярным в западном сегменте App Store и Google Play, а также переросло в канал международных продаж для наших продуктов. 

Как возникла идея приложения? Мы в Velter разрабатываем экранирующие аксессуары — чехлы, сумки и капсулы, которые физически блокируют беспроводную связь. Для внутренних тестов нам нужен был простой и удобный инструмент проверки уровня экранирования. Так появилось приложение, которое превращает любой смартфон в карманный тестер клетки Фарадея.

Мини-FAQ

Зачем тестировать клетку Фарадея?

Устройства на основе клетки Фарадея используют для цифровой приватности, кибербезопасности, цифрового детокса, защиты от излучения и других ситуаций, когда нужно физически перевести электронику в офлайн. Пользователи экранирующих аксессуаров хотят быть уверены в их работоспособности, и наше приложение помогает им убедиться в этом. 

Не проще ли позвонить на телефон в экранирующем чехле и убедиться, что сигнал не проходит?

Нужно удостовериться, что клетка Фарадея блокирует не только сотовую связь, но и Wi-Fi c Bluetooth. В некоторых ситуациях сигнал может блокироваться на одних частотах, но проходить на других. Также мощность сигнала в некоторых условиях и местах, в отдалении от базовой станции, роутера, может быть недостаточна, чтобы оценить реальную эффективность экранирования.

Виды тестов и трудности разработки

Первая версия содержала один способ проверки — полный тест. Приложение выглядело просто с точки зрения интерфейса, но внутри это был достаточно сложный инструмент, работающий с низкоуровневыми системными API для получения реальных значений мощности сигналов. Доступ к таким данным не всегда доступен: Android дает ограниченный доступ к RSSI, а iOS почти полностью закрыт.

Как это работает под капотом у Android?
Тест длится 90 секунд и каждую секунду запускает несколько параллельных опросов:

  • Wi‑Fi измеряется через WifiManager.connectionInfo.rssi, получая текущий RSSI активной точки доступа.

  • Сотовая сеть опрашивается через TelephonyManager и, если основной API возвращает неопределённый уровень, приложение перебирает CellInfo (GSM, LTE, NR) и достаёт dbm из зарегистрированной ячейки.

  • Bluetooth запускает BLE‑сканер (BluetoothScanner) с кастомными ScanSettings и фиксирует максимальный RSSI найденных устройств.

Каждое измерение работает в своей корутине, результаты эмитятся в StateFlow, а UI подписан на поток и отображает данные в реальном времени. По завершении 90 секунд вызывается stopScanning(), чтобы освободить радиомодули и сэкономить батарею.

Этот режим дает максимально точную картину, но занимает много времени, поэтому он и называется «Полный тест» – с циклом проверки всех радиоинтерфейсов.

Вторая версия: Экспресс‑тест с проверкой доступности сети

Чтобы ускорить процесс, появился «Экспресс‑тест». Здесь логика другая: приложение раз в две секунды отправляет сетевой запрос на наш сервер. С помощью него можно протестировать как сотовую связь, так и Wi-Fi (через роутер). Мы добавили этот тест для тех, кто хочет получить простой и быстрый ответ за 10 секунд — без графиков и децибел. Нужно лишь подключение к интернету и телефон. Приложение определяет, теряется ли связь: если да — экранирующий чехол работает, если нет — не работает.

HTTP‑клиент с минимальными таймаутами проверяет доступность точки, и если сервер отвечает – канал связи открыт. Если приходит ошибка или таймаут – устройство считается экранированным.

Звуковая индикация реализована через MediaPlayer: пока есть ответ – слышен короткий сигнал, если связи нет – тишина. Такой тест занимает всего несколько секунд и подходит для быстрой диагностики.

Но и эти два теста не охватывали все возможные сценарии.

Что делать, если вы полностью офлайн – например, в экранированной камере, в полевых условиях или помещении без интернета? Нам был нужен третий тип теста, который бы работал без внешней сети, опираясь только на локальные устройства.

Так появился P2P‑тест (Пинг устройства) который мы сейчас тестируем, дорабатываем и готовим к релизу.


P2P‑тест не требует доступа к сети – достаточно любого устройства в вашей локальной Wi‑Fi‑сети. Это может быть роутер, ноутбук или другой смартфон.

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

Перед началом теста приложение выполняет сканирование подсети.

  1. Сначала определяется собственный IP устройства с помощью WifiManager.connectionInfo.ipAddress.

  2. На основе этого IP вычисляется подсеть (например, если у вас 192.168.1.42, приложение возьмёт 192.168.1.*).

  3. В отдельном корутинном пуле запускается параллельное сканирование всех 255 адресов в этом диапазоне. Для каждого IP вызывается InetAddress.getByName(ip).isReachable(100) с таймаутом 100 мс.

  4. Все доступные IP‑адреса добавляются в список найденных устройств. Если IP совпадает с предполагаемым адресом роутера (.1), он маркируется как “Ваш роутер”.

После выбора устройства для тестирования запускается ICMP‑пинг через системную команду ping -c 1 <IP>. Результат анализируется:

  • если пинг успешен – канал открыт;

  • если команда возвращает ошибку или истекает таймаут – связь заблокирована, устройство экранировано.

Результаты пинга логируются и отображаются в реальном времени, а статус соединения (TESTING или BLOCKED) обновляется через connectionStateChannel и UI реагирует мгновенно.

Интерфейс остаётся таким же, как в Express‑тесте: слайдер запуска/остановки, звуковая индикация, обновляемый лог и прогресс‑бар сканирования сети.

Таким образом, даже в условиях полного оффлайна можно проверить, блокирует ли экранирующее решение Wi‑Fi‑сигнал на аппаратном уровне.

Спрос там, где его не ожидали

Мы задумывали приложение как простую мобильную утилиту для пользователей экранирующих чехлов. Но целевая аудитория оказалась куда шире — как в плане сферы применения, так и географически. Приложение стали использовать:

1. Производители аналогичных устройств — наши конкуренты. 

2. Научные организации по всему миру. Мобильный тестер клеток Фарадея нужен им в процессе строительства экранирующих сооружений — с ним очень удобно проводить тесты «на ходу» и в полевых условиях.

3. Криминалистика (форензика) и кибербезопасность. В США использование экранирующих чехлов — обязательное условие хранения и транспортировки электронных улик, изъятых с мест преступления. Эксперты по кибербезу тоже активно пользуются подобными устройствами и регулярно тестируют их работоспособность. 
Кстати, благодаря приложению мы нашли дистрибьютора в Кувейте, который с помощью него тестировал американские чехлы, а теперь они перешли на наши решения.

4. Пользователи экранирующих чехлов. Не только наших, но и от конкурентов по всему миру. Знаем случаи, когда пользователи из разных частей мира используют приложение для тестирование самодельных экранирующих устройств.

Мы сделали приложение бесплатным и не берем денег даже с фабрик экранирующих изделий, которые фактически являются корпоративными пользователями, во всяком случае пока:) 

Единственный элемент монетизации в нем — ненавязчивый доступ в наш магазин, в котором можно приобрести экранирующие устройства Velter с доставкой по всему миру. Таким образом мы открыли еще один канал международных продаж, причем речь идет о реальном осязаемом продукте, а не микротранзакциях.

Мы продолжаем развивать Shielding Tester — для нас это очень интересный и увлекательный опыт. Ведь изначально мы хардвер-компания, которая специализируется на физических продуктах, а не на софте. Дополнительным бонусом это уже приводит нам покупателей со всего мира: от Австралии до Европы и США. 


Спасибо, что прочитали историю о нашем опыте мобильной разработки. Задавайте любые вопросы в комментариях — мы все читаем и обязательно ответим. Если хотите лично протестировать приложение, Shielding Tester доступен бесплатно в App Store и Google Play.

Tags:
Hubs:
+5
Comments13

Articles