{"id":17543178,"url":"https://github.com/vb64/satis_af05","last_synced_at":"2025-07-01T01:37:35.089Z","repository":{"id":44819308,"uuid":"447269967","full_name":"vb64/Satis_AF05","owner":"vb64","description":"Example of using Satis AF-05 spectrum analyzer API with Python","archived":false,"fork":false,"pushed_at":"2023-01-07T16:42:04.000Z","size":589,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-02-03T15:55:33.422Z","etag":null,"topics":["example","python","satis","spectrum-analysis"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/vb64.png","metadata":{"files":{"readme":"README.md","changelog":"history.txt","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2022-01-12T15:27:55.000Z","updated_at":"2022-01-18T16:45:38.000Z","dependencies_parsed_at":"2023-02-07T16:32:28.456Z","dependency_job_id":null,"html_url":"https://github.com/vb64/Satis_AF05","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vb64%2FSatis_AF05","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vb64%2FSatis_AF05/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vb64%2FSatis_AF05/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vb64%2FSatis_AF05/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/vb64","download_url":"https://codeload.github.com/vb64/Satis_AF05/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246144218,"owners_count":20730373,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["example","python","satis","spectrum-analysis"],"created_at":"2024-10-21T00:23:08.209Z","updated_at":"2025-03-29T05:27:56.641Z","avatar_url":"https://github.com/vb64.png","language":"Python","readme":"# Пример использования анализатора спектра Satis AF-05 в Python\n[![GitHub Workflow Status](https://img.shields.io/github/actions/workflow/status/vb64/Satis_AF05/pep257.yml?label=Pep257\u0026style=plastic\u0026branch=main)](https://github.com/vb64/Satis_AF05/actions?query=workflow%3A%22satis+pep257%22)\n[![GitHub Workflow Status](https://img.shields.io/github/actions/workflow/status/vb64/Satis_AF05/tests.yml?label=Python%203.7-3.10\u0026style=plastic\u0026branch=main)](https://github.com/vb64/Satis_AF05/actions?query=workflow%3A%22satis+tests%22)\n[![Codacy Badge](https://app.codacy.com/project/badge/Grade/df385d9214b94778b22c630c7d4baefa)](https://www.codacy.com/gh/vb64/Satis_AF05/dashboard?utm_source=github.com\u0026amp;utm_medium=referral\u0026amp;utm_content=vb64/Satis_AF05\u0026amp;utm_campaign=Badge_Grade)\n[![Codacy Badge](https://app.codacy.com/project/badge/Coverage/df385d9214b94778b22c630c7d4baefa)](https://www.codacy.com/gh/vb64/Satis_AF05/dashboard?utm_source=github.com\u0026utm_medium=referral\u0026utm_content=vb64/Satis_AF05\u0026utm_campaign=Badge_Coverage)\n\nДанный пример реализует взаимодействие с анализатором спектра Satis AF-05 в языке программирования Python.\nВы можете использовать готовый исполняемый файл [satis.exe](https://github.com/vb64/Satis_AF05/releases/tag/ver.1.1) или [собрать собственную версию](https://github.com/vb64/Satis_AF05#%D1%81%D0%B1%D0%BE%D1%80%D0%BA%D0%B0-%D1%81%D0%BE%D0%B1%D1%81%D1%82%D0%B2%D0%B5%D0%BD%D0%BD%D0%BE%D0%B9-%D0%B2%D0%B5%D1%80%D1%81%D0%B8%D0%B8-%D0%B8%D1%81%D0%BF%D0%BE%D0%BB%D0%BD%D1%8F%D0%B5%D0%BC%D0%BE%D0%B3%D0%BE-%D1%84%D0%B0%D0%B9%D0%BB%D0%B0-%D0%B8%D0%B7-%D0%B8%D1%81%D1%85%D0%BE%D0%B4%D0%BD%D1%8B%D1%85-%D0%BA%D0%BE%D0%B4%D0%BE%D0%B2) исполняемого файла из исходных кодов.\n\n[![Satis AF-05](/img/device.jpg)](http://www.satis-tl.ru/products/oborudovanie-sistem-upravleniya-i-kontrolya-setey-sputnikovoy-svyazi/analizator-chastotnyy-af-4/)\n\n## Подключение Satis AF-05 к компьютеру\n\nПеред началом работы необходимо подключить анализатор к компьютеру, на котором будет запускаться программа примера.\nНужно соединить кабелем Ethernet анализатор и компьютер напрямую либо через коммутатор.\nПо умолчанию у анализатора установлен IP адрес 192.168.0.100. Сетевую карту компьютера, соединенную с анализатором, нужно настроить на работу в данной подсети.\n\nЕсли настройки сделаны правильно и соединение работает, при открытии в браузере адреса 192.168.0.100 вы должны увидеть что-то похожее на следующую картинку.\n\n![Веб-интерфейс](/img/browser.jpg)\n\n## Считывание данных анализатора\n\nПример реализует два режима работы с анализатором - чтение данных сигнала в заданном диапазоне частот и режим чтения данных для заданной частоты.\n\n### Команда 'read'\n\nКоманда 'read' реализует режим чтения данных в заданном диапазоне частот с заданными параметрами.\n\n```bash\nsatis.exe read --address=192.168.1.100 --freq_start=1400000000 --freq_end=1400330000 --video=50 --rbw=0 --atten=0 --with_data\n```\n\nВ данном режиме программа принимает следующие параметры\n\n-   --address строка адреса, по которому доступен анализатор. по умолчанию '192.168.0.100'\n-   --freq_start начальная частота диапазона в герцах. допустимые значения от 950000000 до 2150000000. по умолчанию 950000000.\n-   --freq_end конечная частота диапазона в герцах. допустимые значения от 950000000 до 2150000000. по умолчанию 2150000000.\n-   --video частота усреднения результата на периоде времени в герцах. допустимые значения от 0.1 (период 10 секунд) до 6400 (период 0.156 миллисекунды). по умолчанию 100.\n-   --rbw разрешение по частоте. целое число от 0 до 4. по умолчанию 2 (400 Гц).\n    - 0: 6400 Гц\n    - 1: 1600 Гц\n    - 2: 400 Гц\n    - 3: 100 Гц\n    - 4: 25 Гц\n-   --atten аттенюация входного сигнала. целое число от 0 до 6. по умолчанию 0 (0 дБ).\n    - 0: 0 дБ\n    - 1: 5 дБ\n    - 2: 10 дБ\n    - 3: 16 дБ\n    - 4: 21 дБ\n    - 5: 26 дБ\n    - 6: 31 дБ\n-   --with_data вывод на экран значений прочитанных данных. по умолчанию выводится только размер массива считанных данных.\n\nВ процессе работы команда выводит на экран данные, получаемые от анализатора. По завершении цикла чтения данных выводится общее количество считанных значений сигнала.\n\n### Команда 'sweep'\n\nКоманду 'sweep' можно использовать в ситуации, когда вас интересует значение сигнала на заранее известной вам частоте.\nКоманда максимально быстро выведет список значений сигнала в окрестностях заданной частоты.\n\n```bash\nsatis.exe sweep --address=192.168.1.100 --freq_center=1450000000 --datafreq=10 --rbwsweep=0 --atten=0\n```\n\nВ данном режиме программа принимает следующие параметры\n\n-   --freq_center интересующая частота в Гц. от 950000000 до 2150000000. по умолчанию 950000000.\n-   --datafreq период осреднения в Гц. от 1.0 до 20.0. по умолчанию 10.\n-   --rbwsweep разрешение по частоте. целое число от 0 до 2. по умолчанию 0 (6400 Гц).\n    - 0: 6400 Гц\n    - 1: 1600 Гц\n    - 2: 400 Гц\n\nОстальные параметры имеют то же значение, что и в команде 'read'.\n\nКоманда выведет на экран данные, полученные от анализатора.\n\n**Примечание для разработчиков.**\n\nРежим работы 'sweep' имеет особенность, связанную с периодичностью опроса анализатора в этом режиме.\nЕсли интервал между запросами к открытому веб-сокету анализатора одна минута или более, то анализатор аварийно закрывает сеанс работы после нескольких чтений.\n\n```bash\nConnectionResetError: [WinError 10054] Удаленный хост принудительно разорвал существующее подключение\n```\n\nПри уменьшении интервала между чтениями веб-сокета до 1 секунды, аварийных ситуаций не возникает.\n\n## Сборка собственной версии исполняемого файла из исходных кодов\n\nПеречень средств разработки, необходимых для сборки исполняемого файла. Скачать и установить:\n\n-   [Python 3](https://www.python.org/downloads/release/python-3810/)\n-   [Git for Windows](https://git-scm.com/download/win) для доступа к репозитарию исходных кодов\n-   GNU [Unix Utils](http://unxutils.sourceforge.net/) для операций с makefile\n\nЗатем\n\n```bash\ngit clone git@github.com:vb64/Satis_AF05.git\ncd Satis_AF05\nmake setup PYTHON_BIN=/path/to/python3.exe\nmake tests\nmake exe\n```\n\nФайл `satis.exe` будет создан в каталоге `dist`.\n\n## Поддержка Сатис\nДетальное описание всех режимов работы анализатора можно получить из [документации на устройство](http://satis-tl.ru/documents_support/documents/).\n\nЕсли у вас возникли трудности при программном доступе к анализатору, вы можете [обратиться в техподдержку](https://www.satis-tl.ru/documents_support/) удобным вам способом или задать вопрос через [форму на сайте производителя](https://satis-tl.ru/contacts/#moscow).\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvb64%2Fsatis_af05","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvb64%2Fsatis_af05","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvb64%2Fsatis_af05/lists"}