Интернет-магазин

Просмотр корзины
В корзине:

товаров - 0 шт.



Статьи / KA058 / Laurent-5/5G: Приемы работы с DHCP



§ 58. Laurent-5/5G: Приемы работы с DHCP

Дмитрий Иванов, 09 Августа 2021



Вступление



Начиная с версии прошивки 519, модули Laurent-5 и Laurent-5G поддерживают режим DHCP клиента - они могут получать IP адрес автоматически от DHCP сервера. Достаточно просто включить настройку DHCP (по умолчанию, используется статический адрес) и подключить модуль в сеть c DHCP сервером.

В статье рассмотрим как включить DHCP, как узнать вновь полученный динамический IP адрес и познакомимся с другими полезными приемами.




Включение DHCP



По умолчанию (заводские настройки) модуль настроен на статический IP адрес 192.168.0.101. Подключимся к WEB интерфейсу модуля по этому IP (соответственно, находимся в некой локальной под-сети 192.168.0.x).

Включение DHCP

В разделе Сетевые настройки модуля можно увидеть текущие значения сетевых параметров а так же полезный функционал - NetBiosName. Используя это текстовое имя (редактируемое) можно получить доступ к модулю без использования IP в явном виде.

Включение DHCP

Например, открываем новое окно браузера и вводим в адресной строке http://laurent-5. Видим WEB интерфейс нашего модуля. Каждому модулю в вашей сети можно присвоить свое уникальное текстовое имя и использовать именно его вместо IP.

NetBIOS Name KernelChip Laurent

NetBIOS Name нам особенно пригодится при работе в режиме DHCP. А пока вернемся к его настройке. В выпадающем списке настройки DHCP выбираем вариант ON. Теперь если подключить модуль к сети в которой есть DHCP сервер (роутер) - то модуль получит динамический IP адрес. Мы его пока не знаем. Что бы это исправить можно воспользоваться программой-сканером сети в нужном нам под-дапазоне.

Но есть способ гораздо проще - NetBIOS Name. Набираем в командной строке (в данном случае под ОС Windows) ping laurent-5 и мы видим что модулю был присвоен IP = 10.56.75.211

DHCP PING

Можем получить доступ к WEB модуля как в явном виде по IP 10.56.75.211 так и используя NetBIOS Name. В разделе сетевых настроек можем так же увидеть маску подсети и адрес шлюза так же полученных от DHCP сервера.

Сетевые настройки KernelChip Laurent



Событие DHCP



А как быть если необходимо проинформировать пользователя о факте получения нового IP адреса? Или вывести данную информацию для визуального наблюдения? Тут на помощь придет система встроенной в модуль программируемой логики CAT.

Система CAT - программируемый логический контроллер


Создадим в ней реакцию на событие получения IP по DHCP. Создание и управление CAT событиями можно удобно проводить в WEB интерфейсе модуля.

Система CAT - программируемый логический контроллер


Секцию условий, дополнительных условий и квот пропускаем. На следующем шаге - реакция. Задаем ее в виде списка Ke-команд. В частности, используя команду $KE,LCD,WR выведем текущее значение IP через динамическую переменную на экран ранее подключенного LCD:

$KE,LCD,WR,0,L,C,1,IP: ~IP~

Программируемая реакция на событие


На последнем шаге можно дать удобное текстовое имя событию. После создания события оно появляется в списке в выключенном состоянии. Его следует включить с помощью соответствующей иконки-кнопки.

Добавление нового события CAT


Достаточно сбросить питание модуля что бы он запросил себе IP у DHCP сервера. Ответ не заставит долго ждать. Более того, мы сможем увидеть полученный IP на экране LCD дисплея.

Визуализация DHCP IP на LCD





Послесловие



Используя систему CAT и событие DHCP можно проинформировать внешний сервер (софт) о том что у модуля поменялся IP, например, через HTTP GET запрос к внешнему серверу. В качестве параметров GET запроса можно передать текущий IP и серийный номер или MAC адрес модуля.

Например, если предположить что на удаленном сервере с IP = 10.57.34.2 запущен WEB сервис на 80-ом TCP порту и есть страница command.php готовая принять информацию, то KE-команда для передачи данных на этот сервер (как реакция на событие CAT) могла бы, например, выглядлеть следующим образом:

$KE,URL,RUN,10.57.34.2,80,command.php?ip=~IP~&sn=~SN~

Помимо уже рассмотренной динамической переменной ~IP~ используем новую переменную ~SN~ содержащую уникальный срийный номер модуля.


Полный список всех динамических переменных, поддерживаемых модулем можно найти в соответствующем документе Описание Ke-команд управления








© Дмитрий Иванов
09 Августа 2021 года
http://www.kernelchip.ru



© KERNELCHIP 2006 - 2023