Преобразователь интерфейсов

Ethernet <> RS485 переходник по сути.

     Устройство потребовалось как часть системы управления освещением. Сейчас в моде слово «диспетчеризация», хотя я с трудом себе представляю ситуацию, когда из центральной диспетчерской потребуется включить свет в подсобке уборщицы… Но что делать, надо. Устройство предоставляет минимальный WEB сервис по просмотру состояния каждой зоны управления. Также позволяет управлять любой зоной. Разумеется возможность менять основные установки через WEB интерфейс.
     Также организована работа двух TCP серверов на разных портах. По одному порту ведется трансляция инф. пакетов в/из порта RS485 для обеспечения работы управляющей утилиты. Именно с ее помощью производится полное управление системой и ее конфигурирование. По другому порту поддерживается работа ModBus протокола. Полное управление по ModBus не требовалось, но просмотр состояния каждой зоны и удаленное управление обеспечивается.
     Реализована возможность удаленного обновления ПО устройства. Принятый файл записывается во вспомогательную nand flash память. Проводятся проверки идентификаторов в файле. Подсчет контрольных сумм самого файла, а также образа программной памяти после прошивки. Только при успешном прохождении всех проверок файл прошивается в программную память бутлоадером и производится перезапуск. Подготовку файла в собственном формате производит специально созданная для этого утилита из исходного Intel HEX файла.
     Одной из главных особенностей стало то, что хотелось обеспечить возможность оперативного получения документации на систему эксплуатирующей стороной. Это минимизирует количество последующих вопросов ко мне, как к разработчику. Но применять что то громоздкое для хранения информации не хотелось. В результате установлена просто SD карта в устройство. сама WEB страница хранится в программной памяти в виде бинарного образа и доступна всегда. Но раздел «Информация» (условно один каталог) отображается в корневой каталог SD карты. И там хранятся все файлы документации. В результате WEB интерфейс обеспечивает возможность скачать документацию и софт значительного объема. При необходимости обновить пакет документации или что то добавить нет необходимости что то перешивать. Можно просто записать новый htm файл на карту и добавить что то на нее. В устройстве используется 8-ми битный контроллер PIC18F67J60. Но он вполне справляется. При скачивании больших файлов скорость обеспечивается на уровне 100-150 кБ/сек.

Само устройство и несколько скриншотов WEB интерфейса: