Меню

Ip адрес для датчиков

Всё об IP адресах и о том, как с ними работать

Доброго времени суток, уважаемые читатели Хабра!

Не так давно я написал свою первую статью на Хабр. В моей статье была одна неприятная шероховатость, которую моментально обнаружили, понимающие в сетевом администрировании, пользователи. Шероховатость заключается в том, что я указал неверные IP адреса в лабораторной работе. Сделал это я умышленно, так как посчитал что неопытному пользователю будет легче понять тему VLAN на более простом примере IP, но, как было, совершенно справедливо, замечено пользователями, нельзя выкладывать материал с ключевой ошибкой.

В самой статье я не стал править эту ошибку, так как убрав её будет бессмысленна вся наша дискуссия в 2 дня, но решил исправить её в отдельной статье с указание проблем и пояснением всей темы.

Для начала, стоит сказать о том, что такое IP адрес.

IP-адрес — уникальный сетевой адрес узла в компьютерной сети, построенной на основе стека протоколов TCP/IP (TCP/IP – это набор интернет-протоколов, о котором мы поговорим в дальнейших статьях). IP-адрес представляет собой серию из 32 двоичных бит (единиц и нулей). Так как человек невосприимчив к большому однородному ряду чисел, такому как этот 11100010101000100010101110011110 (здесь, к слову, 32 бита информации, так как 32 числа в двоичной системе), было решено разделить ряд на четыре 8-битных байта и получилась следующая последовательность: 11100010.10100010.00101011.10011110. Это не сильно облегчило жизнь и было решение перевести данную последовательность в, привычную нам, последовательность из четырёх чисел в десятичной системе, то есть 226.162.43.158. 4 разряда также называются октетами. Данный IP адрес определяется протоколом IPv4. По такой схеме адресации можно создать более 4 миллиардов IP-адресов.

Максимальным возможным числом в любом октете будет 255 (так как в двоичной системе это 8 единиц), а минимальным – .

Далее давайте разберёмся с тем, что называется классом IP (именно в этом моменте в лабораторной работе была неточность).

IP-адреса делятся на 5 классов (A, B, C, D, E). A, B и C — это классы коммерческой адресации. D – для многоадресных рассылок, а класс E – для экспериментов.

Класс А: 1.0.0.0 — 126.0.0.0, маска 255.0.0.0
Класс В: 128.0.0.0 — 191.255.0.0, маска 255.255.0.0
Класс С: 192.0.0.0 — 223.255.255.0, маска 255.255.255.0
Класс D: 224.0.0.0 — 239.255.255.255, маска 255.255.255.255
Класс Е: 240.0.0.0 — 247.255.255.255, маска 255.255.255.255

Теперь о «цвете» IP. IP бывают белые и серые (или публичные и частные). Публичным IP адресом называется IP адрес, который используется для выхода в Интернет. Адреса, используемые в локальных сетях, относят к частным. Частные IP не маршрутизируются в Интернете.

Публичные адреса назначаются публичным веб-серверам для того, чтобы человек смог попасть на этот сервер, вне зависимости от его местоположения, то есть через Интернет. Например, игровые сервера являются публичными, как и сервера Хабра и многих других веб-ресурсов.
Большое отличие частных и публичных IP адресов заключается в том, что используя частный IP адрес мы можем назначить компьютеру любой номер (главное, чтобы не было совпадающих номеров), а с публичными адресами всё не так просто. Выдача публичных адресов контролируется различными организациями.

Допустим, Вы молодой сетевой инженер и хотите дать доступ к своему серверу всем пользователям Интернета. Для этого Вам нужно получить публичный IP адрес. Чтобы его получить Вы обращаетесь к своему интернет провайдеру, и он выдаёт Вам публичный IP адрес, но из рукава он его взять не может, поэтому он обращается к локальному Интернет регистратору (LIR – Local Internet Registry), который выдаёт пачку IP адресов Вашему провайдеру, а провайдер из этой пачки выдаёт Вам один адрес. Локальный Интернет регистратор не может выдать пачку адресов из неоткуда, поэтому он обращается к региональному Интернет регистратору (RIR – Regional Internet Registry). В свою очередь региональный Интернет регистратор обращается к международной некоммерческой организации IANA (Internet Assigned Numbers Authority). Контролирует действие организации IANA компания ICANN (Internet Corporation for Assigned Names and Numbers). Такой сложный процесс необходим для того, чтобы не было путаницы в публичных IP адресах.

Поскольку мы занимаемся созданием локальных вычислительных сетей (LAN — Local Area Network), мы будем пользоваться именно частными IP адресами. Для работы с ними необходимо понимать какие адреса частные, а какие нет. В таблице ниже приведены частные IP адреса, которыми мы и будем пользоваться при построении сетей.

Из вышесказанного делаем вывод, что пользоваться при создании локальной сеть следует адресами из диапазона в таблице. При использовании любых других адресов сетей, как например, 20.*.*.* или 30.*.*.* (для примера взял именно эти адреса, так как они использовались в лабе), будут большие проблемы с настройкой реальной сети.

Из таблицы частных IP адресов вы можете увидеть третий столбец, в котором написана маска подсети. Маска подсети — битовая маска, определяющая, какая часть IP-адреса узла сети относится к адресу сети, а какая — к адресу самого узла в этой сети.

У всех IP адресов есть две части сеть и узел.
Сеть – это та часть IP, которая не меняется во всей сети и все адреса устройств начинаются именно с номера сети.
Узел – это изменяющаяся часть IP. Каждое устройство имеет свой уникальный адрес в сети, он называется узлом.

Маску принято записывать двумя способами: префиксным и десятичным. Например, маска частной подсети A выглядит в десятичной записи как 255.0.0.0, но не всегда удобно пользоваться десятичной записью при составлении схемы сети. Легче записать маску как префикс, то есть /8.

Читайте также:  Стрелочный датчик температуры охлаждающей жидкости

Так как маска формируется добавлением слева единицы с первого октета и никак иначе, но для распознания маски нам достаточно знать количество выставленных единиц.

Высчитаем сколько устройств (в IP адресах — узлов) может быть в сети, где у одного компьютера адрес 172.16.13.98 /24.

172.16.13.0 – адрес сети
172.16.13.1 – адрес первого устройства в сети
172.16.13.254 – адрес последнего устройства в сети
172.16.13.255 – широковещательный IP адрес
172.16.14.0 – адрес следующей сети

Итого 254 устройства в сети

Теперь вычислим сколько устройств может быть в сети, где у одного компьютера адрес 172.16.13.98 /16.

172.16.0.0 – адрес сети
172.16.0.1 – адрес первого устройства в сети
172.16.255.254 – адрес последнего устройства в сети
172.16.255.255 – широковещательный IP адрес
172.17.0.0 – адрес следующей сети

Итого 65534 устройства в сети

В первом случае у нас получилось 254 устройства, во втором 65534, а мы заменили только номер маски.

Посмотреть различные варианты работы с масками вы можете в любом калькуляторе IP. Я рекомендую этот.

До того, как была придумана технология масок подсетей (VLSM – Variable Langhe Subnet Mask), использовались классовые сети, о которых мы говорили ранее.

Теперь стоит сказать о таких IP адресах, которые задействованы под определённые нужды.

Адрес 127.0.0.0 – 127.255.255.255 (loopback – петля на себя). Данная сеть нужна для диагностики.
169.254.0.0 – 169.254.255.255 (APIPA – Automatic Private IP Addressing). Механизм «придумывания» IP адреса. Служба APIPA генерирует IP адреса для начала работы с сетью.

Теперь, когда я объяснил тему IP, становиться ясно почему сеть, представленная в лабе, не будет работать без проблем. Этого стоит избежать, поэтому исправьте ошибки исходя из информации в этой статье.

Источник

NetPing: конструктор для администратора и досуг для программиста

Судя по тому, насколько популярен блог DIY, многие из нас любят изобретать. Наверное, каждый встречал человека, который способен сутками что-нибудь паять, программировать, отлаживать, не замечая ничего вокруг. Вот совсем свежие примеры.

В этой статье я расскажу про устройство, которое способно обеспечить досугом изобретателей очень надолго. Это, с одной стороны, серийно выпускаемые приборы. Но сделаны они в виде конструкторов, поэтому их применение ограничено лишь вашей фантазией.

Речь пойдет про устройства NetPing. Эта российская разработка периодически упоминается на хабре, но детального рассказа я не встречал. Пусть эта статья будет продолжением серии «Оборудование российского производства». Мне достался самый универсальный прибор линейки – UniPing RS-232. Основная сфера его применения – удаленный мониторинг и управление множеством устройств в квартире, доме, офисе. Конечно, давно существует понятие «умный дом», но, как правило, это преподносится как вариант для состоятельных людей, хотя получают они черный ящик с жестко заданным, пусть и большим, набором функций. Однако, можно ведь все собрать и запрограммировать самому!

Для затравки перечислю только стандартные задачи, которые можно решать с помощью устройств NetPing:

  • дистанционное управление электропитанием с возможностью принудительной перезагрузки;
  • контроль доступа к удаленному объекту – датчики открытия/закрытия дверей, движения, удара, антивандальные системы, управление камерами наблюдения;
  • слежение за микроклиматом внутри помещения – датчики температуры, влажности, скорость воздушного потока, управление кондиционером через ИК;
  • отслеживание разных ЧП – датчики дыма, протечки воды;
  • управление АТС по порту RS-232;
  • удаленное изменение настроек систем в зависимости от ситуации;
  • удаленный доступ к серверам через консоль – например, установка операционки без присутствия администратора;
  • получение мгновенных уведомлений с фиксацией времени о сбоях и других важных событиях по множеству каналов: SMS, почта, Jabber;
  • доступ ко всем параметрам наблюдаемой системы в реальном времени через HTTP или SNMP;
  • управление включением/выключением света и любых других приборов по расписанию;
  • дистанционный контроль каналов связи.

Использовать все это можно в обычной квартире, в загородном доме, в гараже, в удаленных серверных комнатах, в платежных терминалах, банкоматах и т.п. Понятно, что этим можно не ограничиваться и найти кучу других интересных применений. По этому поводу очень советую почитать вот это.

Подбираем нужный комплект

Но давайте, наконец, посмотрим, как все это выглядит и как работает. Прибор достаточно простой, хотя при подключении датчиков надо быть внимательным и делать все по инструкции: так как это по сути конструктор, вставить проводок датчика можно куда угодно, а последствия могут оказаться самыми разными.

Все части комплекса продаются отдельно. В коробке лежит лишь устройство с блоком питания и разъемом DHS-44 для датчиков, а так же бумажка с IP-адресом.

Далее вы выбираете нужные датчики и периферию. Алентис Электроникс (производитель NetPing) на данный момент предлагает 17 видов датчиков:

  • Датчик наличия 220В
  • Датчик влажности
  • Термодатчик TS (используется внутри помещений)
  • Термодатчик WT (наружный влагозащищенный)
  • Датчик дыма
  • Датчик разбития стекла
  • Датчик типа «сухой контакт» (например, сигнализация о факте открытия/закрытия двери)
  • Датчик удара
  • Датчик давления
  • Датчик освещенности
  • Датчик протечки жидкости
  • Датчик движения
  • Пассивный инфракрасный извещатель
  • Инфракрасный приемник-передатчик
  • SMS-гейт (для отправки SMS сообщений о срабатывании датчиков и других событиях)
  • Сирена
  • Счетчик электроэнергии (можно дистанционно контролировать расход)

Для некоторых типов датчиков UniPing поддерживает подключение до 8 или 16 штук на одно устройство. Надо сказать, что можно также использовать разные датчики других производителей и других типов, лишь бы они были совместимы по сигналам. Поддерживается 16 датчиков типа «сухой контакт» — входы, принимающие логический сигнал: замкнуто — разомкнуто.

В моем комплекте на картинке сверху датчики температуры, влажности, открытия двери и датчик удара.

На фото можно заметить еще одну плату, подключенную к NetPing. Это коммутационная плата NetPing Connection Board, предназначенная для упрощения подключения внешних датчиков.

Читайте также:  Датчик уровня топлива рено шафран

В принципе, можно обойтись и без нее, но тогда придется самостоятельно паять провода под 44-штырьковый разъем, а это требует определенных навыков. Но мне понравилось, что не навязываются никакие лишние детали без необходимости.

Внутрь коробочки NetPing я лезть не стал, но, думаю, что там все просто: какой-нибудь специализированный микропроцессор, ОЗУ и обвес из миниатюрной периферии.

Собираем

Теперь как все это собрать. Очень просто. Берем в руки отвертку, коммутационную плату, датчики и инструкцию (качаем с сайта). А дальше просто находим раздел про нужный датчик, вставляем проводки в нужные клеммы и прижимаем сверху винтиком.

На месте производителя, я бы все-таки сделал не голые провода, а что-то наподобие коннекторов на материнской плате:

Хотя, судя по всему, такие варианты у них тоже есть:

Руководство по сборке и настройке в некоторых случаях предполагает понимание азов схемотехники. Иногда встречаются вот такие пассажи: «Если линия, настроенная на вход, не подтянута к +5В и не подключена к источнику информации, то она является высокоомным входом». Однако, в остальном все описано не сложнее, чем в руководстве к материнской плате.

Включаем и настраиваем

Теперь начинается самое интересное. Ведь для полноценной работы NetPing подключается к компьютеру, после чего можно настраивать датчики и следить за всеми параметрами в удобных программах и, что более важно для нас, программировать любые нестандартные сценарии работы.

Итак, соединяем NetPing со свободным портом роутера и включаем в розетку.

По умолчанию IP-адрес устройства выставлен в 192.168.0.100, поэтому если у вас сконфигурирована другая подсеть, может потребоваться поменять адрес NetPing. Делается это в программе NPConf. Программка эта также используется для загрузки новой прошивки. Есть еще возможность конфигурирования через Telnet, но мне она не потребовалась.

NetPing имеет встроенный веб-сервер, на который можно зайти через HTTP по адресу устройства.

Про его возможности расскажу немного ниже.

Программируем

Полный функционал устройства для программиста доступен по протоколу SNMP. HTTP — это лишь дополнение.

Протокол SNMP удобен, когда необходимо получать данные с большого количества устройств, при помощи каких-либо скриптов автоматизации или для отображения данных в уже существующих программах мониторинга сети. Получение данных по протоколу SNMP сводится к чтению/записи специальных адресов внутри устройства, называемых OID (object identifier). Адреса, поддерживаемые устройствами, можно найти в MIB-файлах (Management Information Base). Файл MIB должен соответствовать устройству и версии прошивки. Переменные внутри MIB-файла организованы в иерархии, и их удобно просматривать специальными программами, например, есть бесплатный MIB Browser. Здесь также можно менять значения переменных. Выглядит это примерно так:

Сам MIB-файл можно открыть как ASCII-текст. Вот, например, описание датчика влажности:

npRelHumSensorValueH OBJECT-TYPE
SYNTAX INTEGER (0..100)
MAX-ACCESS read-only
STATUS current
DESCRIPTION «Relative humidity value, %»
::= < npRelHumSensor 2 >

На самом деле, протокол SNMP достаточно простой, хотя нотация требует некоторого привыкания. Управляющая система может получить информацию с устройства через команды GET, GETNEXT и GETBULK. Так можно считывать информацию с датчиков. Агент (на стороне устройства) может самостоятельно без запроса отправить данные, используя операцию протокола TRAP или INFORM. Управляющие системы могут также отправлять конфигурационные обновления или контролирующие запросы, используя операцию SET. Вот, собственно, и все.

Как это выглядит с точки зрения программиста. Пара примеров на PHP:

Получение значения температуры от датчика.

$t = snmpget( «192.168.0.100» , «SWITCH» , » .1.3.6.1.4.1.25728.8900.1.1.3.2″ );
echo ‘Current temperature: ‘ .$t;

Включение/выключение реле: пишем по его адресу (OID) 1 для включения, и 0 для выключения.

$result = snmpset( «192.168.0.100» , «SWITCH» , » .1.3.6.1.4.1.25728.8900.1.1.3.1″ ,”i”, «1» );

Первый параметр функций – IP-адрес устройства. Второй (слово «SWITCH») – это так называемое community, специальное кодовое слово, которое необходимо указывать в любом запросе по протоколу SNMP. Оно задается на web странице настроек устройства NetPing. Далее идет OID, по которому мы читаем или пишем. Команда snmpset имеет еще 2 параметра: тип значения (в нашем случае integer) и само значение.

А вот опрос датчика на Perl. Или просто из командной строки (используются бесплатные утилиты NET-SNMP).

Если требуется только чтение показаний датчиков, то это можно делать по HTTP простым GET запросом.

Пробуем готовые программы мониторинга

Безусловно, давно существует множество программ мониторинга, в которых можно работать, в том числе, и с устройствами NetPing. Опытные администраторы наверняка знакомы с какой-то из них. Кстати, для серверных комнат есть даже специализированное устройство UniPing server solution:

Я попробовал PRTG Network Monitor, который рекомендует сам производитель NetPing – Алентис Электроникс. При использовании 10 датчиков программа бесплатна. Если надо больше – придется платить $380, но под серьезные задачи оно того стоит.

В следующем разделе я покажу эту программу в работе, а здесь еще упомяну другие системы мониторинга: Zabbix и Nagios.

Экспериментируем

К сожалению, у меня пока не было времени повозиться со всеми функциями и попрограммировать.
Сначала я подключил самое простое – датчики влажности и температуры. Термодатчиков можно подключить до 8 штук.

Все заработало сразу. Для примера я провел небольшое исследование климата: положил датчик влажности на пол в комнате.

Влажность оказалась всего 25% (это еще когда отопление работало). По-моему, совсем нездоровый климат у нас в квартирах… Затем я протер пол вокруг датчика мокрой тряпкой. Как видим, влажность поднялось аж до 67% и держалось целых 5 минут 🙂 Комфорт оказался мимолетным виденьем. А жаль. Надо будет серьезно думать над увлажнением комнаты. И это, кстати, еще при постоянно открытом окне. Страшно представить, чем мы дышим зимой за закрытым стеклопакетом.

Читайте также:  Радарный датчик мерседес а0009050010

Датчик влажности показывает еще и температуру по совместительству. Здесь все просто.

Заметьте (если это возможно на таком скриншоте), в программе есть вкладки на месяц и на 365 дней, так что, имея постоянно включенный сервер, можно строить красивые картинки климата. Еще бы барометр добавить – будет полноценная метеостанция.

С датчиком удара немного поиграл, убедился, что работает, но не стал настраивать TRAP-сообщения.

Зеленая лампочка (высокая чувствительность) загоралась при небольших сотрясениях, красная – при больших. Чувствительность настраивается. Датчик этот универсальный. Его можно использовать где угодно, в том числе в автомобиле с какой-нибудь сигнализацией.

Датчик открытия/закрытия двери тоже очень простой.

Разъединились половинки – уровень сигнала перешел из «0» в «1», соединились – снова вернулся в «0». Это было видно на коммутационной плате – там загорался или гас зеленый светодиод:

Все-таки пара слов о том, как настраивать TRAP. Потому что это единственный способ инициировать посылку сообщений от датчиков в случае каких-то важных событий. Настроить их можно и во встроенном web-сервере, но наблюдать удобнее в PRTG Monitor.

На этой страничке задается IP адрес, на который будут отсылаться TRAP пакеты по протоколу SNMP. События, по которым будут отправляться эти пакеты, задаются на других страницах web-интерфейса устройства.

Далее можно, например, настроить термодатчик на генерацию TRAP при превышении заданной температуры.

Безусловно, скриптами можно существенно расширить возможности. Например, отправлять SMS-оповещения при определенных событиях.

Провода у некоторых датчиков оказались достаточно короткими. Как я потом прочитал, длина проводов зависит от типа датчика. Особенность «токовых датчиков» (датчик дыма, датчик движения, датчик присутствия, шлейф сигнализации с контролем целостности и т.д.) в том, что сигнализация об их состоянии идет посредством не напряжения, а тока, из-за этого они намного меньше подвержены влиянию электромагнитных помех и допускают длинные шлейфы. Я думаю, что при хорошем экранировании любой датчик можно повесить на длинный шлейф. Потому что иначе применять их, например, в большой серверной комнате затруднительно.

В Web-интерфейсе есть также Журнал, в котором в хронологическом порядке фиксируются важные события, произошедшие в устройстве.

Так как устройство не содержит встроенных энергонезависимых часов, время в журнале отсчитывается от момента включения, который принимается за 01.01.1970,0:00. Если в настройках указан IP адрес NTP сервера, устройство вскоре после включения питания попытается установить свои часы по серверу времени.

Интересные примеры применения

Область применения устройства не заканчивается на контроле датчиков, а наоборот только начинается.

Здесь я приведу ссылки на другие интересные примеры применения.

    Удалённое управление кнопкой RESET

  • Автоматический регулятор температуры
  • Пара примеров отсюда (статья, кстати, сама по себе очень интересная).

    • Можно сделать небольшой и простой климат-контроль в гараже: включать тепловентилятор по порогам температуры. Интернета вообще не надо. Достаточно настроить граничные условия через web-интерфейс и оставить его вместе с датчиком температуры в гараже. Когда надо – пришел с ноутбуком, переставил значения.
    • Простейшая сигнализация на дому с выводом в интернет или далее — через SMS шлюз на сотовый телефон владельца.
    • На сайте Алентис нашел забавный случай. Во время тестирования системы сотрудник включал не систему охлаждения, а всего лишь светодиод, и в какой-то момент была создана простейшая «мигалка», в основе которой находился вот такой скрипт:

      #!/bin/sh
      while true ; do
      snmpset -v 1 -c SWITCH 192.168.2.10 1.3.6.1.4.1.25728.50.8.116 integer 1;
      sleep 1;
      snmpset -v 1 -c SWITCH 192.168.2.10 1.3.6.1.4.1.25728.50.8.116 integer 0;
      sleep 1;
      done

      Что подсказало следующую идею: к устройству можно подключить гирлянду из ламп накаливая или светодиодов и заставить её мигать. Поскольку на плате четыре реле, можно подключить четыре разных гирлянды и с помощью несложных скриптов переключать их создавая эффект «бегущего огня» и более сложные эффекты.

    Приведу еще несколько ссылок на статьи изобретений на хабре, где можно было бы использовать NetPing:

    • Ethernet термометр на основе Arduino
    • Создание gsmrozetka.ru
    • iRemo Tap: управление розетками через интернет
    • Аппаратно-программное средство для автоматической перезагрузки зависшего компьютера
    • Более дешевая замена для датчиков температуры и влажности APC
    • Новый взгляд на удаленное управление компьютером – пятьсот километров и ни одной ошибки

    Как видите, идей применения море.

    Сравнение устройств и цены

    Линейка устройств NetPing довольно большая и функционал часто пересекается. Поэтому не всегда легко разобраться, какой прибор лучше подойдет для той или иной задачи. Я нашел ссылку с таблицей сравнения функций.

    И еще полезной может оказаться тестовая плата DigiPing – на ней удобно отлаживать скрипты управления.

    Что касается цен. Так как это конструктор, то для каждого решения стоимость может отличаться. Но в целом, по-моему, совсем не дорого. Для примера, небольшой комплекс для мониторинга оборудования в организации с ценами компонентов:

    Выводы

    Если вы системный администратор, то устройства NetPing вполне могут сэкономить вам время и средства на управление оборудованием в организации.

    Но, думаю, что и просто люди с изобретательской жилкой найдут множество интересных применений. Некоторые я постарался описать в статье.

    Есть, конечно, такие, которым интересны лишь готовые решения, выполняющие строго заданный набор функций.

    С другой стороны, бывают ситуации, когда коробочка с одной кнопкой предпочтительнее сложного и гибкого устройства. Мне понравился пример в одной из статей, на которые я ссылался выше: «Настольный видеотелефон Skype у моей бабушки. Сколько я мучался, пытаясь ей настроить автопилотно работающие ноутбуки с камерой, и все равно проблемы и ставить некуда. А коробочка работает прекрасно».

    В общем, вряд ли стоит думать, что все изобретено до нас. Успехов в творчестве!

    Источник

    Adblock
    detector