Сбор данных и дистанционный мониторинг через WEB

rj45 rs485     rs485 db9

Не раз уже обращались с просьбой сделать систему сбора данных, с типичным набором требований "датчики соединяются по rs485", "сервер опрашивает датчики через ethernet или по IP", "Web-отображение текущих показаний". Если вам знакомы эти слова, задачи связанные с этими словосочетаниями, возможно стоит почитать эту статью. Более подробная реализация такого рода проекта описана в статье linux на at91.

 

   Многие современные датчики учета (расход воды, электричества) и просто разные гаджеты промышленного назначения ("мигалка" светодиодов, ethernet switch) имеют на борту интерфейс rs485 или CAN. С помощью этих интерфейсов можно считывать текущие показания счетчиков, управлять устройствами и передавать различную информацию. Шина rs485 пришла на замену rs232, что есть продолжение наиболее популярного интерфейса UART. Rs485 полудуплексная в отличие от rs232, но при этом сигнал может передаваться на значительные расстояния. Простота программирования устройств с UART-производными интерфейсами и дальность передачи сигнала сделали rs485 де-факто промышленным стандартом. Тем не менее за условную помехозащищенность и низкую скорость передачи интерфейс rs485 начинает вытеснять CAN.

   Если раньше считалось, что достаточно просто считывать показания на расстоянии и управлять устройством. то со временем критерий к дистанционному контролю возрос: люди хотят заходить через интернет (даже иногда с мобильного устройства) и считывать показания счетчика или управлять каким-либо промышленным гаджетом. Это и вправду удобно, через интернет видеть все что происходит где-то на другом конце города, а может и земного шара... И такая, казалось бы, мечта сбудет стоить не так дорого.

    Большинство гаджетов можно объединить по rs485 в одну линию и на конце линии поставить небольшое устройство размером с роутер. Устройство будет собирать данные по rs485 или CAN, возможно даже по другому интерфейсу ethernet или wi-fi. затем записывать текущие показания себе в оперативную память и отображать это по веб-интерфейсу используя встроенный веб-сервер.

   Подробная реализация одного из таких проектов - статья linux на at91. В данной статье рассмотрен способ создания девайса из готовых компонентов, на "железяке" крутится маленький линукс, в качестве сервера для отображения данных используется lighttpd, совместимый с полноценной x86-версией.