Схема и программное обеспечение реализуют часы синхронизированные с NTP сервером, в качестве индикатора используются два классических светодиодных матричных дисплея HDLX2416, а для измерения температуры и влажности применен даичик DHT11.
Назначение динамического IP-адреса выполняется с помощью DHCP. DNS поиск используется для разрешения имени хоста NTP. Его можно настроить с помощью встроенного веб-сервера, который реализует методы GET и POST и базовую аутентификацию HTTP.
Параметры, настраиваемые через Интернет, хранятся в EEPROM.
Схема устройства
При подключении Ethernet соединения присваивается IP-адрес, который отображается в течение 30 секунд, в течение которых выполняются протоколы ARP, DNS и NTP. Если происходит ошибка, часы повторно инициализируются по истечении этого времени. Модифицированный клиент DHCP пытается получить начальный IP-адрес с экспоненциально увеличивающимися интервалами и возобновляет аренду адреса через половину времени аренды, а при 12,5% времени аренды эти интервалы увеличиваются.
Используются стандартные функции хронометража AVR Libc. Самая высокая и самая низкая температура и влажность записываются в ОЗУ с отметками времени. Полезные сообщения журнала отправляются на UART.
Автор: Tim Dorssers
Файлы к статье "Часы с синхронизацией по NTP на ATmega328" | |
Описание:
Исходный код(Си), файл прошивки микроконтроллера |
|
Размер файла: 92.09 KB Количество загрузок: 181 | Скачать |