Сканер диапазона 2,4ГГц из готовых модулей
Оптимально - передавать по строкам.
А какие параметры строки(длина, кол-во стоп-битов)?
Строка принимается в буфер порта, быстро считывается в память, и начинает отрисовываться
Если я правильно понял, отрисовка спектра будет производится кусками размером определяемом кол-вом символов в строке?
P.S. Вы WinFormApplicatin используете?
To MPetrovich.
Длина строки определяется сканером. В этой теме 160 или 204 байта, плюс маркер.
В качестве маркера можно, например, использовать 0x00 а сигналы каналов сделать в диапазоне 1 - 255. Можно использовать комбинацию байт, но в данном случае не стоит.
Отрисовка построчно. Алгоритм например такой: Проверяется число байт в буфере COM порта. Если больше длины строки - считываем до маркера (включительно) и рисуем строку. Если количество байт в буфере меньше длины строки - ожидаем, когда накопится. Далее все это в цикле. (На самом деле не все так просто. В этом алгоритме нет времени на опрос событий формы (окна), поэтому все заткнется. Скорее всего придется использовать таймер. (Или переходить к многопоточности 😉 ). Главное - отрисовка должна быть быстрее, чем период прихода строк.
P.S. Вы WinFormApplicatin используете?
Не понял вопроса. Я обычно использую VB2008 (а если удается - то и VB6). Другие языки для меня “не родные” (хотя случается…). При выборе типа проекта выбираю WinFormApplication. Или здесь о другом?
P.S. Что понимается под “отрисовка строки” ? IMHO достаточно наглядно представление в виде “водопада” (термин из радиолюбительской практики. SDR приемники).
не 2.4 правда…
Сергей, поделитесь более подробной информацией об этом проекте?
Переделал приложение на основе идеи Buranov_P, за что ему большое спасибо!
Теперь периодичность вывода спектра на экран порядка 200мкСек * 164канала = 33 мСек, видно как циклически бегает по диапазону частота какого-то устройства (вероятно мышь на 2,4ГГц). Есть постоянно торчащие палки примерно одного уровня мощности сигнала. Вобщем - картинка стала вполне информативной и теперь не требуется никаких доп. настроек.
Давно хотел сделать вывод на экран компа в реальном времени. Наконец дошли руки. Выводятся 200 (не 100 как написано на картинке) строк по 206 байт в строке. Изображение в режиме “водопада”, строки смещаются вверх.
При скорости порта 19200 теоретически можно достичь 10 строк/сек, т.е. строка пройдет экран за 20 сек. Реально получилось 25 сек. В качестве датчика использован мелкий аналог сс2500 (см пост #1). Скетч из #12 поста переделан - убрано все что касается вывода на дисплей и добавлен вывод на USART 19200 baud. Так же добавлены маркеры строки (0х00), а уровень сигнала в пределах 1 - 255. На видео виден мой WiFi в режиме, когда нет активного обмена, и в режиме просмотра фильма на планшете. Канал WiFi установлен 7.
Вот бы этот проект но от 400 до 2400 мгц, технически сложно? или достаточно выбрать подходящий модуль?
Именно в выборе модуля вся сложность и заключается.
Мне неизвестен недорогой автономный модуль, работающий в безразрывном диапазоне 400-2400.
Прежде всего, при такой разности частот это уже очень разные антенны и параметры цепей согласования и антенных фильтров.
Соответственно, в идеале должны быть коммутируемые антенные цепи.
В итоге это составит 90% конструкции дорогого профессионального сканера, что лишает затею всякого смысла.
Еще один момент, который я всегда особо подчеркиваю: модуль должен уметь выдавать наружу измеренное значение уровня сигнала (RSSI) на любой рабочей частоте диапазона, и независимо от того, установлена связь с другим модулем или нет. Некоторые модули допускают измерение RSSI только после того, как установлена связь на заданном канале с другим таким же модулем. Разумеется, нам это совершенно не подходит.
Вот бы этот проект но от 400 до 2400 мгц
RTL SDR
Since a typical R820T/2 RTL-SDR’s maximum frequency limit is about 1.7 GHz, an external downconverter circuit is required.
Это уже концептуально иная штуковина получается))
Хотя… с нынешними контроллерами можно, пожалуй, взять даунковертер за $5, обычный SDR донгл за $18, и замутить эмуляцию USB хоста с дисплейчиком на каком-нибудь модном контроллере, но это получится, как говорится, “well frankensteined device” 😁
не будет простоты конструкции выходного дня за 5 копеек. Опять же, мой любительский уровень программирования не для таких задач.
Вот например gaastech.blogspot.com/2008/10/blog-post.html
взять даунковертер за $5, обычный SDR донгл за $18, и замутить эмуляцию USB хоста с дисплейчиком на каком-нибудь модном контроллере
Проще воткнуть в планшет на Win8.1/Win10. Сейчас их много появилось. Ссылку на даунковертер за $5 можно ?
Повторю, что RTL SDR воткнутый в разъем OTG андроидного или Win- гаджета это принципиально иная концепция устройства. Тут паять-то нечего, воткнул одно в другое, софт поставил и работает. Это не будет конструкция выходного дна для тех, кто хочет попаять и поковырять ардуинку.
Упоминание даунконвертера за $5 я встречал в статье на одном из зарубежных сайтов, где приводился перечень компонентов с расчетом стоимости.
Мне это не нужно, поэтому ссылку не сохранил и привести не могу. Погуглите по запросу “RTL SDR Android”, наверняка вам она попадется.
Здравствуйте, Валерий!
Собрал Ваше устройство. Заработало сразу, спасибо за подробные комментарии.
В процессе испытаний появились вопросы. Устройство никак не реагирует на
подключение антенны. Уровень шума должен был увеличиться при подключении антенны и на экране данные
изменяются относительно какого то уровня, а не от нуля. В какую строну копать?
Заранее спасибо.
Не, это еще не совсем заработало… Конечно, некоторый уровень шума на входе будет всегда, это правильно.
Но этот уровень должен быть меньше, чем у вас. И конечно, не должен быть настолько ровный по всему спектру.
При подключении антенны должны сразу появляться пики от ближайших соседских вайфаев.
Картинка выглядит так, будто приемный модуль не получает команды настройки от контроллера,
а просто стоит на одной частоте и ловит шум. Прежде всего, надо проверить правильность подключения
приемника по шине SPI.
Вот теперь другое дело. Но все равно непонятно, почему такой высокий уровень шума.
Возможно, конечно, у вас там просто фон такой неудачный. На картинке видны небольшие холмики, это явно какие-то wifi роутеры.
И что, подключение антенны ничего не меняет? Дело в том, что в приемнике цепь АРУ хоть и слабо, но все-таки работает.
Насколько я сейчас помню (полтора года прошло) там коэффициент связи по “быстрой” петле почти нулевой, иначе АРУ
будет срабатывать и давить пики - и собственно спектроскоп-то не получится. АРУ будет выравнивать.
Но “медленная” петля работает. Поэтому если антенна дохлая, то приемник задирает усиление в максимум и показывает высокие собственные шумы.
Я подключал разные антенны с одинаковым результатом.
Мне кажется это такой приёмник. Там рядом с ВЧ разъёмом
расположены контактные площадки видимо для встроенной
антенны.
Ларчик открылся просто. Хорошо, что был второй приёмник.
Теперь всё как у Вас. Большое спасибо за советы.
Дохлый приемник оказался? Когда я рылся по форумам по поводу СС2500, то пару раз попадались жалобы на приемники с низкой чувствительностью и шумом.
Похоже такой попался и по закону подлости я
его первым запаял.