Модуль мини-веб-сервера ENC28J60 Ethernet для Arduino Nano v3.0 ENC28J60 Ethernet Shield позволяет подключить плату Arduino Nano v3.0 к сети.
Ведущий компонент – микросхема ENC28J60, которая поддерживает стеки TCP и UDP в IP-сети. Плата имеет стандартный разъем RJ-45 со встроенным линейным трансформатором, обеспечивающий гальваническую развязку модуля от кабеля TCP\IP, и опцией PoE (Power over Ethernet) для получения питания от обычной витой пары 5 категории. На плате установлены 2 светодиода, свечение которых свидетельствует об обмене данными. Выведенные на плату ENC28J60 Ethernet_shield разъёмы типа "мама" с шагом 1 дюйм позволяют произвести подключение к ней платы Arduino Nano по модульному принципу, что значительно экономит место.
Плата ENC28J60 Ethernet_shield управляется и получает/передает данные по SPI интерфейсу. При этом используются следующие выводы Arduino Nano:
D10 – SS;
D11 – MOSI;
D12 – MISO;
D13 – SCK;
D2 – выход прерывания. При приеме пакета импульс на этот выход – сигнал для Arduino срочно обрабатывать пакет. Или, как минимум, принять во внимание, что надо получать данные.
Характеристики Питание
напряжение 3,14 – 3,45 В;
ток, мА
максимальный 250;
номинальный 170;
Интегрированный MAC и 10 Base-T PHY;
Полный и полудуплекс;
Поддержка одного 10 Base-T порта с автоопределением полярности и коррекцией;
Автовыравнивание генерации контрольной суммы;
Автоотброс ошибочных пакетов;
Программируемая функция повтора передачи при ошибке;
Программируемые функции Padding и генерирование CRC;
Программируемая функция фильтрации ошибочных пакетов;
Тактовая частота SPI до 20 МГц.
Для работы с ENC28J60 Ethernet_shield рекомендуем использовать Arduino-библиотеку
UIPEthernet, которую можно
скачать из репозитория . В отличие от множества других библиотек для ENC28J60, эта библиотека является полной заменой стандартной (включенной в Arduino IDE) библиотеки
Ethernet.h. Библиотека обеспечивает полную поддержку постоянных (потоковых) TCP и UDP-соединений (клиент и сервер), ARP, ICMP, DHCP и DNS. Для ее использования заменяем строку
#include
на
#include
И используем вее функции стандартной библиотеки Ethernet.h.
Использование
Плата ENC28J60 Ethernet_shield позволяет Arduino получить доступ в Интернет, что делает возможность создавать на основе связки Arduino+ ENC28J60 Ethernet_shield устройств, реализующих концепцию Internet of Things ("Интернет вещей"), согласно которой доступ к данным датчиков или управление исполнительными устройствами может быть обеспечено из любой точки мира.
Рассмотрим самый простой пример отправки данных с фоторезистора (аналоговый датчик освещенности) на один из облачных сервисов.
Сайт «Народный мониторинг» (www.narodmon.ru) — проект по сбору и отображению на карте мира показаний температуры, давления, влажности и т. п. практически в реальном времени по фактическому их состоянию (а не на основе прогнозов) от различных датчиков среды, установленных как на улице для публичного доступа, так и в помещении для приватного, а также с веб-камер для частного или публичного доступа. Передавать показания датчиков на narodmon.ru можно посредством протоколов TCP/UDP или HTTP GET/POST. Минимальный интервал передачи показаний датчика — 5 минут (если передавать чаще, то возможна блокировка).
Чтобы стать участником проекта, необходимо зарегистрироваться: заходим на сайт www.narodmon.ru.
Для отображения показаний датчика (возьмем простейший датчик температуры LM335) на карте необходимо выполнить следующие действия: