Обязанности и достижения:
Обеспечение круглосуточного круглогодичного сбора, преобразования, форматирования и передачи метеорологических данных по мере их обновления в источнике. Источники данных: документы HTML и базы данных MySQL. Формат передаваемых данных: JSON, XML. Протокол передачи данных: SFTP.
Каждый источник данных (HTML, MySQL), в свою очередь, представляет/хранит данные от множества автоматических систем информационного обеспечения (АСИО) первого или второго типа, соответственно. Все АСИО с регулярной периодичностью поставляют набор однородных данных по перечню объектов (станций). В источнике HTML каждая станция представлена индивидуальной страницей, в MySQL - идентификатором станции.
Для выполнения поставленной задачи на платформе Node.js разработан робот. В ходе его инициализации для каждой АСИО вычисляется её интервал обновления данных, на основе которого определяется расписание опроса станций. Для каждой станции запускается обработчик, осуществляющий опрос по расписанию и возвращающий набор данных в формате JSON. Робот дополняет каждый получаемый набор данных (датой/временем и т. д. и т. п.) и записывает результаты в файл [*.json].
Дальнейшая передача данных осуществляется службой описанной ниже. (Служба была разработана ранее для другого проекта.)
Обеспечение (на платформе Windows Server 2003) круглосуточной круглогодичной передачи метеорологических данных в формате CSV по FTP в удаленное хранилище с интервалом 10-30 мин.
Для выполнения поставленной задачи была разработана служба, которая "прослушивает" директорию (используемую для экспорта данных в требуемом формате) и, по событию "создание нового файла", отправляет все файлы в заданной директории на удаленный FTP-сервер с последующим удалением файлов из источника.
Создание технического задания (ТЗ) на проектирование и разработку ПО для мониторинга лесных пожаров.
Результатом проведённых работ является переданное разработчику ТЗ, определяющее требуемую функциональность системы, а также особенности графического интерфейса пользователя.
Разрабатывается утилита для опроса датчиков через RS232/RS485 на Python; параллельно разрабатывается аналогичный модуль (для ныне действующей системы) на Node.js.