Начиная с версии прошивки 519, модули MP712m Laurent-5 и MP718m 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 сервера.
Событие 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~ содержащую уникальный срийный номер модуля.
Полный список всех динамических переменных, поддерживаемых модулем можно найти в соответствующем документе Описание Ke-команд управления