Compare commits

..

3 Commits

Author SHA1 Message Date
Arseny 18bb3335c6 add Alt install 2026-10-03 18:54:52 +03:00
Arseny 87f752a0f8 [UPDATE] README: ansible на Alt Linux 2026-10-03 18:40:08 +03:00
Arseny e2f224e622 [UPDATE] параметры запуска сканера в inventory/group_vars/all/scanner.yml 2026-10-03 18:38:26 +03:00
5 changed files with 31 additions and 11 deletions
+14 -6
View File
@@ -13,6 +13,11 @@ Wi-Fi нужен только на время установки пакетов
- управляющая машина: `ansible` с коллекциями `community.general` и - управляющая машина: `ansible` с коллекциями `community.general` и
`ansible.posix`, `rsync`, `sshpass` (только для `bootstrap.yml`), `ansible.posix`, `rsync`, `sshpass` (только для `bootstrap.yml`),
рядом лежит каталог `../hackrf-scanner` (переменная `scanner_src`); рядом лежит каталог `../hackrf-scanner` (переменная `scanner_src`);
Alt Linux p11 и Sisyphus: `apt-get install ansible
python3-module-ansible-collections-ansible-posix sshpass rsync openssh-clients`;
на p10 пакет `ansible` 2.9 не подходит, нужны `ansible-core
python3-module-packaging glibc-locales` и `ansible-galaxy collection install
community.general ansible.posix`;
- узлы: Raspberry Pi OS Lite (Debian 13, NetworkManager), пользователь `pi` - узлы: Raspberry Pi OS Lite (Debian 13, NetworkManager), пользователь `pi`
с sudo без пароля, статический адрес 11.0.0.x на eth0; на полном образе с sudo без пароля, статический адрес 11.0.0.x на eth0; на полном образе
с рабочим столом первый `full-upgrade` по Wi-Fi идёт больше часа; с рабочим столом первый `full-upgrade` по Wi-Fi идёт больше часа;
@@ -35,15 +40,18 @@ ansible-playbook env.yml # паспорт ~/node.env и
```bash ```bash
# 1. расстановка: x, y узлов и server_ip в inventory/hosts.yml # 1. расстановка: x, y узлов и server_ip в inventory/hosts.yml
ansible-playbook env.yml --diff # 2. паспорта на узлы ansible-playbook env.yml --diff # 2. паспорта на узлы
ansible-playbook scanner-start.yml # 3. peleng на всех узлах # 3. частота и усиления: inventory/group_vars/all/scanner.yml
ansible-playbook scanner-start.yml -e scanner_args="--freq 2437 --lna 8" ansible-playbook scanner-start.yml # 4. peleng на всех узлах
ansible-playbook scanner-start.yml -e scanner_args="--freq 2437" # разово поверх
ansible-playbook scanner-stop.yml # HackRF свободен (scan, калибровка) ansible-playbook scanner-stop.yml # HackRF свободен (scan, калибровка)
``` ```
`scanner-start.yml` на каждом узле зовёт `node.py start <профиль> <флаги>`: `scanner-start.yml` на каждом узле зовёт `node.py start <профиль> <флаги>`:
останавливает прежний peleng и любой процесс, держащий HackRF, переинициализирует останавливает прежний peleng и любой процесс, держащий HackRF, переинициализирует
USB и запускает peleng в фоне с логом `/tmp/peleng.log`. Профиль и флаги по USB и запускает peleng в фоне с логом `/tmp/peleng.log`. Профиль и флаги лежат в
умолчанию - `scanner_profile` и `scanner_args` в инвентаре. peleng читает паспорт `inventory/group_vars/all/scanner.yml` (`scanner_profile`, `scanner_args`); узлу
можно задать своё значение в `inventory/hosts.yml`, разовый запуск поверх всего
через `-e`. peleng читает паспорт
только при старте, поэтому после `env.yml` нужен повторный `scanner-start.yml`. только при старте, поэтому после `env.yml` нужен повторный `scanner-start.yml`.
Новый узел сначала вписывается в `inventory/hosts.yml`. Смена роутера: правка Новый узел сначала вписывается в `inventory/hosts.yml`. Смена роутера: правка
@@ -70,8 +78,8 @@ USB и запускает peleng в фоне с логом `/tmp/peleng.log`. П
`inventory/hosts.yml`: адрес узла в проводной сети, `sdr_id`, серийник HackRF, `inventory/hosts.yml`: адрес узла в проводной сети, `sdr_id`, серийник HackRF,
координаты x, y в метрах. Общие переменные: `server_ip` (куда узлы шлют замеры), координаты x, y в метрах. Общие переменные: `server_ip` (куда узлы шлют замеры),
`scanner_dir` (каталог сканера на узле), `scanner_profile` и `scanner_args` `scanner_dir` (каталог сканера на узле). Параметры запуска сканера - в
(запуск по умолчанию). Инвентарь главный: `env.yml` перезаписывает паспорт узла, `inventory/group_vars/all/scanner.yml`. Инвентарь главный: `env.yml` перезаписывает паспорт узла,
правки руками на узле до следующего прогона. правки руками на узле до следующего прогона.
## Приёмка ## Приёмка
+3
View File
@@ -0,0 +1,3 @@
apt-get install ansible-core python3-module-packaging glibc-locales sshpass rsync openssh-clients
export LANG=en_US.UTF-8
ansible-galaxy collection install community.general ansible.posix
+12
View File
@@ -0,0 +1,12 @@
# Как запускать сканер: scanner-start.yml берёт эти значения на всех узлах.
# Правка тут, затем ansible-playbook scanner-start.yml.
#
# Узлу можно задать своё значение в inventory/hosts.yml (например, другой
# --lna у PortaPack node104), оно перекроет этот файл. Разовый запуск поверх
# всего: ansible-playbook scanner-start.yml -e scanner_args="--freq 2437".
#
# Профили node.py: dji24, vtx58, lte, pp24, pn24. Флаги peleng переопределяют
# профиль; калибровка сервера должна быть снята с теми же --lna и --vga.
scanner_profile: dji24
scanner_args: "--freq 2422 --lna 8"
-3
View File
@@ -7,9 +7,6 @@ all:
gitea_port: 2222 gitea_port: 2222
server_ip: 11.0.0.100 server_ip: 11.0.0.100
scanner_dir: /home/pi/hackrf-scanner scanner_dir: /home/pi/hackrf-scanner
# Запуск по умолчанию для scanner-start.yml; поверх: -e scanner_args="--freq 2437 --lna 8"
scanner_profile: dji24
scanner_args: ""
hosts: hosts:
node102: node102:
ansible_host: 11.0.0.102 ansible_host: 11.0.0.102
+2 -2
View File
@@ -1,7 +1,7 @@
# Запуск peleng на всех узлах одной командой node.py start: остановить прежний # Запуск peleng на всех узлах одной командой node.py start: остановить прежний
# peleng и любой процесс, держащий HackRF, переинициализировать USB, запустить # peleng и любой процесс, держащий HackRF, переинициализировать USB, запустить
# в фоне (лог /tmp/peleng.log). Профиль и флаги из инвентаря или поверх: # в фоне (лог /tmp/peleng.log). Профиль и флаги в inventory/group_vars/all/scanner.yml,
# ansible-playbook scanner-start.yml -e scanner_args="--freq 2437 --lna 8" # разово поверх: ansible-playbook scanner-start.yml -e scanner_args="--freq 2437"
- name: Запуск сканера на узлах - name: Запуск сканера на узлах
hosts: all hosts: all
gather_facts: false gather_facts: false