Представляем модуль многоканального интернет-термометра 2283876.
Модуль предназначен для сбора и передачи показаний цифровых датчиков температуры через Ethernet (LAN) интерфейс. Датчики типа DS18B20 в количестве до 20 штук подключаются к общей 1-Wire шине. Просмотр показания осуществляется с помощью любого WEB-браузера.
Согласно руководству пользователя, модуль Laurent-T умеет следующее:
- собирать показания с датчиков температуры типа DS18B20 в количестве до 20 штук;
- передавать показания температуры по сети Ethernet (витая пара) через встроенный Web-интерфейс, в форматах XML/JSON или через TCP порт с помощью командной строки;
- назначать и хранить символические имена датчиков по их идентификационному номеру;
- фильтровать и сглаживать показания датчиков в случаях кратковременных сбоев в работе из-за воздействия внешних помех на длинной линии;
- автоматически осуществлять физический сброс шины 1-Wire путем размыкания контактов встроенного электро-магнитного реле в случае обнаружения неполадок на шине;
- длительно и устойчиво работать в удаленном режиме.
Попробуем разобраться, как это все работает.
Прежде всего, рассмотрим саму плату модуля и имеющиеся на ней разъемы.
Laurent-T представляет собой компактную (80х50мм) плату с клеммными контактами и разъемом Ethernet. Предусмотрено два варианта подключения источника питания – через стандартный разъем типа Jack (центральный контакт – плюс), или через винтовые клеммы (+Vin, GND).
Недорогие и весьма распространенные цифровые датчики температуры типа Dallas DS18B20 подключаются к правому разъему с винтовыми контактами согласно рисунку 2. Черный провод – земля (GND), красный – питание (+V), зеленый – данные (T). Подтягивающий резистор номиналом 4,7 кОм является обязательным и должен быть подключен возле самого последнего (дальнего от модуля) датчика. Если этого резистора нет, то данные считываться не будут.
В качестве датчика можно использовать герметичный датчик SN18B20, а также модуль MP18B20, при этом резистор R1 следует удалить с платы.
Управление модулем и его настройка осуществляется несколькими способами:
- через встроенную Web-страницу;
- прямыми HTTP запросами;
- набором текстовых команд управления (Ke-команды) через TCP (открытый API).
Для управления модулем через Web-страницу, достаточно с любого устройства, имеющего интернет-браузер (компьютер, планшет, смартфон и т.п.), зайти на страницу модуля по адресу 192.168.1.99 (адрес по умолчанию, может быть изменен пользователем). На странице, после введения по запросу имени пользователя и пароля, вы увидите удобный визуальный интерфейс для наблюдения показания температуры в реальном времени и изменения настроек модуля.
Для того чтобы с помощью браузера можно было войти на встроенную страницу модуля, необходимо произвести настройку свойств сетевого соединения устройства, с которого будет производиться вход, на ту же подсеть, на которую настроен модуль MP719 по умолчанию.
Рассмотрим такую настройку на примере Windows 7.
зайдите в раздел Пуск → Панель управления (см. рисунок ниже). В разделе Сеть и Интернет нажмите ссылку Просмотр состояния сети и задач:
В открывшемся окне на панели слева нажмите ссылку Изменение параметров адаптеров:
Нажмите правой кнопкой мыши на иконке сетевого соединения, ассоциированного с той сетевой картой компьютера, к которой вы планируете подключать модуль. Откройте раздел “Свойства”:
В появившемся списке выберите раздел “Протокол Интернета версии 4 (TCP/IPv4)” и нажмите кнопку “Свойства”. Необходимо настроить сеть так чтобы IP адрес компьютера был в одной подсети с модулем. Установите флажки и значения IP адресов так, как показано на рисунке ниже:
Поскольку адрес Web-страницы модуля по умолчанию – 192.168.1.99, то IP-адрес на вкладке Свойства может быть любым в диапазонах 192.168.1.1 - 192.168.1.98 и 192.168.1.100 - 192.168.1.255. В данном случае мы задали адрес 192.168.1.200. После нажатия OK настройка окончена.
Теперь можно подключить модуль к компьютеру или к сети через коммутатор или роутер. Напрямую к компьютеру модуль следует подключать только кросс-кабелем (crossover cable) Ethernet, к коммутатору или роутеру – можно и прямым, и кросс-кабелем. В случае подключения через коммутатор/роутер с модулем можно будет общаться не только в локальной сети.
Далее подаем питание на модуль. Питание можно подать как на винтовые клеммы, так и через встроенный разъем для штекерного источника питания. В случае использования клемм следует подключить “+” источника питания к клемме Vin а “–” к любой из клемм GND (земля).
Рекомендуемое напряжение питания: от 5.5 В до 28 В постоянного тока.
Потребляемый модулем ток при напряжении 12В составляет не более 80мА при неподключенных датчиках температуры.
После подачи питания на несколько секунд в панели задач может появиться всплывающее окно установки сетевого адреса. В случае успешного запуска модуля, на верхней поверхности платы должен замигать информационный светодиод STATUS LED зеленого цвета (частота мигания 2 Гц), сигнализируя тем самым об успешном запуске и работе программы модуля.
Зайдем на встроенную страницу модуля, введя в адресной строке браузера подключенного к модулю компьютера адрес 192.168.1.99. На открывшейся странице:
следует кликнуть по ссылке Web-интерфейс модуля Laurent-T и в открывшемся окне ввести логин и пароль. По умолчанию логин admin, пароль Laurent (регистр вводимого текста имеет значение). Логин и пароль при желании можно заменить в разделе Настройки Web-страницы или с помощью $KE команд (см.далее).
На следующем рисунке показан вид основной страницы при подключенных датчиках:
Информация на странице обновляется в режиме реального времени. Система управления позволяет визуально наблюдать следующие параметры:
- показания обнаруженных датчиков температуры в градусах Цельсия;
- оригинальные адреса каждого из обнаруженных датчиков;
- имя датчика, присвоенное пользователем по его адресу;
- версия программного обеспечения модуля (версия прошивки);
- текущее системное время модуля.
После подачи питания модуль автоматически пытается определить подключенные датчики к шине. Если на момент подачи питания датчики не были подключены или если произошли изменения в сети датчиков, следует нажать на ссылку “Поиск датчиков” на главной странице для обновления информации.
Модуль MP719 позволяет присваивать и хранить в энергонезависимой памяти символические имена датчиков температуры с привязкой к уникальному адресу датчика. При нажатии на адрес датчика в таблице основного окна открывается всплывающее окно, в котором можно присвоить или изменить его датчика. Имя датчика может содержать не более 7 символов, которые являются цифрами или латинскими буквами. Посмотреть текущую таблицу сохраненных имен можно через Web-интерфейс, нажав на ссылку Таблица имен датчиков.
Для дальнейшей обработки результаты измерений могут быть запрошены в формате JSON при обращении по адресу http://192.168.1.99/temp.cgi. Адрес 192.168.1.99 – значение по умолчанию. Если вы изменили IP адрес модуля, то следует использовать ваш текущий IP. Пример результата обращения и вывод данных в формате JSON показан на иллюстрации ниже:
В разделе Настройки, к которому предоставляется доступ с главного экрана, можно изменить пароль доступа по Web-интерфейсу, IP-адрес и MAC-адрес модуля, маску подсети и адрес основного шлюза. Также можно перезагрузить модуль и вернуться к заводским настройкам, которые заключаются в следующем:
IP адрес | 192.168.1.99 |
MAC адрес | 00-04-A3-00-00-0B |
Основной шлюз (Default GateWay) | 192.168.1.1 |
Маска подсети (Subnet Mask) | 255.255.255.0 |
TCP порт для управления KE командами | 2424 |
TCP порт для доступа к встроенной Web странице | 80 |
Логин/пароль для доступа к Web-интерфейсу управления | admin/Laurent |
Пароль для разблокировки доступа к TCP портам управления | Laurent |
Помимо встроенного Web-сайта, модулем можно управлять прямыми HTTP запросами и с помощью командного интерфейса управления.
Посредством прямых HTTP запросов можно выполнить:
- программный сброс модуля: http://192.168.1.99/cmd.cgi?cmd=RST
- поиск датчиков на шине: http://адрес_модуля/cmd.cgi?cmd= OWSRCH
- аппаратный сброс шины 1-Wire (производится физическое размыкание общего провода датчиков с помощью реле на 30 секунд): http://192.168.1.99/cmd.cgi?cmd=OWRST
Командный интерфейс предполагает отправку текстовых команд управления на модуль и получение ответной информации от модуля по протоколу TCP/IP.
Текстовая команда отправляется по сетевому соединению по указанному IP адресу (по умолчанию 192.168.1.99) на фиксированный TCP порт (2424), процессор модуля декодирует ее, выполняет необходимую операцию и отправляет обратно ответ в текстовом формате. В ответе содержится информация о статусе выполненной команды и данные, специфичные для конкретной команды. Как и в случае Web-интерфейса, необходимо ввести пароль для защиты модуля от несанкционированного доступа в общедоступной сети.
Благодаря открытому командному интерфейсу имеется возможность разработки программы управления модулем по сети на любом языке программирования, поддерживающим механизм сокетов.
Применение текстовых команд позволяет в общем случае обойтись без разработки дополнительного программного обеспечения. Достаточно использовать любую терминальную программу, позволяющую передавать данные через сетевое соединение, например PuTTY или TeraTerm.
Полный перечень команд управления размещен в документе.
Рассмотрим для примера настройку программу PuTTY и некоторые команды управления.
В настройках PuTTY необходимо указать IP-адрес, порт и тип соединения Raw. После нажатия кнопки Open должно появиться окно терминала. Следует ввести текстовую команду, начинающуюся с $KE и нажать клавишу Enter.
В данном примере вначале подается команда $KE без аргументов – проверка связи. В ответ на нее модуль возвращает #OK. Далее следует запрос версии прошивки и серийного номера $KE,INF. Попытка считать показания всех датчиков $KE,TMP,ALL блокируется модулем, поскольку еще не указан пароль. Вводим пароль с помощью команды $KE,PSW,SET. Пароль принят (#PSW,SET,OK) и теперь при подаче команды $KE,TMP,ALL модуль отвечает данными о температуре датчиков #TMP,1,25.9 и т.д.
На случай, если пользователь указал неверные адреса IP и/или МАС, и связь с модулем по сети стала невозможна, в устройстве реализован аппаратный сброс настроек к заводским. Для сброса необходимо отключить питание, снять джампер, расположенный на верхней части платы, снова подать питание, дождаться запуска модуля (мигания зеленого светодиода STATUS LED) и установить джампер обратно.
Процесс стирания настроек сопровождается частым миганием светодиода STATUS LED в течение 2 секунд.
Существует возможность подключить к одной и той же сети несколько модулей через коммутатор или роутер. Для этого необходимо для каждого модуля установить различные IP и MAC адреса (см. описание команд управления $KE,IP,SET и $KE,MAC,SET). По умолчанию все модули имею одинаковые IP и MAC адреса.
Таким образом, модуль многоканального цифрового интернет-термометра MP719 Laurent-T является удобным инструментом для сбора показаний температуры от большого количества цифровых температурных датчиков и дальнейшей их обработки.
2283876