ВВЕДЕНИЕ 3
1. Теоретическая часть 4
1.1. Сетевая модель OSI 4
1.2. Стек протоколов TCP/IP 5
1.3. Протокол Ethernet 6
1.4. Протокол ARP 8
1.5. Протокол IP 9
1.6. Протокол ICMP 11
1.7. Протокол передачи данных TCP 12
1.8. Передача данных с помощью стека протоколов TCP/IP 14
2. Практическая часть 16
2.1. Датчик температуры DS18B20 17
2.2. Atmega328P 19
2.3. ENC28J60 22
2.4. Алгоритм работы сервера 32
2.5. Передача данных 38
ЗАКЛЮЧЕНИЕ 46
СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ 47
ПРИЛОЖЕНИЕ А 49
Развитие микропроцессоров вместе с уменьшением стоимости их мощностей привело к большему внедрению микропроцессорной техники в повседневное окружение человека. С учетом также широкого распространения интерфейсов беспроводной передачи данных и реализации данных интерфейсов на недорогих модулях появилась возможность создавать экономически эффективные сети из устройств, которые могут получать данные с датчиков и других устройств, обрабатывать их и передавать друг другу. Такого рода сети получили широкое распространение в домашней автоматизации, т.н. «умных домах», а также во многих других областях и носят название - Интернет Вещей (IoT - Internet of Things).
Одним из применений таких сетей, может быть, сеть мониторинга температурных полей и относительной влажности в таких помещениях как, теплицы. Определение температурного поля в теплицах позволяет определить ситуации по типу неработоспособности ламп или поломки окон теплицы, а также позволяет определить качество работы систем контроля климата.
Целью данной работы является создание устройства, способного получать информацию с всевозможных датчиков и отсылать её на удаленный сервер. Это устройство будет состоять из следующих элементов: микроконтроллер Atmega328P и Ethernet-модуль на базе микросхемы ENC28J60. Это устройство должно работать со стеком протоколов TCP/IP, так как на этой технологии базируется вся современная сеть- интернет. В качестве тестового датчика будет использоваться датчик температуры DS18B20. Используя стек протоколов TCP/IP, устройство будет получать команды на измерение температуры и отправки результата.
В ходе выполнения работы были изучены следующие протоколы: SPI, 1-Wire, Ethernet, стек протоколов TCP/IP. Освоено программирование микроконтроллеров семейства AVR, в частности микроконтроллер Atmega328P. Изучена работа и способы взаимодействия с периферийными устройствами, такими как датчик температуры DS18B20 и Ethernet-модуль на базе микросхемы ENC28J60. Собрано и протестировано устройство способное получать показания температуры и отправлять их в сеть с помощью протокола Ethernet и стека протоколов TCP/IP. Написана управляющая программа, реализующая сбор данных по температуре и отправку их в сеть.