Данный пример реализует взаимодействие с анализатором спектра Satis AF-05 в языке программирования Python. Вы можете использовать готовый исполняемый файл satis.exe или собрать собственную версию исполняемого файла из исходных кодов.
Перед началом работы необходимо подключить анализатор к компьютеру, на котором будет запускаться программа примера. Нужно соединить кабелем Ethernet анализатор и компьютер напрямую либо через коммутатор. По умолчанию у анализатора установлен IP адрес 192.168.0.100. Сетевую карту компьютера, соединенную с анализатором, нужно настроить на работу в данной подсети.
Если настройки сделаны правильно и соединение работает, при открытии в браузере адреса 192.168.0.100 вы должны увидеть что-то похожее на следующую картинку.
Пример реализует два режима работы с анализатором - чтение данных сигнала в заданном диапазоне частот и режим чтения данных для заданной частоты.
Команда 'read' реализует режим чтения данных в заданном диапазоне частот с заданными параметрами.
satis.exe read --address=192.168.1.100 --freq_start=1400000000 --freq_end=1400330000 --video=50 --rbw=0 --atten=0 --with_data
В данном режиме программа принимает следующие параметры
- --address строка адреса, по которому доступен анализатор. по умолчанию '192.168.0.100'
- --freq_start начальная частота диапазона в герцах. допустимые значения от 950000000 до 2150000000. по умолчанию 950000000.
- --freq_end конечная частота диапазона в герцах. допустимые значения от 950000000 до 2150000000. по умолчанию 2150000000.
- --video частота усреднения результата на периоде времени в герцах. допустимые значения от 0.1 (период 10 секунд) до 6400 (период 0.156 миллисекунды). по умолчанию 100.
- --rbw разрешение по частоте. целое число от 0 до 4. по умолчанию 2 (400 Гц).
- 0: 6400 Гц
- 1: 1600 Гц
- 2: 400 Гц
- 3: 100 Гц
- 4: 25 Гц
- --atten аттенюация входного сигнала. целое число от 0 до 6. по умолчанию 0 (0 дБ).
- 0: 0 дБ
- 1: 5 дБ
- 2: 10 дБ
- 3: 16 дБ
- 4: 21 дБ
- 5: 26 дБ
- 6: 31 дБ
- --with_data вывод на экран значений прочитанных данных. по умолчанию выводится только размер массива считанных данных.
В процессе работы команда выводит на экран данные, получаемые от анализатора. По завершении цикла чтения данных выводится общее количество считанных значений сигнала.
Команду 'sweep' можно использовать в ситуации, когда вас интересует значение сигнала на заранее известной вам частоте. Команда максимально быстро выведет список значений сигнала в окрестностях заданной частоты.
satis.exe sweep --address=192.168.1.100 --freq_center=1450000000 --datafreq=10 --rbwsweep=0 --atten=0
В данном режиме программа принимает следующие параметры
- --freq_center интересующая частота в Гц. от 950000000 до 2150000000. по умолчанию 950000000.
- --datafreq период осреднения в Гц. от 1.0 до 20.0. по умолчанию 10.
- --rbwsweep разрешение по частоте. целое число от 0 до 2. по умолчанию 0 (6400 Гц).
- 0: 6400 Гц
- 1: 1600 Гц
- 2: 400 Гц
Остальные параметры имеют то же значение, что и в команде 'read'.
Команда выведет на экран данные, полученные от анализатора.
Примечание для разработчиков.
Режим работы 'sweep' имеет особенность, связанную с периодичностью опроса анализатора в этом режиме. Если интервал между запросами к открытому веб-сокету анализатора одна минута или более, то анализатор аварийно закрывает сеанс работы после нескольких чтений.
ConnectionResetError: [WinError 10054] Удаленный хост принудительно разорвал существующее подключение
При уменьшении интервала между чтениями веб-сокета до 1 секунды, аварийных ситуаций не возникает.
Перечень средств разработки, необходимых для сборки исполняемого файла. Скачать и установить:
- Python 3
- Git for Windows для доступа к репозитарию исходных кодов
- GNU Unix Utils для операций с makefile
Затем
git clone [email protected]:vb64/Satis_AF05.git
cd Satis_AF05
make setup PYTHON_BIN=/path/to/python3.exe
make tests
make exe
Файл satis.exe
будет создан в каталоге dist
.
Детальное описание всех режимов работы анализатора можно получить из документации на устройство.
Если у вас возникли трудности при программном доступе к анализатору, вы можете обратиться в техподдержку удобным вам способом или задать вопрос через форму на сайте производителя.