37
В данной секции мы определили обработчики
Root – обработчик пустого запроса, в нем мы будем выводить сводную
информацию о модуле: небольшую справку о командах и структуре
данных, МАС адрес устройства, а так же считанную конфигурационную
информацию.
Init – обработчик инициализации модуля. Данный обработчик принимает
в качестве значения переменной строку в формате JSON, интерпретирует,
настраивает порты ввода/вывода и сохраняет данные о настройке портов
в энергонезависимую память.
Read – обработчик, отвечающий за считывание данных, их обработку и
отправку обратно. При вызове данного обработчика происходит опрос
всех портов контроллера в соответствии с настройками, обработка
полученной информации и отправка ее запросившей стороне.
Write – запись в порт некоторой информации, например для включения
или выключения твердотельного реле, подключенного в порту
контроллера.
EEPROM – отладочная функция, позволяющая просматривать данные,
хранящиеся в энергонезависимой памяти. Так как эта функция не
является пользовательской рассматривать его мы не будем
Info - обработчик, возвращающий информационную страницу, которая
может быть полезна при «ручной» работе с модулями.
Обработчик остальных запросов, по сути - заглушка 404.
Так же в секции «setup» идет считывание из флэш-памяти данных о
режиме работы порта (INPT / OUTPUT), о назначенных обработчиках и,
согласно этим данным, настраиваются порты ввода/вывода.
3. Далее начинается секция «loop», которая, в парадигме Arduino
IDE, по сути, является бесконечным циклом. В данной секции при каждой
итерации идет опрос состояния кнопки, с программной обработкой дребезга