Доставка курьером по Москве в пределах МКАД всего 350 руб., за МКАД (по линиям метро) - 450 руб.
Доставка по России почтой, транспортными компаниями или самовывоз.
Наличный или безналичный расчет, оплата при получении заказа Подробнее →
Код товара (Артикул): CTTL10938
Изготовитель: DIY
Модуль RC0140. Мини-веб-сервер ENC28J60 для Arduino Nano v3.0 (CTTL10938)
ENC28J60 Ethernet Shield позволяет подключить плату Arduino Nano v3.0 к сети.
Ведущий компонент – микросхемаENC28J60, которая поддерживает стеки TCP и UDP в IP-сети. Плата имеет стандартный разъем RJ-45 со встроенным линейным трансформатором, обеспечивающий гальваническую развязку модуля от кабеля TCPIP, и опцией 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) на карте необходимо выполнить следующие действия:
  • Подключить устройство мониторинга (в нашем случае Arduino) к источнику питания и к сети Интернет (с помощью платы Ethernet shield).
  • Настроить передачу показаний на сайтnarodmon.ruс интервалом 5–15 минут (напомню, если чаще, то возможна блокировка).
Схема подключения датчика

ENC28J60

И скетч отправки данных

#include

byte mac[] = { 0x94, 0xDE, 0x80, 0x3A, 0x90, 0xC9 }; //MAC-адресArduino
const unsigned long postingInterval = 600000; // интервал между отправками
// данных - 10 минут
// IP-адрес, назначаемый Ethernet shield:
byte ip[] = { 192, 168, 0, 119 };
// IP-адрес, dns сервера:
byte sdns[] = { 192, 168, 1, 1 };
// адрес шлюза:
byte gateway[] = { 192, 168, 0, 28 };
// маска:
byte subnet[] = { 255, 255, 255, 0 };

IPAddress server(94,19,113,221); // IP сервера
//IPAddress server(91,122,49,168); // IP сервера
EthernetClient client;
unsigned long lastConnectionTime = 0; // время последней передачи данных
boolean lastConnected = false; // состояние подключения
char replyBuffer[160];

void setup()
{
Serial.begin(9600);
// Ethernet connection:
Ethernet.begin(mac,ip,sdns,gateway,subnet);
// секунда для инициализации Ethernet
delay(1000);
//первое соединение через 15 секунд после запуска
lastConnectionTime = millis()-postingInterval+15000;
}

void loop()
{
//если не подключены, и прошло определенное время, то делаем замер,
//переподключаемся и отправляем данные
if (!client.connected() && (millis() - lastConnectionTime > postingInterval))
{
//формирование HTTP-запроса
memset(replyBuffer, 0, sizeof(replyBuffer));
strcpy(replyBuffer,"ID=");
//Конвертируем MAC-адрес
for (int k=0; k<6; k++)
{
int b1=mac[k]/16;
int b2=mac[k]%16;
char c1[2],c2[2];

if (b1>9) c1[0]=(char)(b1-10)+"A";
else c1[0] = (char)(b1) + "0";
if (b2>9) c2[0]=(char)(b2-10)+"A";
else c2[0] = (char)(b2) + "0";

c1[1]="";
c2[1]="";

strcat(replyBuffer,c1);
strcat(replyBuffer,c2);
}
strcat(replyBuffer,"&");
strcat(replyBuffer,"3351C4BA0200003B");
strcat(replyBuffer,"=");
char temp[3];
double tmpd=(analogRead(A0)5.0/1024)100-273.15;
int tmpi=int(tmpd);
itos(tmpi,temp);
strcat(replyBuffer,temp);
strcat(replyBuffer,"");
//отправляем запрос
httpRequest();
}
//храним последнее состояние подключения
lastConnected = client.connected();
}
// функция отправки запроса
void httpRequest() {
if (client.connect(server, 80))
{
// send the HTTP POST request:
client.println("POST http://narodmon.ru/post.php HTTP/1.0");
client.println("Host: narodmon.ru");
client.println("Content-Type: application/x-www-form-urlencoded");
client.print("Content-Length: ");
client.println(len(replyBuffer));
client.println();
client.println(replyBuffer);
client.println();
lastConnectionTime = millis();
}
else
{
client.stop();
}
}

// размер данных
int len(char buf)
{
int i=0;
do
{
i++;
} while (buf[i]!="");
return i;
}
// функция int to string
void itos(int n, char bufp[3]) //
{
char buf[3]={"0","0",""};
int i = 1;
while (n > 0)
{
buf[i] = (n % 10)+48;
i--;
n /= 10;
}
for (i=0; i<3; i++)
bufp[i]=buf[i];
}

Для передачи данных на сайт «Народный мониторинг» мы используем резервный протокол передачи HTTP POST/GET на URL:http://narodmon.ru/post.php.
При этом HTTP-заголовки для POST будут следующими:
POST http://narodmon.ru/post.php HTTP/1.0
Host: narodmon.ru
Content-Type: application/x-www-form-urlencoded
Content-Length: NN(кол-во байт в строке данных ниже)

ID=MAC&mac1=value1&...&macN=valueN[&time=UnixTime][&name=NAME][&lat=LAT][&lng=LNG]
Скетч запускает Ethernet-соединение, плата получает IP-адрес в Сети, один раз в 5 минут считываются данные с датчика температуры, формируется строка с данными для отправки на сервер «Народный мониторинг», и данные отправляются с использованием протокола HTTP POST.
Теперь авторизуемся на сайте, используя логин и пароль, выбираем команду менюДатчики Мои Датчики Добавить устройствои вводим MAC-адреснашего устройства. Если данные уже были отправлены на сайт, устройство будет добавлено.

ENC28J60 Ethernet Shield V1.0 для Arduino Nano 3.0

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

ENC28J60

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

ENC28J60
Цена: 510,00 руб. В корзину
Подробнее о доставке и покупке товаров →
Вся представленная на данном сайте информация, касающаяся технических характеристик, наличия на складе, стоимости товаров и прочее носит информационный характер и ни при каких условиях не является публичной офертой, определяемой положениями Статьи 437 Гражданского кодекса РФ. Нажатие на кнопку «в корзину», «купить», «продолжить», а также последующее заполнение тех или иных web-форм не накладывает ни на владельцев сайта, ни на пользователя, совершающего данные действия, никаких обязательств. Продажу товаров, обработку персональных данных покупателей осуществляет ИП Биняковский А.А. ОГРНИП: 304770000277937, ИНН: 771800039041 (далее - Оператор), 107023, г. Москва, ул. Малая Семёновская, д. 3А, стр. 1, оф. 512. Отправляя форму оформления заказа, вы даёте согласие Оператору на обработку своих персональных данных в целях продажи вам товаров и услуг, рекламного и маркетингового информирования и консультирования. Если вы не согласны на обработку своих персональных данных, воздержитесь от оформления покупки товаров через данный веб-сайт. Сайт носит исключительно информационный характер и транслирует информацию о товарах, предоставленную Оператором.