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

10.02.15

Администрирование - Сети

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

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование По подписке [?] Купить один файл
Конфигурация с небольшой подсистемой и тестовой обработкой
.cf 42,80Kb
27
27 Скачать (1 SM) Купить за 1 850 руб.

Вообще, кто сталкивался с попыткой как-то бюджетно реализовать доступ к 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

 

WiFi Ubiquity UniFi интернет

См. также

Сети Системный администратор Бесплатно (free)

Бывает такое, что по не понятным причинам отваливается интернет соединение на каком-то компьютере, и помогает только сброс сети. Этот скрипт на языке командных файлов (BAT) предназначен для мониторинга интернет-соединения и доступности роутера. В случае отсутствия интернет-соединения и недоступности роутера, скрипт автоматически выполняет команды ipconfig /release, ipconfig /flushdns и ipconfig /renew для обновления сетевых настроек. Все события записываются в лог-файл на диске D.

24.09.2024    498    TorVolD90    1    

3

Linux Сети Сервера Администрирование СУБД Системный администратор Программист Россия Абонемент ($m)

Подборка решений различных задач по администрированию систем (Windows/Linux) и 1C, оформленная в виде стандартной справки.

2 стартмани

03.11.2023    4819    35    NeSPEC    16    

21

Сети Системный администратор Бесплатно (free)

Руководство по переходу на IPv6 в домашней сети или небольшом офисе.

30.05.2023    9573    cdiamond    5    

5

Сети Сервера Системный администратор Платформа 1С v8.3 Абонемент ($m)

При переезде на новый сервер 1С возникла необходимость подготовить всех пользователей (а их 300+) к этому переезду и желательно не мешая их работе. А если быть точнее, то заменить в их списках информационных баз имя сервера. Итак, что имеем в условии.  Есть сервер 1С с именем  WIN2016.  Необходимо перенастроить всех пользователей на новый сервер с именем SRV1C. Для этого придется либо руками у каждого пользователя исправить записи по каждой базе через открытие 1С, либо поправить файл ibases.v8i, который находится в папке профиля пользователя. Второй вариант более интересен, но лезть на 300+ компьютеров не наш метод.

1 стартмани

30.11.2022    3792    2    dungeonkeeper    13    

6

Сети Системный администратор Платформа 1С v8.3 1С:Зарплата и Управление Персоналом 3.x Абонемент ($m)

Решение для помощи системному администратору домена, сделано в виде расширения.

3 стартмани

24.11.2021    6970    66    eugenevk    13    

17

Сети Программист Бизнес-аналитик Бесплатно (free)

Перевод статьи https://martinfowler.com/articles/data-mesh-principles.html от 03.12.2020, автор Zhamak Dehghani.

25.10.2021    3744    malikov_pro    0    

8

Linux Сети Системный администратор Бесплатно (free)

HASP keys by net on Linux - не новое, а заново.

10.03.2021    10547    ryzn    2    

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

1. При обращении к ресурсу <хост>:<порт>/login получаю в ответ ошибку 404.

Соединение1.ОтправитьДляОбработки(...)


2. Меняю адрес на /manage/account/login. В ответ приходит код 200 (вместо ожидаемого 302), но в заголовках HTTP-ответа нет данных о куках.

ОтветHTTP.Заголовки.Получить("Set-Cookie") = Непределено


В чем может быть причина?

3. При отправке запроса за создание ваучера (без кук, соответственно) получаю в ответ:
==== Код ответа: 400
Ключ: vary / Значение: Origin
Ключ: Access-Control-Expose-Headers / Значение: Access-Control-Allow-Origin,Access-Control-Allow-Credentials
Ключ: Content-Type / Значение: application/json;charset=UTF-8
Ключ: Content-Length / Значение: 83
Ключ: Access-Control-Allow-Credentials / Значение: true
Ключ: X-Frame-Options / Значение: DENY
Ключ: Date / Значение: Tue, 05 Mar 2019 05:05:51 GMT
Ключ: Connection / Значение: close


Нагуглить ничего не удалось.
Посоветуйте, куда копать.
6. FSerg 112 05.03.19 10:28 Сейчас в теме
(5) Не смогу помочь. Думаю что в новых версиях UniFi API сильно поменялся и авторизация в том числе.
Я бы сначала смотрел CURL'ом (Postman'ом), а потом бы уже экспериментировал из 1С.
7. bearman 9 05.03.19 11:01 Сейчас в теме
(6) Ок. Все равно спасибо!
Оставьте свое сообщение