Форум программистов, компьютерный форум CyberForum.ru

Программирование Android

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 29, средняя оценка - 4.79
yura91
30 / 28 / 2
Регистрация: 23.10.2013
Сообщений: 2,248
#1

Программно определить уровень антенны на телефоне - Программирование Android

16.07.2014, 17:02. Просмотров 4292. Ответов 27
Метки нет (Все метки)

Можно ли как нибудь узнать программно уровень антенны на телефоне?Если да то как?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.07.2014, 17:02
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Программно определить уровень антенны на телефоне (Программирование Android):

Как определить на какой номер звонят если в телефоне 2 сим карты? - Программирование Android
Добрый день. Подскажите, пожалуйста, есть ли возможность в бродкаст ресивере отлавливать номер телефона, на который звонят при...

Почему длина антенны спут. телефона гораздо, меньше антенны излучаемого спутника? - Спутниковая связь
Пытался поискать формы с подобной тематикой, но не нашел, надеюсь тут кто-то сможет пролить свет. Собственно Почему длина антенны...

Ежедекадно в течение июня измерялся уровень воды в десяти речках. Определить подекадно: в каких речках наблюдался самый высокий уровень - C++
Ежедекадно в течение июня измерялся уровень воды в десяти речках. Определить подекадно: в каких речках наблюдался самый высокий уровень (и...

.NET 2.x Как сделать чтобы уровень змейки и уровень яблока совпадал? - Visual Basic .NET
Здравствуйте. Как сделать чтобы уровень змейки и уровень яблока совпадал?

Работа со звуком более или менее низкий уровень. Получить уровень сигнала микрофона - C Linux
Доброго дня или ночи. Вобщем товарищи дело такое. предо мной стоит задача определять уровень шума с помощью микрофона на звуковой катре,...

Какая прога может пакетно вычислить средний уровень громкости звука и поднять на заданный уровень? - Софт
Я хочу обработать звук в коллекции своих фильмов. Сжать динамический диапазон и затем поднять средний уровень громкости звука на уровень...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxp
10155 / 6542 / 477
Регистрация: 28.12.2010
Сообщений: 21,166
Записей в блоге: 1
16.07.2014, 20:38 #2
...не уровень антенны, а уровень сигнала от базовой станции. Уровень сигнала может колебаться в интервале от -113 dBm (слабый сигнал) до -50 dBm (мощный сигнал). Если через последовательный порт извне, то 'AT+CSQ'.

А так через класс android.telephony.SignalStrength, параметр signalStrength.getGsmSignalStrength().
Tester64
395 / 356 / 43
Регистрация: 22.05.2013
Сообщений: 2,518
20.07.2014, 17:45 #3
Цитата Сообщение от raxp Посмотреть сообщение
signalStrength.getGsmSignalStrength()
Попробовал... странные цифры получил!
Телефон показывает 4 полоски из 4х на обоих симках... а результат команды обычно 15-17 из 31(по документации). Теоретически это равно 2м полоскам... Не знаете что это значит? Хотелось бы получить то-же что видит юзер в статус-панели телефона! Телефон на столе... цифры прыгают 15-19... а в шапке все еще 4 полосы...
raxp
10155 / 6542 / 477
Регистрация: 28.12.2010
Сообщений: 21,166
Записей в блоге: 1
20.07.2014, 19:12 #4
...отнюдь, цифры не странные, это вы делаете ложный вывод, что ПО телефона обязано юзеру отображать в точной пропорции и без округления в соответствии с разрядностью отображения.

цифры прыгают 15-19... а в шапке все еще 4 полосы...
и правильно делают, уровень сигнала зависит от условий в канале связи, дерево шелохнулось на пути сигнала, человек прошелся, сигнал уже меняется. А еще есть такая вещь как фильтрация, усреднение во времени резких скачков. Вот была бы разрядность полосок не 4, а 100 полосок на индикаторе, тогда другое дело. Только вот эргономика не позволяет сто полос нарисовать, негде.
Tester64
395 / 356 / 43
Регистрация: 22.05.2013
Сообщений: 2,518
20.07.2014, 19:29 #5
все равно не понятно! Неужели системный индикатор (4 полосы) настолько врет?
15/31 это меньше 2х полос!
20/31 это максимум 3 полосы (2.58 из 4)
Сижу за столом(не двигаю). Здесь ВСЕГДА 4 полосы... А по данным функции получает 2-3...
Ладно бы "не успевал" обновлять системный индикатор, но ведь сигнал не падает!
raxp
10155 / 6542 / 477
Регистрация: 28.12.2010
Сообщений: 21,166
Записей в блоге: 1
20.07.2014, 20:35 #6
...вы знаете, восклицательные знаки меня не впечатляют, думаю, даже уверен, мало кого на форуме впечатляют. Это приравнивается к крику.

Вы слышали о нелинейной шкале? Об усреднении и маркетинге?
Tester64
395 / 356 / 43
Регистрация: 22.05.2013
Сообщений: 2,518
20.07.2014, 20:42 #7
Цитата Сообщение от raxp Посмотреть сообщение
Это приравнивается к крику.
Для меня это ("!") акцентирование внимание на предложении. Не более... "!!!" - это уже крик!

Цитата Сообщение от raxp Посмотреть сообщение
Вы слышали о нелинейной шкале?
слышал, но как тогда эти цифры превратить в 4 полоски? нелинейных шкал может быть много...

Цитата Сообщение от raxp Посмотреть сообщение
маркетинге?
Как это может относиться к уровню сигнала? Типа "у нас лучше чем у других"? "У нокии 2 полоски, а у нас всегда 4"?
raxp
10155 / 6542 / 477
Регистрация: 28.12.2010
Сообщений: 21,166
Записей в блоге: 1
20.07.2014, 21:14 #8
слышал, но как тогда эти цифры превратить в 4 полоски? нелинейных шкал может быть много...
кусочно-линейной аппроксимацией. В вашем случае достаточно пары-тройки if-ов.

Типа "у нас лучше чем у других"?
во-от, в верном направлении мысль пошла. Такое у производителей мобильных аппаратов далеко не редкость, каждый на свой лад.
Tester64
395 / 356 / 43
Регистрация: 22.05.2013
Сообщений: 2,518
20.07.2014, 22:28 #9
Цитата Сообщение от raxp Посмотреть сообщение
кусочно-линейной аппроксимацией. В вашем случае достаточно пары-тройки if-ов
Странно все это! И в инструкциях хоть где-то должны были быть инструкции. И апи вроде универсальное - значит могли подменять цифры еще на этапе драйверов, а не индикаторов... И с иф-ами очень долго буду статистику набирать. И универсальность между устройствами теряется.

Мне надо сделать аналог виджета с состоянием уровня сигнала. Таких сотни на маркете и многие работают... И сигналку повесить (реактор) на падение сигнала ниже уровня (как в батарейке). Но КАК поймать реальный уровень и сравнить его например с 1й полоской? Бегать по городу и искать "ямы"?
raxp
10155 / 6542 / 477
Регистрация: 28.12.2010
Сообщений: 21,166
Записей в блоге: 1
21.07.2014, 07:47 #10
...вы погодьте. Причем тут инструкции? Цифры - есть реальные адекватные данные, мнемоническая же индикация не имеет отношения к реальным значениям, это мнемоническая усредненная децимированная прореженная шкала и о никакой универсальности речи быть не может.

Когда делал ActiveX компонент OPC-SMS шлюза, то уровень сигнала в ответе на +CSQ для четырех полосок мнемонически сделал так:
Pascal
1
2
3
4
5
    if csq>80               then il.GetBitmap(2, gsm3.Picture.Bitmap); //0 полосок
    if (csq>31)and(csq<=80) then il.GetBitmap(3, gsm3.Picture.Bitmap); //1
    if (csq>16)and(csq<=31) then il.GetBitmap(4, gsm3.Picture.Bitmap); //2
    if (csq>10)and(csq<=16) then il.GetBitmap(5, gsm3.Picture.Bitmap); //3
    if csq<=10              then il.GetBitmap(6, gsm3.Picture.Bitmap)  //4
ValeryS
Модератор
6556 / 5022 / 464
Регистрация: 14.02.2011
Сообщений: 16,763
21.07.2014, 08:07 #11
yura91,
А с чего ты взял что на индикаторе показывают мощность сигнала?
там вполне может быть, и даже скорее всего,качество сигнала
4 полосы без потерь пакетов
3 полосы незначительная потеря
2 полосы потери
1 полоса потери существенные( голос затыкается)
0 полос пакеты не доходят
Tester64
395 / 356 / 43
Регистрация: 22.05.2013
Сообщений: 2,518
21.07.2014, 08:26 #12
Понятно! И извените за недоверие! Нагуглил десяток форумов где пытаются безуспешно решить эту проблему... у всех левые цифры показывает. Похожие, но левые... А у многи вообще вечны ноль!

Себе поставил около 5 измерителей - все показывают сигнал не больше 52% при 4х делениях. Один даже график красивый рисует - в среднем 45%. А полоски лишь на минуту-две (в час) уменьшились с 4х до 3х... Помню просто (больше полугода назад) ставил виджеты, и цифры в Дб бегали - думал "осталось просто понять как получить" и смогу свой индикатор нарисовать ("не хуже системного")... Короче в очередной раз гугловцы скриворучили...

А можно ли получить аналог команды +CSQ "изнутри"? Может точнее будет? Более похожим на системный индикатор?

Добавлено через 4 минуты
Цитата Сообщение от ValeryS Посмотреть сообщение
А с чего ты взял что на индикаторе показывают мощность сигнала?
там вполне может быть, и даже скорее всего,качество сигнала
А какая разница? Пользователю все равно... "сильнее антена = лучше связь". К тому-же "1 полоса потери существенные( голос затыкается)" можно поймать лишь при разговоре. В режиме ожидания канал минимальный (системный обмен), а линии все равно рисует относительно верно (1 = связь будет очень плохой).

Добавлено через 2 минуты
Меня смутила лишь одна программа - она показывает уровень не только для текущей соты, но и для 5ти соседних. Где-то лишь на 10-15% меньше. Может это тоже влияет на кво линий?
ValeryS
Модератор
6556 / 5022 / 464
Регистрация: 14.02.2011
Сообщений: 16,763
21.07.2014, 08:30 #13
Цитата Сообщение от Tester64 Посмотреть сообщение
А какая разница? Пользователю все равно...
пользователю да
инженеру нет
можно иметь мощный сигнал и рядом источник помех и все, пакеты не доходят
что рисовать будем?
уровень на антенне или качество сигнала?
Tester64
395 / 356 / 43
Регистрация: 22.05.2013
Сообщений: 2,518
21.07.2014, 09:10 #14
Цитата Сообщение от ValeryS Посмотреть сообщение
пользователю да
инженеру нет
Я инженер, но подзабыл уже... Как определяется "уровень сигнала в GSM"? Кво каналов в диапазоне ограничено, они могут пересекаться (двое заняли один канал). Амплитуда сигнала в FM игнорируется ради помехоустойчивости - думаю в GSM еще сложнее. Но уровень сигнала как амплитуда уже давно не имеет значения. Только количество свободных каналов и их устойчивость к помехам... А эти 2 параметра ИМХО вполне можно обозвать "качеством сигнала" по некой сложной формуле, зашитой в чип...

Меня возмущает лишь тот факт что система для индикатора использует одни данные, а в API от гугла выдает совсем другие, не совместимые с системными. И вообще гугл сильно отстает от мира мобильного рынка - где сигнал для второй симки? Нашел только какие-то исходники на си с хелпами на англо-китайском...
raxp
10155 / 6542 / 477
Регистрация: 28.12.2010
Сообщений: 21,166
Записей в блоге: 1
21.07.2014, 12:29 #15
А можно ли получить аналог команды +CSQ "изнутри"?
CSQ возвращает то же что и signalStrength.getGsmSignalStrength() (-113 dBm (слабый сигнал) до -50 dBm (сильный сигнал)) + качество сигнала, через запятую.

Если бы вы порылись в кишках класса http://developer.android.com/referen...lStrength.html, то нашли бы и getGsmBitErrorRate и SNR/
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.07.2014, 12:29
Привет! Вот еще темы с ответами:

Определить уровень громкости в системе - Visual Basic .NET
Доброго времени суток... Люди подскажите как получить число на сколько сейчас включен звук .. ) Чёт очень много пролазил .. но нашёл только...

Определить ширину ДН и уровень боковых лепестков. - Matlab
Доброго времени суток! У меня есть 2 вопроса... 1) Как сделать, чтобы график в 3D имел равномерное распределение как на картинке ...

Определить уровень комментированности заданного текста - C (СИ)
Всем Привет. Помогите пожалуйста с заданием, у меня проблема с кодом. В файле дан исходный текст программы на языке С. Уровнем...

Определить уровень Ферми и Концентрацию электронов - Квантовая и атомная физика
Найти положение уровня Ферми и температурную зависимость концентрацию электронов в собственном полупроводнике. Как изменится концентрация...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
21.07.2014, 12:29
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru