WEB-SERVER НА ARDUINO С АВТОРИЗАЦИЕЙ И ГРАФИЧЕСКИМ ПРЕДСТАВ-ЛЕНИЕМ ИНФОРМАЦИИ С ДАТЧИКОВ

  • А.А. Мясищев (A.A. Myasischev)
  • Л.А. Комарова (L.О. Komarova)
  • Р.В. Грицкий (R.V. Gritsky)
  • К.В. Кулик (K.V. Kulik)
Ключові слова: микроконтроллер, ENC28J60, W5100, W5500, Arduino Mega, Arduino UNO, ATmega2560, библиотека Dygraphs, AVR Studio, base64-encoded, basic authentication

Анотація

В работе на базе Arduino Mega и контроллера W5100 построен web-сервер для графического отображения данных удаленного клиента, полученных с датчиков температуры, давления, влажности. Программа сервера написана в среде разработки Arduino IDE. Откорректирована библиотека Ethernet для W5100, которая для Arduino IDE ver. 1.0.3, 1.0.5-r2 приводила к зависанию сервера. Показана возможность использования библиотеки Dygraphs для графической визуализации данных, полученных с помощью датчиков. Написаны скрипты для прорисовки графиков для спроектированного web-сервера. Проанализирована скорость передачи данных с web-сервера Arduino для различных сетевых контроллеров ENC28J60, W5100, W5500 для среды программирования Arduino IDE и библиотек UIPEthernet, Ethernet, Ethernet2. Показано, что с наименьшей скоростью данные передаются web-сервером с контроллером ENC28J60 - 3.3КБайт/с, с наибольшим контроллером W5500 - 23.4Кбайт/с. Отмечено, что эти сервера не поддерживают многопоточную работу. Поэтому они не могут быть использованы для создания миниатюрных универсальных web-серверов для обработки нескольких запросов одновременно. Рассмотренный в работе сервер может обслуживать только один запрос от одного удаленного клиента. Проанализированы скоростные параметры передачи данных для сервера на микроконтроллере ATmega328p(Arduino UNO) с контроллером сети ENC28J60. Программа сервера реализована на языке Си в среде программирования AVR Studio. Отмечена высокая скорость передачи данных - 140КБайт/с и возможность многопоточной работы. Установлено, что при одновременной передачи трех файлов разным клиентам суммарная скорость передачи достигает 120-130КБайт/с, а для каждого клиента 40-50КБайт/с. Показано, что использование такого сервера для решения задачи графического представления данных с датчиков затруднено вследствие сложности переноса программного обеспечения на другие микроконтроллеры и ограниченностью библиотеки для работы с картой microSD. Эксплуатация разработанного здесь сервера в течении трех лет показала высокую надежность его работы. В работе рассмотрено создание web-сервера на Arduino, который имеет модернизированную HTTP basic authentication. Модернизация состоит в том, что для авторизации используется пароль из списка паролей, который выбирается пользователем на основании ключа, пересылаемого сервером. При каждом новом входе на сервер предыдущий пароль становиться недействительным. Представлен практический пример web-сервера на Arduino Mega, контроллерами Ethernet: enc28j60 и w5500.
Опубліковано
2019-12-05
Як цитувати
Мясищев (A.A. Myasischev)А., Комарова (L.О. Komarova)Л., Грицкий (R.V. Gritsky)Р., & Кулик (K.V. Kulik)К. (2019). WEB-SERVER НА ARDUINO С АВТОРИЗАЦИЕЙ И ГРАФИЧЕСКИМ ПРЕДСТАВ-ЛЕНИЕМ ИНФОРМАЦИИ С ДАТЧИКОВ. Збірник наукових праць Військового інституту Київського національного університету імені Тараса Шевченка, (64), 99-112. https://doi.org/10.17721/2519-481X/2019/64-10
Номер
Розділ
ІНФОРМАЦІЙНІ ТЕХНОЛОГІЇ