Статьи / 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 адрес и познакомимся с другими полезными приемами.
По умолчанию (заводские настройки) модуль настроен на статический IP адрес 192.168.0.101.
Подключимся к WEB интерфейсу модуля по этому IP (соответственно, находимся в некой локальной под-сети 192.168.0.x).
В разделе Сетевые настройки модуля можно увидеть текущие значения сетевых параметров а так же полезный функционал - NetBiosName.
Используя это текстовое имя (редактируемое) можно получить доступ к модулю без использования IP в явном виде.
Например, открываем новое окно браузера и вводим в адресной строке http://laurent-5. Видим WEB интерфейс нашего модуля.
Каждому модулю в вашей сети можно присвоить свое уникальное текстовое имя и использовать именно его вместо IP.
NetBIOS Name нам особенно пригодится при работе в режиме DHCP. А пока вернемся к его настройке. В выпадающем списке настройки DHCP выбираем вариант ON.
Теперь если подключить модуль к сети в которой есть DHCP сервер (роутер) - то модуль получит динамический IP адрес. Мы его пока не знаем.
Что бы это исправить можно воспользоваться программой-сканером сети в нужном нам под-дапазоне.
Но есть способ гораздо проще - NetBIOS Name. Набираем в командной строке (в данном случае под ОС Windows)
ping laurent-5 и мы видим что модулю был присвоен IP = 10.56.75.211
Можем получить доступ к WEB модуля как в явном виде по IP 10.56.75.211 так и используя NetBIOS Name.
В разделе сетевых настроек можем так же увидеть маску подсети и адрес шлюза так же полученных от DHCP сервера.
А как быть если необходимо проинформировать пользователя о факте получения нового IP адреса?
Или вывести данную информацию для визуального наблюдения?
Тут на помощь придет система встроенной в модуль программируемой логики CAT.

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

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

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

Достаточно сбросить питание модуля что бы он запросил себе IP у 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~ содержащую уникальный срийный номер модуля.
© Дмитрий Иванов
09 Августа 2021 года
http://www.kernelchip.ru