«Система контроля посещения учащимися учебного заведения» - umotnas.ru o_O
Главная
Поиск по ключевым словам:
страница 1
Похожие работы
Название работы Кол-во страниц Размер
Положение о кредитно-модульной системе организации учебного процесса... 3 488.98kb.
Наименование высшего учебного заведения 1 98.05kb.
Название высшего учебного заведения 1 57.9kb.
Отчет по программе педагогической практики 1 437.96kb.
Программа региональной межвузовской научно-практической конференции 1 381.04kb.
Новые педагогические технологии в образовательно-информационной среде... 1 81.82kb.
Место в рейтинге за 2012г Название учебного заведения 1 78.91kb.
Текстоведение 1 260.37kb.
Форма №5/1 сведения о квалификации руководителей и специалистов Общество... 1 81.86kb.
Сведения о членах Янтиковской территориальной избирательной комиссии... 1 45.86kb.
Единое информационное пространство территориально распределенного... 1 121.34kb.
Передача временных и управляющих кодов в области служебных данных... 1 249.05kb.
Викторина для любознательных: «Занимательная биология» 1 9.92kb.

«Система контроля посещения учащимися учебного заведения» - страница №1/1

Здравствуйте, я Кадук Никита. Ученик 9-го класса лицея №28, г. Таганрога.

Руководитель: Кондратов Николай Викторович – учитель информатики.

Представляю Вам исследовательскую работу на тему:

«Система контроля посещения учащимися учебного заведения»


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

В результате решения поставленной задачи, я пришел к выводу, что основным объектом исследования является электронный ключ-таблетка (iButton) от домофона, который имеет свой уникальный 48-битный код.

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

Объектом исследования в проекте стал интерфейс 1-Wire разработан фирмой Dallas Semiconductor. Почему именно этот интерфейс? Разумеется, малым количеством выводов микроконтроллера, требующихся для подключения практически неограниченного количества микросхем. А двусторонний обмен требует всего одну линию. Наконец, протокол обмена по этому интерфейсу очень прост и легко реализуется программно практически на любых микроконтроллерах.

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




Что такое iButton


iButton — оригинальное семейство микросхем, разработанных и выпускаемых фирмой Dallas Semiconductor, USA. Каждая такая микросхема заключена в стальной герметичный цилиндрический корпус и имеет уникальный регистрационный номер (ID), записываемый в процессе изготовления во внутреннее постоянное запоминающее устройство. Все микросхемы iButton выполнены по жестким стандартам. Попробуйте согнуть их — это невозможно. Бросьте устройство на пол, наступите на него, опустите его в воду или в снег — корпус выдерживает механический удар 500 G, рабочий диапазон температур от -40° С до +85° С для большинства приборов семейства, падение с высоты 1,5 метра на бетонный пол, 11-килограммовую нагрузку, не подвержен воздействию магнитных и статических полей, промышленной атмосферы; iButton испытан на ношение в течение 10 лет и гарантированно сохраняет прочность корпуса при 1 миллионе контактов со считывателем. Его компактная форма в виде монеты обеспечивает самовыравнивание в ответном контактном разъеме, что гарантирует простоту использования. Аксессуары позволяют закрепить iButton практически на любой поверхности, включая печатные платы, пластиковые карточки, идентификационные брелки и брелки для ключей.



Используемый интерфейс

Обмен данными с iButton производится через интерфейс 1-Wire, также являющийся фирменной разработкой Dallas Semiconductor. Информация в этом интерфейсе передается по единственному проводнику, то есть шина данных — однопроводная. Питание iButton получают из этого же проводника, заряжая внутренний конденсатор в моменты, когда на шине нет обмена данными. Скорость обмена достаточна для обеспечения передачи данных в момент касания контактного устройства. Протокол интерфейса 1-Wire обеспечивает возможность работы с множеством iButton, подключенных параллельно к линии данных. Команды интерфейса позволяют определить ID всех iButton, подключенных в данный момент к линии и затем работать с конкретным прибором, переведя остальные в режим ожидания. Управление линией данных и выдачу команд производит ведущее устройство, в качестве которого может использоваться любой микроконтроллер или персональный компьютер (ПК). Для обеспечения целостности данных используется вычисление контрольных кодов, а также аппаратный промежуточный буфер в ОЗУ iButton. Данные сначала записываются в этот буфер, затем ведущий проверяет их правильность, и только после этого выдает команду ведомому устройству — скопировать их из буфера в основную память.


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

Практическая часть.



Сегодня я познакомлю вас с интересным протоколом 1-Wire и даже сразу попробуем поработать с устройством, использующим этот протокол.

С большой долей вероятности, Вы пользуетесь устройством 1-Wire и, возможно, даже не догадываетесь об этом. Это всего-навсего – ключ-таблетка от домофона (iButton)!

Достанем ключи из кармана и примемся их пристально разглядывать.
У меня контактная площадка сильно затёрта, но какие-то надписи проглядывают.

Потёр площадку фломастером и становится видна заветная надпись:
iButton.com
00000F67CE41
1-Wire
0744 UB1
 DS1990A#F5

Ага! 1-Wire! 
Так что же это за интерфейс? 
Это однопроводной интерфейс, разработан фирмой Dallas Semiconductor (ныне MAXIM) в конце 90-х годов.

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

DS1990A – это и есть название нашего устройства.

Смотрим варианты iButton-ов на сайте производителя
Наш ключ — это самая первая модель в списке.
DS1990A — 64 Bit ID — уникальный серийный номер-ключ
Качаем датащит.

Число после # определяет форм-фактор ключа – у меня F5.

Итак, наш ключ хранит 64 бита уникальной информации
Питается от 2.8V до 6.0V
К центральной контактной площадке подключается линия данных, а к боковой каёмке – землю.
Ключ может работать в диапазоне температур от -40°C до +85°C – впрочем, это нам не нужно.
Читаем даташит далее.
Величина подтягивающего резистора рекомендуется в 2.2k
Каждый DS1990A прошивается уникальным 64-битным номером

первые 8 бит — номер серии устройства (01h)
следующие 48 бит — уникальный серийный номер
последние 8 бит — CRC-код предыдущих 56 бит информации.

(Cyclic redundancy code, CRC — циклический избыточный код) — способ цифровой идентификации некоторой последовательности данных, который заключается в вычислении контрольного значения её циклического избыточного кода.

Далее в датащите перечислены команды, которые понимает ключ:
33h — считать ROM — команда позволяет считать заветные 64-бита данных ключа
F0h — поиск ROM — т.к. к сети 1-wire может быть подключено несколько устройств данная команда используется для идентификации подключённых устройств.
55h — соответствие ROM / CCh — пропуск ROM
— данные команды входят в минимальный набор необходимых команд 1-wire-устройств. Т.к. в ключе DS1990A эти команды не требуются — он на них не отвечает.

Arduino может работать с 1-Wire, используя библиотеку Jim Studt-а –OneWire.

как оказалось, схема подключения – крайне проста (это ведь 1-Wire!)

Далее нужно скачать библиотеку OneWire и поместить её в свою директорию libraries.

Код скетча:

#include

/*
 * тестируем работу по 1-Wire с ключём-таблеткой DS1990A
 */

OneWire  ds(10);  // на  digital pin 10

void setup(void) {
  Serial.begin(9600);
}

void loop(void) {


  byte i;
  byte present = 0;
  byte data[12];
  byte addr[8];
 
  if ( !ds.search(addr)) {
      Serial.print("No more addresses.\n");
      ds.reset_search();
      return;
  }
 
  Serial.print("R=");
  for( i = 0; i < 8; i++) {
    Serial.print(addr[i], HEX);
    Serial.print(" ");
  }

  if ( OneWire::crc8( addr, 7) != addr[7]) {


      Serial.print("CRC is not valid!\n");
      return;
  }
 
  if ( addr[0] != 0x01) {
      Serial.print("Device is not a DS1990A family device.\n");
      return;
  }
  Serial.println();
  ds.reset();
 
  delay(1000);
}


Происходит постоянный поиск устройств на линии 1-Wire. Пока ключ не подключён – выдаётся: 
No more addresses.
При подключении ключа-таблетки – считывается её номер и выдаётся в COM-порт.
Например, вот что выдаётся при подключении моего ключа-таблетки:

Первая цифра – номер серии – 01h
Далее, как видим, действительно ключ хранит номер, нанесённый на своём корпусе.
Только этот номер выведен наоборот – как и положено по протоколу 1-Wire – начиная с младшего байта.
Последний байт –B6h — CRC-код предыдущих байт.

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

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

Спасибо за внимание!