LINUX.ORG.RU

Управление WIFI и GSM соединением, включение модема

 ,


0

2

Добрый день.

Делаю небольшое embedded устройство, которое собирает данные и шлет на сервер. В качестве канала связи используется или WIFI, если есть доступная известная сеть, или GSM модем (на плате стоит EP-06, по USB подключенный). И wifi и gsm модем настроены, соединение поднимается и работает.

Вопрос в том, как лучше сделать выбор сети при запуске. Если есть доступная известная wifi сеть надо подключиться к ней. Если нет - включить модем (дернуть gpio ногу, например вызовом pre-up скрипта), подключиться через него, а на wifi интерфейсе сделать точку доступа.

Модем управляется через modemmanager.

Прежде, чем делать очередной велосипед из скриптов, решил посоветоваться, есть ли готовое решение или по крайней мере как в современных дистрибутивах предполагается решать такую задачу.

В качестве ОС использую armbian, соответственно есть network manager и systemd. Грубо говоря, обычный debian 11.

Попробуй Network Manager, там можно настроить желаемый порядок сетевых интерфейсов и он будет автоматически пытаться подключиться к сети в порядке предпочтения.

Еще использовать утилиты терминала, такие как «iwlist» и «nmcli». Вы можете написать скрипт

versetty777
()
Ответ на: комментарий от versetty777
#!/bin/bash

# Определяем, доступна ли wifi сеть
if ping -c 1 google.com; then
  # Если да, то используем wifi
  echo "Using WIFI"
else
  # Если нет, то включаем модем
  echo "Using GSM modem"
  sudo nmcli c up <modem-connection-name>
fi

скрипт проверяет, доступен ли google.com. Если да, значит WIFI работает и выводится сообщение «Using WIFI». Если нет, вызывается nmcli для подключения к GSM модему. Имя подключения GSM модема нужно заменить на свое.

versetty777
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.