Compare commits
4 Commits
401ef2c101
..
master
| Author | SHA1 | Date | |
|---|---|---|---|
| fb94236379 | |||
| 18bb3335c6 | |||
| 87f752a0f8 | |||
| e2f224e622 |
@@ -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` перезаписывает паспорт узла,
|
||||||
правки руками на узле до следующего прогона.
|
правки руками на узле до следующего прогона.
|
||||||
|
|
||||||
## Приёмка
|
## Приёмка
|
||||||
|
|||||||
@@ -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
|
||||||
@@ -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"
|
||||||
@@ -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
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user