III Международный конкурс
научно-исследовательских и творческих работ учащихся
«СТАРТ В НАУКЕ»
 
     

ИНФОРМАЦИОННЫЙ ЭКРАН «ШКОЛЬНЫЙ ХРОНОГРАФ» В ОБРАЗОВАТЕЛЬНОЙ ОРГАНИЗАЦИИ
Подчезерцев А.Е., Солодянкин А.А.
Автор работы награжден дипломом победителя первой степени
Диплом школьника      Диплом руководителя
Текст научной работы размещён без изображений и формул.
Полная версия научной работы доступна в формате PDF


В век информатизации использование компьютерной техники в любых организациях для решения повседневных задач является важнейшей составляющей их деятельности. Появление новых устройств и программного обеспечения могут позволить реализовать практически любые запросы.

В последние годы много внимания государство уделяет информационной открытости, особенно в сфере образования. Большое количество законодательных актов определяют обязанность образовательной организации информировать участников образовательных отношений о своей деятельности. Это прежде всего требования ст. 29 Федерального Закона №273 "Об образовании"[1], требования Федерального Закона №273 «О противодействии коррупции»[2], других федеральных и региональных нормативных актов.

Наряду с использованием стандартных средств информирования, таких как официальный сайт школы, стенды, баннеры, доски объявлений и др., современные технологии позволяют внедрять такие устройства, как электронные табло (бегущая строка, расписания, термометры, индикаторы и др.), голографические экраны, информационные интерактивные киоски, полиэкранные системы, автоответчики и другие. Эффективность подачи информации с использованием подобных систем, бесспорно, высока. Наличие в образовательной организации широкой системы информирования несет не только эстетическую составляющую, но и вносит большой вклад в работу над повышением конкурентоспособности учреждения на рынке образовательных услуг.

В ходе проведения предварительного исследования рынка мы выяснили, что главными проблемами внедрения подобных систем в школах являются:

  1. Высокая стоимость оборудования. Стоимость информационных сенсорных киосков и мультимедийных экранов достигает нескольких сотен тысяч рублей.

  2. Любому оборудованию требуется специальное программное обеспечение. Бесплатных программных продуктов, позволяющих выводить информацию на LCD экран, не существует. Стоимость разработки программного продукта составляет несколько десятков тысяч рублей.

  3. После внедрения информационых устройств, требуется их администрирование либо платная поддержка.

Таким образом, возникает противоречие между необходимостью использования в современной школе эффективных средств информирования участников образовательных отношений с одной стороны и отсутствием доступного оборудования и программного обеспечения, реализующего данные функции, с другой.

Мы постарались частично или полностью решить данную проблему путем разработки собственного программного обеспечения специального информационного экрана на входе в образовательную организацию. Устройство должно выполнять функцию хронографа по следующим пунктам:

  1. Информирование о периодах обучения;

  2. Информирование о расписании уроков в текущий период;

  3. Текущее время и дата;

  4. Информации об оставшемся времени до звонков.

Дополнительно возможно добавить функции автоинформатора по следующим пунктам:

  1. Модуль «Погода»;

  2. Модуль «Дни рождения».

Кроме того, специальное оборудование может позволить внедрить функцию автоматической подачи звонков по расписанию.

Программное обеспечение должно иметь администраторскую часть с удаленным доступом.

Таким образом, можно сформулировать цель проектной работы: разработать и внедрить программное обеспечение специального информационного устройства, реализующее функцию хронографа и автоинформатора для образовательной организации.

Гипотеза нашего исследования – повышение эффективности системы информирования участников образовательной организации о деятельности учреждения возможно с внедрением специального информационного экрана «Школьный хронограф».

Для достижения цели работа проводилась в несколько этапов (задачи исследования):

  1. Изучение проблемы: исследование рынка устройств, исследование рынка программного обеспечения, разработка технического задания;

  2. Постановка цели и задач исследования, описание противоречия и гипотезы исследования;

  3. Разработка концепции продукта: выбор оборудования, выбор программного обеспечения, разработка схемы взаимодействия компонентов системы;

  4. Создание кода программного продукта;

  5. Разработка дизайна интерфейса дисплея;

  6. Перенос и адаптация программного средства на специальную платформу;

  7. Сопряжение программного обеспечения и используемого экрана;

  8. Создание рабочей версии программы;

  9. Тестирование и отладка программного обеспечения: выявление и анализ ошибок при работе программы в штатном режиме в образовательной организации;

  10. Создание заключительной версии программы.

  1. Исследование рынка устройств и программного обеспечения

Сегодня рынок оборудования для обеспечения информационной открытости учреждения представлен довольно широким спектром устройств. Как правило, это сенсорные экраны со специальным программным обеспечением, информационные дисплеи, рекламные интерактивные щиты и мн. др. Далее следует привести анализ средней стоимости подобного оборудования:

Оборудование

Описание возможностей оборудования и ПО

Средняя стоимость

1

Светодиодные экраны

(размер 2500*800*90,

разрешение 160*48мм)

Монохромные светодиодные экраны используются для вывода любой текстовой информации, а так же анимации. Светодиодный экран может быть использован в качестве бегущей строки высокого разрешения, текстового экрана, табло курсов валют, метеостанции с выводом климатический параметров и т.д.

120 000 руб.

2

Сенсорные терминалы

(разрешение 1280х1024.

Металлический корпус.

Программное обеспечение)

Сенсорный киоск или информационный терминал – многофункциональное и многоцелевое электронное устройство, имеющее антивандальный корпус и предназначенное для обеспечения публичного доступа к различного рода информации ресурсов сети.

90 000 руб.

3

Плазменное табло

(размер 1800*800)

Популярное устройство для информирования людей в местах с высокой проходимостью. Может иметь практически любые размеры. Имеет высокую яркость и контрастность.

400 000 руб.

4

Информационные LCD панели

(диагональ 42”,

разрешение 1920*1080,

специальный корпус)

Устройство предназначено для установки в общественных местах и демонстрации любого информационного мультимедийного контента.

200 000 руб.

5

Программное обеспечение

Программное обеспечение позволяет отображать на информационном экране информацию, специфичную для образовательной организации

80 000 руб.*

Для работы с сенсорными панелями используется специальное программное обеспечение – браузеры сенсорных киосков. Это программное обеспечение является эффективным инструментом для полноценного доступа к сети интернет с помощью сенсорного киоска. Диапазон и возможности очень широки: от демонстрации корпоративного сайта, интернет-магазина, интерактивной презентации на выставке или конференции до проведения масштабных маркетинговых мероприятий или промо-акций. Браузер является связующим звеном между пользователем сенсорного киоска и ресурса в интернет. Ввод данных осуществляется с помощью виртуальной клавиатуры на сенсорном мониторе. Доступ к различным интернет-ресурсам можно ограничить за счет встроенных фильтров, так называемых "черных" и "белых" списков. Среди популярных продуктов стоит выделить следующие (анализ подобных продуктов не является целью данного исследования):

  1. Starbrowser;

  2. Easy Browser;

  3. SiteKiosk;

  4. UTSBrowser;

  5. Snowflake Suite;

  6. и другие.

Стоимость программных продуктов в этой области варьируется от 2 до 15 тысяч рублей. Кроме того, организация информирования пользователей на основе киосков требует разработки специальных интернет-сервисов для отображения их на экране. Стоимость разработки – около 100 000 рублей.

Применительно к образовательной организации киоск так же является неотъемлемой частью информационной системы, но в рамках своего исследования мы уделили внимание другому способу информирования – использование информационной LCD панели. Рынок программного обеспечения не предлагает продуктов в этой области ввиду специфики деятельности различных организаций. Разработка подобных продуктов ведется индивидуально. С целью определения оптимальной рыночной стоимости программного обеспечения для информирования участников образовательного процесса о деятельности организации по нашим требованиям было разработано техническое задание (приложение №1) и размещено на сервис freelance.ru. На разработку программного обеспечения было подано более 20 заявок, средняя стоимость выполнения работ (программирование) составила около 80 000 руб. (с учетом НДС, оформлением всей необходимой бухгалтерской отчетности).

Таким образом, разработка собственного программного продукта значительно сокращает стоимость информационной системы в целом.

  1. Технология создания продукта
    1. Выбор базовой платформы

Работа системы, кроме загрузки операционной системы, локального сервера, хранения и выполнения программного кода предусматривает самостоятельную подачу школьных звонков на начало и конец урока через замыкание контактной группы существующей аналоговой системы. Устройство подачи напряжения должно располагаться в непосредственной близости от компьютера управления экраном. Не рассматриваются варианты размещения сервера на облачных хранилищах, так как понадобится дополнительное оборудование для связи с сервером и получения данных. Рассмотрим возможные реализации на локальном сервере:

  1. Обычный ПК с установленной ОС Windows. На компьютере запущено серверное приложение. Данный вариант на первый взгляд самый простой: используется обычный компьютер, который управляет экраном. Однако возникает проблема управления системой звонков. Необходимо создать не только электронное силовое устройство, но и схему его сопряжения с портами ПК. Кроме того, более 99% мощности компьютера расходуются на работу ядра ОС, служб и др. ПО. Большое количество коммутируемого оборудования так же накладывает отпечаток на надежность системы в целом.

  2. Два ПК с установленными ОС и серверной частью – для подачи звонков и для отображения информации на экране. Решение усложняется за счет добавления оборудования, однако будет иметь простую реализацию сопряжения устройств. Имеет те же недостатки реализации, что и п.1.

  3. Специализированный ПК, имеющий встроенное управление питанием выходов (к примеру, элементарная база PC RaspberryPi). Проблема управления питанием, а значит и звонками, решается крайне просто. Кроме того, сам компьютер имеет низкую стоимость, миниатюрные размеры позволяют разместить устройство практически в любом месте системы. Питание осуществляется через порт USB любого устройства. ОС и программное обеспечение сервера и информационного экрана могут быть загружены с карты памяти microSD.

Таким образом, выбор однозначно падает на микрокомпьютер PC RaspberryPi.

Технические характеристики устройства:

Платформа Broadcom BCM2837

Процессор 4 × ARM Cortex-A53, 1,2 ГГц

Видеоускоритель Broadcom VideoCore IV

Оперативная память 1 ГБ LPDDR2 (900 ГГц)

Сеть Ethernet (10/100 Мбит)

Wi-Fi 2,4 ГГц 802.11n

Bluetooth Bluetooth 4.1 (LE)

Постоянная память microSD

GPIO 40 pin

Порты HDMI, 3,5 мм, 4×USB 2.0, Ethernet, Camera Serial Interface(CSI), Display Serial Interface (DSI)

  1.  
    1. Выбор операционной системы

Проведем необходимый анализ программного обеспечения для оптимального средства программирования системы.

  1. Windows10 для IoT. Система на базе Windows легка в освоении, имеет необходимые инструменты, однако текущее состояние оставляет «желать лучшего», имеются определенные проблемы с выводом изображения на экран, проблемы использования приложений не от Microsoft.

  2. Linux подобные системы. Системы работают уже много лет, тесно интегрированы с выбранным RaspberryPi. Количество ошибок и известных проблем заметно ниже и практически не влияет на работу устройства.

Таким образом, для реализации нашей идеи был выбран популярный дистрибутив Raspbian, так как он имеет полный и необходимый функционал для работы в рамках нашего исследования.

Для справки. Raspbian – операционная система, официально поддерживаемая Raspberry Pi Foundation.

  1.  
    1. Средства разработки

Клиентская часть HTML5 + CSS3 + JS. Использовались стандартные средства для отображения клиентской части - они просты и в то же время обладают большим функционалом, позволяющим создавать просто и быстро масштабируемые интерфейсы. CSS использовался для создания стилей оформления, JavaScript – проверка данных, создание более сложных форм ввода данных, отображение таймеров. В проекте не использовались готовые framework’и, что позволило качественно изучить основы используемых технологий, понять принципы работы систем и протоколов, создать легкий сайт, без лишних данных (Приложение 2).

Серверная часть Python 3. Питон имеет хорошую интеграцию с Linux системами, без проблем работает с железом RaspberryPi, имеет простой и понятный синтаксис. Кроме того, на нем можно реализовать серверную часть web-приложения. Преимущества Python3 перед Python2 очевидны: от улучшения синтаксиса до повышения производительности. Серверная часть написана с использованием rawcgi для наилучшего понимания взаимодействия клиента и сервера, уменьшения затрат памяти, исключения установки дополнительного программного обеспечения.

Git – мощная система контроля версий, позволяющая безболезненно одновременно вести разработку нескольким участникам команды на различных устройствах. Данная система экономит ресурсы и время на копирование и передачу данных. Кроме того, с ее помощью можно одновременно разрабатывать несколько частей проекта, что значительно ускоряет процесс разработки. В работе использован GitKraken, он имеет удобный графический интерфейс и достаточный функционал, в котором не трудно разобраться и новичку. GitHub использовался в качестве хостинга исходных кодов проекта и синхронизации его между участниками процесса разработки.

Chrome и ChromeDevTools. Основной браузер RaspberryPi – Chromium, поэтому логично разрабатывать интерфейс под тот же браузер. ChromeDevTools использовались для написания и отладки кода, подборки элементов клиентской части.

Изначально было решено написать серверную, административную часть, так как она является основой хранения информации. Каждый этап создания отдельной страницы настроек делился на несколько подэтапов.

Создание HTML шаблона. Так как необходимо работать со сложными изменяющимися данными, то было принято решение хранить их в JS массиве, а не в DOM представлении (последний способ может затруднить редактирование). После создания работающего прототипа страницы разработка переходила сразу в два этапа: дорисовка станицы и визуальное оформление и создание серверной части.

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

По такой системе были созданы необходимые страницы редакторов шаблонов расписания, периодов обучения, календаря, дней рождения. Были созданы алгоритмы автоматической генерации шаблона года по дням недели и периодам обучения для облегчения его заполнения.

  1.  
    1. Безопасность

Для регулирования доступа к серверной части страницы были защищены авторизацией. Нового пользователя просят ввести логин и пароль, который передается на сервер. Затем на основе данных и алгоритма хэширования sha2-512 происходит поиск пользователя в базе данных. Хеширование необходимо для защиты пароля пользователя от потенциальной кражи. В случае успешной аутентификации пользователю выдается короткоживущий токен, основанный на данных пользователя и времени выдачи. Он сохраняется в базе данных сервера. Информация передается посредством cookies. Данное решение позволит оградить сервер от нежелательных изменений.

  1.  
    1. Модуль «Погода»

Погода, несомненно, является важной и полезной информацией. Для получения погодных данных необходимо было найти сервис, позволяющий выдать информацию. Сначала мы пытались договориться с Yandex, так как у них есть собственный сервис API Яндекс.Погоды, однако было выяснено, что они работают только с крупными метеозависимыми клиентами и отказали в сотрудничестве. Поэтому был запущен поиск альтернатив и выбор пал на OpenWeatherMap. Выбор основан на его доступности, простоте и популярности.

  1.  
    1. Интерфейс Экрана

К этой части предоставляются более жесткие требования, так как она должна выглядеть строго, интуитивно понятна пользователю. Поэтому на данном этапе возникли проблемы с дизайном, который переделывался несколько раз. В каждой новой версии учитывались пожелания учащихся и учителей лицея, что позволило создать оптимальный интерфейс. Параллельно производилась разработка серверной части, которая сообщала текущий шаблон расписания с уроками, текущую дату и время, дни рождения и погодный прогноз.

Результат разработки интерфейса представлен на рисунке.

  1.  
    1. Система подачи звонков

Для подачи звонка необходимо замкнуть контакты ключа. Так как ток и напряжение системы звонков в образовательной организации 220В, более 10А, было принято решение управлять системой с помощью реле. На начальном этапе вместо реле использовался светодиод и резистор, соединенных последовательно для защиты первого. Напряжение на контактах RaspberryPi – 5В. Так же потребовалось разработать отдельный сервер, который на основе данных определяет, когда необходимо подавать звонок. Рынок предлагает достаточное количество электронных реле, рассчитанных на различные значения токов и напряжений. Наш выбор пал на современные устройства – твердотельные реле.

Для справки. Твердоте́льное реле́ (ТТР) (англ. Solid-state relay, SSR) — электронное устройство, являющееся типом реле без механических движущихся частей, служащее для включения и выключения высокомощностной цепи с помощью низких напряжений, подаваемых на клеммы управления

Пример характеристики устройства:

  1. Модель: KS1-80DD

  2. Режим управления: DC

  3. Напряжение управления: 3-32V

  4. Напряжение нагрузки: 5-220V

  5. Ток нагрузки: 80А

  6. Индикатор работы: LED

  7. One-off Time: 1 Млн.

  8. Размер: 57x44x32 мм

  9. Вес нетто 100 г

  1.  
    1. Корпус

Для реализации вертикального оформления системы рынок предлагает специальные стенды. Самостоятельное изготовление подобной конструкции не составит особого труда. Размеры телевизора мы перенесли в программу для моделирования, в которой был создан прототип. Затем по полученным данным были экспортированы чертежи корпуса изделия. Он предусматривает крепление самого телевизора, размещение реле, платы микрокомпьютера RaspberryPi.

  1.  
    1. Администрирование системы

С целью доступа к необходимым функциям и настройке программы потребовалось создать административную часть системы. Настройка может быть произведена на весь текущий год с учетом праздничных дней и особенностей режима работы учреждения. Административная часть включает:

  1. Календарь. Позволяет визуально настроить расписание подачи звонков на текущий учебный год.

  1. Периоды обучения. Позволяет редактировать периоды обучения на текущий учебный год.

  1. Дни рождения. Позволяет загружать (поддерживает форматы xlsx, scv) редактировать, удалять и выгружать базу дней рождения обучающихся и учителей в текущем учебном году.

  1. Обновление системы. Осуществляет проверку версии ПО и загрузку обновлений системы.

  2. Перезагрузка. Кнопка перезагружает компьютер в случае такой необходимости.

  1.  
    1. Завершающий этап работы

После выполнения вышеуказанных пунктов необходимо качественно оформить программный код системы. Был произведен рефакторинг кода, это повысило его потенциальную масштабируемость и читаемость. Создан собственный модуль Python, позволяющий быстро редактировать и создавать дополнительные страницы (Приложение 3).

Необходимо было решить проблему обновления страницы: при внесении изменений в серверную часть они не отображались на экране. Приходилось обновлять экран браузера. Решение данной проблемы мы нашли в следующей реализации: клиент подгружает элемент-пустышку с сервера. При этом сам сервер не отдает его сразу. Он ждет сообщения о внесении изменений, затем завершает отправку клиенту. Это решение позволяет быстро отобразить поправки и при этом не загрузить сервер.

Клиентский и серверный код изменен в соответствии с новыми знаниями, полученными в процессе разработки проекта. Повторяющийся код страниц вынесен в отдельные модули, настроено кэширование. Это также уменьшило нагрузку на сервер.

  1. Заключение

Результатом нашей работы можно считать готовую информационную систему «Школьный хронограф».

Для реализации поставленной задачи были использованы доступные материалы и средства. Работа имеет практическую и социальную значимость: стоимость всех работ и материалов оказалась в несколько десятков раз ниже рыночной стоимости подобных продуктов; с 2017 учебного года система будет внедрена и использована в штатном режиме в МБОУ «Физико-математический лицей» г. Глазова. После завершения тестирования в условиях штатной работы и создания окончательной версии, программа будет предназначена для свободного распространения в образовательных организациях РФ.

Перед созданной системой не стоит задача реализации новостной ленты организации или вывода любой другой информации. Основной функцией «Школьного хронографа» является фиксация временных промежутков в течение учебного года (хронограф – устройстводля определения промежутков времени путем сравнения отметок начала и конца наблюдаемых промежутков с отметками известных промежутков времени), вывод на экран другого информационного контента. Работа над проектом может быть продолжена – описанная технология создания «Школьного хронографа» поможет в создании «Новостного экрана», «Школьного информационного киоска» и других устройств школьной информационной системы.

За время тестирования наша система показала себя как надежное и простое решение:

  • Миниатюрный размер. Компьютер может быть легко размещен на задней панели телевизора.

  • Надежность. Для реализации проекта использово ОС Linux, зарекомендовавшая себя как быстрая и надежная система. «Чистый» исходный код ПО обеспечивает максимальную производительность всей системы.

  • Минимум коммуникаций. Питание компьютера осуществляется прямо из порта USB телевизора.

  • Полностью автономная система. Для организации транслирования информации нет необходимости использовать удаленные сервера.

  • Автоматический запуск. После включения телевизора компьютер автоматически загружается в течение 20 секунд.

Таким образом, мы считаем, что цель нашего проекта достигнута: в процессе работы создана электронная система информирования «Школьный хронограф», обеспечивающая реализацию основной цели и задач исследования.

  1. Используемая литература
  1. Федеральный закон РФ "Об образовании в Российской Федерации", N 273-ФЗ. Режим доступа: http://www.consultant.ru/document/cons_doc_LAW_140174/

  2. Федеральный закон "О противодействии коррупции" от 25.12.2008 N273-ФЗ. Режим доступа:

  3. http://www.consultant.ru/document/cons_doc_LAW_82959/

  4. Киберфорум. Форум веб-программистов. Режим доступа: http://www.cyberforum.ru

  5. Программирование на Python, том II, 4-е издание. – Пер. с англ. – СПб.: Символ-Плюс, 2011. – 992 с., ISBN 978-5-93286-211-7

  6. Кеир Томас. Карманный справочник и руководство для пользователя Ubuntu. - Published by The Pragmatic Programmers, 2008. - 400 p., ISBN: 978-1934356227

  7. Создание простого сайта на Python. Статья. Режим доступа: https://pythonworld.ru/web/cgi-1.html

  8. Настройка Linux для запуска в режиме киоска. Режим доступа: http://www.cyberforum.ru/ubuntu-linux/thread794901.html

Приложение 2

Схема взаимодействия компонентов системы

Приложение 3

Структура файлов проекта

3 │ launcher.py Запускает все сервера

4 │ LICENSE.md

5 │ README.md

6 │ Server.py Основной Web сервер

7 │ ServerCall.py Сервер подачи звонков

8 │ ServerUpdate.py Сервер обновления

9 │

10 ├───cgi-bin Папка со скриптами

11 │ │ Birthday.py Редактор дней рождений

12 │ │ Calendar.py Редактор календаря года

13 │ │ login.py Форма авторизации

14 │ │ Settings.py Панель всех настроек

15 │ │ Stages.py Редактор периодов обучения

16 │ │ TimeTable.py Редактор шаблонов расписания

17 │ │ TV.py Отображение экрана

18 │ │ update.py Скрипт обновления

19 │ │

20 │ ├───Birthday

21 │ │ birthday.csv Данные учеников и учителей

22 │ │ birthday.html Шаблон страницы редактора

23 │ │

24 │ ├───calendar

25 │ │ 2016.txt Данные звонков за учебный год

26 │ │ calendar.html Шаблон страницы календаря

27 │ │

28 │ ├───login

29 │ │ keys.txt Хранит действующие токены

30 │ │ login.html Шаблон страницы авторизации

31 │ │ passwords.txt Хранит пары логинов и хэшей пароля

32 │ │

33 │ ├───Settings

34 │ │ Settings.html Шаблон страницы настроек

35 │ │

36 │ ├───Stages

37 │ │ Stages.html Шаблон страницы периодов

38 │ │ Stages.txt Данные о периодах

39 │ │

40 │ ├───TimeTable

41 │ │ LastID.txt Служебный файл последнего ID для расписания

42 │ │ Patterns.txt Список всех расписаний

43 │ │ TimeTable.All.html Шаблон страницы всех расписаний

44 │ │ TimeTable.html Шаблон страницы выбранного расписания

45 │ │ Выходной.txt

46 │ │ Имя.txt

47 │ │ Каникулы.txt

48 │ │ Обычное.txt

49 │ │ Сокращенный.txt

50 │ │ Суббота.txt

51 │ │

52 │ └───TV

53 │ TV.html Шаблон страницы экрана

54 │

55 ├───css

56 │ button.css Стили кнопки

57 │

58 └───images

59 favicon.ico Иконка сайта

Приложение 4.

Схема компонентов системы