Разработать ПО для устройства на базе микроконтроллера TM4C1294NC

Цена договорная
26 ноября 2020, 00:41 • 6 откликов • 43 просмотра
Проект Ethernet Часы

Задача заключается в том, чтобы написать прошивку под готовую железку. Железка построена на базе процессора TM4C1294NCPDT. Железка разработана, полностью собрана и ожидает свою прошивку. Разработчик со стороны железа отвечает за ее работоспособность

Функциональные требования:
1. Опрос 2 датчиков по интерфейсу RS-485 по протоколу ModbusRTU и получение с каждого датчика до 4-х значений параметров (температура, влажность, со2, давление)
2. Управление двумя реле (подробнее в разделе про веб-интерфейс)
3. Опрос датчика ds18b20
4. Управление 6ю семисегментными индикаторами + два двоеточия. Поочерёдный вывод времени, даты и температуры
5. Веб-интерфейс (для настройки и мониторинга)
6. Динамический и статический IP адрес
7. Устройство должно поддерживать обновление прошивки через веб интерфейс
8. Периодическая синхронизация с источником точного времени - NTP и GPS
9. Концепция ведущих ведомых часов:
- Ведущие часы с некоторой периодичностью опрашивают ведомые для уточнения наличия связи с ними. Ведущие часы передают время на ведомые при опросе, если был произведен ввод времени вручную и при очередной синхронизации с источником точного времени. Рассылают расписание звонков на ведомые, в случае его изменения. При старте, производят поиск ведомых отправляя запрос на широковещательный адрес. Всего должно поддерживаться до 200 ведомых
- Ведомые часы отвечают на запросы с ведущих часов. Ответ содержит состояние обмоток реле и запрос на расписание звонков, если необходимо
10. Фоточувствительный элемент для автоматической регулировки яркости индикаторов
11. Сохранение настроек в энергонезависимой памяти
12. Функция возврата к заводским настройкам

Требования к веб интерфейсу

Всего должно быть 5 страниц веб интерфейса
1. страница авторизации
2. главная страница
3. страница с системными настройками
+ возможностью выбрать файл для обновления прошивки
+ возможность задать новый логин пароль
4. страница с настройками реле и звонков
5. страница с отображением списка ведомых

К дизайну веб интерфейса особых требований не предъявляется, главное чтобы было аккуратно, понятно, логично.

1. Отображение на главной странице в реальном времени состояния реле, значений параметров датчиков, температуры, ip адреса, текущего времени на устройстве (часы, минуты, секунды), даты и день недели
2. Возможность обновления прошивки через веб интерфейс
3. Авторизация в веб интерфейсе по логину/паролю c возможностью изменить пароль
4. Выбор между - фиксированная яркость свечения индикаторов(задается в процентах) или автоматическая (в зависимости от сигнала с фоточувствительного элемента)
5. Указание является ли устройство ведущими часами или ведомыми (для ведомых должен быть указан ip адрес ведущих часов)
6. Указание ip адреса NTP сервера
7. Таблица с расписанием звонков (указывается время с дискретностью в минуту, периодичность (разовая, раз вдень, раз в неделю, раз месяц), длительность сработки с дискретностью в секунду, номер дня недели или месяца) – до 300 правил
8. Включение/выключение отображения температуры, даты на индикаторах
9. Указание способа получения ip адреса (DHCP, статика). Указание статического ip адреса
10. Возможность задать время вручную
11. Настройка 2х реле с указанием типа (звонки, реле тип 1, реле тип 2)
12. Настройка условий сработки реле для каждого из параметра датчика в отдельности. Всего две группы, так как всего два датчика
Структура условий сработок реле следующая:
- Отслеживается или нет данный параметр датчика (чекбокс)
- 1-й уровень. Если значение данного параметра датчика превысит этот уровень, сработают реле отмеченные как тип 1
- 2-й уровень. Если значение данного параметра датчика превысит этот уровень, сработают реле отмеченные как тип 2
- 3-й уровень. Отключение сработавших реле типа 1 и типа 2 произойдет только после того как значения всех отслеживаемых параметров датчика упадут ниже этого уровня
- Время сработки реле типа 2. Время, по истечению которого, срабатывает реле отмеченные как тип 2, если один из отслеживаемых параметров датчика превысил уровень 1
13. Если часы настроены как ведущие, то в веб интерфейсе должен отображаться список ведомых, с которыми поддерживается связь, с указанием ip адреса ведомого, даты последней связи, состояния обмоток реле. Так же должна быть предусмотрена кнопка обновления списка ведомых. При нажатии на эту кнопку произойдет отправка запроса на широковещательный адрес. Всего поддерживается до 200 ведомых.

Жду предложений по срокам и стоимости