Wirenboard 6: сетевые настройки контроллера на удаленном объекте


В данной статье освещаются сетевые аспекты профессиональной инсталляции контроллера на производственных и коммерческих объектах.

Выбор сетевой комплектации контроллера

Контроллеры Wiren Board 6 поставляются с разным набором сетевых устройств. Необходимо понять, в каких условиях будет эксплуатироваться контроллер и какая комплектация будет оптимальной.

Минимальная комплектация

Контроллеры Wiren Board 6 в любой комплектации имеют два Ethernet-интерфейса 100 Мбит/с (eth0, eth1) на борту.

Расширенные возможности

Опционально контроллеры поставляются с Wi-Fi-интерфейсом (wlan0) (802.11bgn 2.4G), с 3G-модемом (WCDMA/HSPA, GSM/GPRS/EDGE) или 2G-модемом (GPRS). С помощью любого из них вы можете подключить контроллер к интернету, а с помощью Ethernet и Wi-Fi — еще и к локальной сети. 3G-модем реализован на чипе SIMCom SIM5300E, 2G-модем реализован на чипах SIMCom SIM800 или Neoway M660A, Wi-Fi — на чипе Realtek 8723BU.

Заводская конфигурация сетевых устройств

Ethernet

В заводской конфигурации в контроллере настроены оба Ethernet-интерфейса и Wi-Fi и loopback. Файл сетевых настроек — /etc/network/interfaces. Интерфейсы eth0/1 не имеют фиксированного адреса и получают сетвые настройки по DHCP.

Wi-Fi

На Wi-Fi интерфейсе wlan0 по умолчанию поднята открытая точка доступа, с фиксированным адресом 192.168.42.1, клиенты получают адреса по DHCP, которые раздает демон dnsmasq, в диапазоне 192.168.42.50 — 192.168.42.150. SSID беспроводной сети контроллера формируется из префикса “WirenBoard-” и серийного номера контроллера, нанесенного на боковой наклейке. В беспроводной сети контроллер имеет не только IP-адрес, но и DNS-алиасы для удобства подключения, wiren, wiren.local, wiren_board, wirenboard.local, wirenboard.

GPRS

Подключение к сети передачи данных сотовых операторов не включено по умолчанию и требует настройки. Контроллер имеет да разъема для установки СИМ-карт, но в настоящее время программно поддерживается только первый.

Опционально контроллер комплектуется 3G или 2G-модемами (модемы несъемные и распаиваются на плате на производстве).

3G-модем

Модем представлен в системе двумя устройствами: /dev/ttyGSM (линк на один из консольных портов ttymxc), подключенного к UART-интерфейсу чипа модема, и составного USB-устройства /dev/ttyACM0-6, для коммуникации используется ttyACM0. Ограничения UART-порта не позволяют реализовать весь потенциал скорости передачи данных в 3G-сетях (теоретически до 7,2 Мбит/с на приём и до 5,76 Мбит/с на передачу). Порт ttyACM0 ограничен только скоростью передачи данных интерфейса USB2.0 (теоретически — до 280 Мбит/с).

Наличие двух интерфейсов позволяет одновременно использовать первое устройство (/dev/ttyGSM) для отправки AT-команд (узнать уровень сигнала сотовой связи, отправить SMS, USSD-запрос баланса и проч.) через программы minicom или gammu, а второе (/dev/ttyACM0) — для сетевой коммуникации.

В контроллере доступна аппаратное управление включением/выключением модема через его вход PWRKEY, состояние которого управляется одним из GPIO процессора. Для пользователя интерфейс управления питанием модема предоставляет команда wb-gsm с опциями on, off, reset, restart_if_broken.

2G-модем

Максимальная скорость передачи данных в GPRS составляет 85,6 кбит/с, чего явно недостаточно для передачи больших объемов данных. GPRD-канал может использоваться для доступа к интерфейсу командной строки (ssh) или для отправки SMS. 2G-модемы представлены в системе одним устройством, /dev/ttyGSM. Одновременная передача данных и AT-команд в 2G-модеме не реализована.

GSM-антенны

Контроллер опционально комплектуется одной из двух GSM-антенн: выносной, на кабеле 2,5м, с коэффициентом усиления 3,5 дБ, или короткой штыревой антенной, навинчивающейся прямо на SMA(female)-разъем контроллера. При монтаже контроллера в металлических боксах следует использовать выносную антенну. Штатные антенны контроллера обеспечивают связь в условиях хорошего приема. В сложных радиоусловиях необходимо приобретать антенны с бóльшим коэффициентом усиления или направленные антенны. Диапазон частот 3G-антенн — 1900-2100 МГц, 2G — 900/1800 МГц. Разъем кабеля антенны — SMA(male).

Настройка сетевых интерфейсов

Настройка Ethernet-интерфейсов

Часто возникает необходимость, чтобы контроллер имел постоянный адрес в локальной сети. Это достигается либо настройками DНCP-сервера (привязкой IP-адреса к MAC-адресу сетевого интерфейса контроллера), либо явным указанием IP-адреса в сетевых настройках.

Рассмотрим более подробно, как задать фиксированный адрес на Ethernet-интерфейсе.

Для настроек статического адреса задайте следующую конфигурацию:

       
 auto eth0
 iface eth0 inet static
 address 192.0.2.7
 netmask 255.255.255.0
 gateway 192.0.2.254
 hostname Wirenboard


По умолчанию, если адрес статический, используются DNS-сервера, перечисленные в файле /etc/resolv.conf, символическая сыылка на /mnt/data/etc/resolv.conf.

Можете добавлять свои DNS-сервера по аналогии:

 nameserver 192.168.0.1
 nameserver 8.8.8.8
 nameservеr 8.8.4.4

Эти сервера использует сервис dnsmasq, который обслуживает локальные DNS-запросы на контроллере. Чтобы понять, какие именно upstream-сервера используются dnsmasq в настоящий момент, выполните команды

 service dnsmasq stop
 dnsmasq --no-daemon --log-queries
 ^C
 service dnsmasq start  

Программа dnsmasq выведет в консоль, какие сервера используются, например:

 dnsmasq: using nameserver 192.168.0.1#53
 dnsmasq: using nameserver 8.8.8.8#53
 dnsmasq: using nameserver 8.8.4.4#53

Настройка Wi-Fi

Параметры точки доступа определяет демон hostapd (файл настроек /etc/hostapd.conf). Чтобы подключаться к контроллеру по Wi-Fi по защищенному каналу, допишите в конец файла /etc/hostapd.conf следующую конфигурацию:

wpa=2
wpa_passphrase=your_password
wpa_key_mgmt=WPA-PSK
wpa_pairwise=TKIP CCMP
rsn_pairwise=TKIP CCMP

Перезапустите hostapd: /etc/init.d/hostapd restart, после чего подключение к контроллеру по Wi-Fi будет возможно только с паролем your_password.

Пример настройки Wi_Fi адаптера для подключения к локальной сети можно найти в нашей wiki.


Настройка PPP

На контроллере предустановлен демон pppd, который используется для создания подключения к сети провайдера через 3G/2G-модем. Демон pppd создает при подключении сетевой интерфейс ppp (ppp0 по умолчанию). В заводской конфигурации настройки порта ppp0 закомментированы, и установления соединения с провайдером сотовой связи не происходит. В нашей Wiki мы рекомендуем использовать следующие настройки для интерфейса ppp0 в файле /etc/network/interfaces:

auto ppp0 iface ppp0 inet ppp provider mts

  1. Рестартуем модем, если он завис

pre-up wb-gsm restart_if_broken

  1. Затем ждем, пока он загрузится и найдет сеть.

pre-up sleep 10

Даже если модем находится в зависшем или отключенном состояниии, команда pre-up wb-gsm restart_if_broken перед началом установления соединения перезагрузит его и модем будет гарантированно доступен. Десятисекундной задержки ( pre-up sleep 10) перед установлением соединения обычно хватает, чтобы сетевое соединение установилось с первого раза.

Строка provider заставляет pppd искать файл настроек для конкретного провайдера в директории /etc/ppp/peers, в нашем случае это файл /etc/ppp/peers/mts. В целях совместимости в качестве устройства модема в заводской настройке в этом файле указано использовать устройство /dev/ttyGSM. Если на вашем контроллере установлен 3G-модем, замените это устройство его на более быстрое /dev/ttyACM0.

Чтобы при обрыве соединения контроллер не прекращал бы попытки установить связь, в файле провайдера /etc/ppp/peers/ должны быть раскомментированы опции

persist maxfail 0

Параметры протокола пакетной передачи данных и номера для соединения для каждого провайдера хранятся в директории /etc/chatscripts. В большинстве случаев ничего менять в этих файлах не придется.