gifts2017

Управление контроллером WiFi-сетей UniFi (Ubiquity) из 1С (8.3)

Опубликовал Сергей Филькин (FSerg) в раздел Программирование - Практика программирования

Это, конечно, громко сказано «управление», в моем случае я просто генерирую ваучеры с кодами доступа к WiFi сети из 1С:Предприятия 8.x, но по аналогии можно реализовать выполнение и других команд (типа забэкапиться, перезагрузиться и т.п.)

Вообще, кто сталкивался с попыткой как-то бюджетно реализовать доступ к Internet по WiFi в местах общего пользования (кафе, рестораны, гостиницы), тот быстро пришел к выводу, что обычные потребительские устройства (домашние d-link’и tp-link’и) не подходят. Они «умирают» буквально на нескольких подключениях, не говоря уже о стабильной работе с десятком коннектов. В реальных же бизнес-задачах требуется и большая скорость и большая безопасность, хотелось бы еще и «бесшовный» роуминг. Мы привыкли, что в корпоративном сегменте рулят всякие Cisco с ценами, как за чугунный завод. Но не так давно появились решения от Ubiquity. Они хороши не только железками, но самое главное своим бесплатным программным кросс-платформенным контролером с поддержкой API.

У Ubiquity неплохие возможности по настройке «гостевой» WiFi-сети. И чаще всего достаточно было бы изолировать WiFi сеть на уровне VLAN, и включить какие-нибудь ограничения, не заморачиваясь ваучерами.  

Но рассмотрим подробнее мою задачу. 

Есть медицинский центр, в медицинском центре есть неплохой безлимитный интернет, которым можно было бы поделиться с клиентами, пока они ожидают приема врача. Если мы просто сделаем открытую сеть (даже с ограничениями), то довольно быстро канал забьют: те же сотрудники медцентра с сотнями своих личных гаджетов, кроме того, в этом же здании есть и другие организации, которые тут же подключатся к этой открытой сети с интернетом. Один из бизнес-процессов медцентра заключается в том, что каждому посетителю печатается небольшая бумажка (талон) на которой указана в какой кабинет, к какому врачу и на какую услугу записан клиент. Эта бумажка помогает клиенту сориентироваться. И этот талон и подтолкнул на мысль, что было бы неплохо печатать на этом же талоне персональный код-доступа к WiFi-сети. (Сразу же вспоминаются аэропорты - там часто на чеках в кафе печатается пароль с ограниченным интернет-доступом). У web-морды ubiquity, конечно, есть собственный интерфейс для генерации и печати ваучеров с кодами-доступа. Но это и не удобно и простому персоналу давать доступ в этот интерфейс не хотелось (на генерируют там себе чего угодно :)). Хорошо, что API UniFi-контролера позволяет и сгенерировать, и получить список кодов доступа, ну а потом работать с ними в 1С не представляет сложностей.

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

Описанный выше пример также подходит и для гостиницы/отеля, кафе/ресторана.

Как я уже сказал выше, управляются точки доступа программным контроллером, возможно, благодаря этому мы получаем такое недорогое и функциональное решение. Кто-то может сказать: «блин, это еще отдельный комп на WiFi-ставить». Но я не думаю, что это большая проблема, почти в любой бизнес задаче даже на несколько компов, как правило, есть сервер, можно запускать контроллер на нем (чаще всего виртуальную linux-машинку поднимают). В кафе/ресторане можно запустить даже на POS-терминале (под Windows, запускается как служба). На Хабре кто-то на Rasberry PI запустил :)

Затянул с вступлением :) Просто хотелось акцентировать внимание, что решение от Ubiquity реально клевое! 

Ниже простенькая конфигурация. В ней есть тестовая обработка, которая максимально детализирует все общение с контролером (удобно для отладки).

Также реализован небольшой функционал в виде подсистемы, которую можно встраивать в свои конфигурации (в тот же 1С:Отель 8).

Работа проверена с контроллерами UniFi версии 3.2.7 - 3.2.10

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

Смысл такой, что каждый раз обращаться к контролеру за ваучером может быть «накладно», поэтому разумнее с какой-то периодичностью обращаться к контролеру и пополнять список «свободных» ваучеров в 1С. 

Для сериализации JSON я использую наработки ребят из компании KTC (они сделали чумовую штуку по интеграции 1С со Slack’ом) Вроде бы на infostarte уже что-то было про JSON, но я в свое время пропустил :(

Полезные ссылки
В сети множество материалов, обзоров, инструкций по Ubiquity, ниже ссылки, которые использовал именно я:
Инструкция по установке контроллера:
https://community.ubnt.com/t5/UniFi-Updates-Blog/UniFi-3-2-7-is-released/ba-p/1085473

Ubuntu в виртуальной машинке поднимал вот эту:
https://help.ubuntu.com/community/Installation/MinimalCD

Инструкция про кастомизацию портала:
http://wiki.ubnt.com/UniFi_FAQ#Hotspot_-_Portal_Customization

 

Скачать файлы

Наименование Файл Версия Размер
Конфигурация с небольшой подсистемой и тестовой обработкой 16
.cf 42,80Kb
11.01.15
16
.cf 42,80Kb Скачать

См. также

PowerTools от 1 000
Подписаться Добавить вознаграждение

Комментарии

1. VVV (V_V_V) 12.01.15 18:05
Эх, FSerg - где же ты был в прошлом году? Это же золотое дно! :)
Месяц назад уволился с работы, на которой собственноручно развернул контроллер для управления 7-ю точками Ubiquity. Правда практическая польза от применения данной обработки для меня туманна (кроме как для издевательства над отдельными сотрудниками, чужие там не ходят) - но все же жаль упущенное время и такие возможности... :)
2. Muxomop Muxomop (Muxomop) 14.01.15 18:12
Плюс за идею, реализацию и подробное описание с ссылками
SemenovaMarinaV; +1 Ответить
3. Денис (Den_D) 15.01.15 16:05
Ubiquity единственная в своем роде - можно дешево развернуть очень приличную вай фай сеть.
Пару лет назад помог это сделать нашим админам.
4. Марина Семёнова (SemenovaMarinaV) 26.01.15 10:47
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа