v.01 Управляем Arduino с Web страницы Webserver Ethernet ENC28J60 Enternet HR911105A Pin ON OF Relays. Что нам понадобится: 1). ENC28J60 Ethernet LAN / Network Module. http://www.ebay.com/sch/i.html?_from=R40&_sacat=0&_nkw=ENC28J60&rt=nc&LH_BIN=1 2). Библиотека / Library - "ethercard". EtherCard is a driver for the ENC28J60 chip, compatible with Arduino IDE. https://github.com/jcw/ethercard или берем здесь. https://yadi.sk/d/R57sVoglbhTRN 3). Скачать sketch. v.01 Управляем Arduino с Web страницы Webserver Ethernet ENC28J60 Enternet HR911105A Pin ON OF Relays. ----------------------- Подключаем Pins "ENC28J60 Module" к Arduino Uno. VCC - 3.3V GND - GND SCK - Pin 13 SO - Pin 12 SI - Pin 11 CS - Pin 10 Можно выбрать любой. Подключаем "ENC28J60 Module" например к Router, загружаем sketch, открываем страницу в браузере например 192.168.1.222 , на странице можем включать выключат Pins / реле. --------- Примечание:"ENC28J60 Module" питается от 3.3 volts, и потребляет по документации 250mA. Arduino Uno Максимальный допустимый ток, получаемый с 3V3 контакта — 50 мА. У меня прекрасно всё работает с 3V3 контакта Arduino Uno. На всякий случай, предупреждаю. ------------------ */
// По умолчанию в Библиотеке "ethercard" (CS-pin) = № 8. // if (ether.begin(sizeof Ethernet::buffer, mymac) == 0). // and change it to: Меняем (CS-pin) на 10. // if (ether.begin(sizeof Ethernet::buffer, mymac, 10) == 0).
if (ether.begin(sizeof Ethernet::buffer, mymac, 53) == 0);
if (!ether.dhcpSetup());
// Выводим в Serial монитор IP адрес который нам автоматический присвоил наш Router. // Динамический IP адрес, это не удобно, периодический наш IP адрес будет меняться. // Нам придётся каждый раз узнавать кой адрес у нашей страницы. ether.printIp("My Router IP: ", ether.myip); // Выводим в Serial монитор IP адрес который нам присвоил Router.
// Здесь мы подменяем наш динамический IP на статический / постоянный IP Address нашей Web страницы. // Теперь не важно какой IP адрес присвоит нам Router, автоматический будем менять его, например на "192.168.1.222". ether.staticSetup(myip); ether.hisport = 0000;
ether.printIp("My SET IP: ", ether.myip); // Выводим в Serial монитор статический IP адрес. //-----
for(int i = 0; i <= 8; i++) { pinMode(LedPins[i],OUTPUT); PinStatus=false; } }
// --------------------------------------
void loop() {
delay(1); // Дёргаем микроконтроллер.
word len = ether.packetReceive(); // check for ethernet packet / проверить ethernet пакеты. word pos = ether.packetLoop(len); // check for tcp packet / проверить TCP пакеты.
data += 5; if (data[0] == ' ') { homePage(); // Return home page Если обнаружено изменения на станице, запускаем функцию. for (int i = 0; i <= 7; i++)digitalWrite(LedPins,!PinStatus[i+1]); }
Разные шилды, отсюда разные библиотеки. Понятное дело что не будет работать. Вот у нас есть интересный проект для W5100 http://tehnopage.ru/ethernet-shield-w5100. Он в нескольких частях.
Смысла просить друга у меня не было. Так как я прописываю свой IP адрес и порт который назначал. и заходил благополучно с любого телефона и с другого конца МСК. по простому сотовому интернету, не по Ви-Фи и тем более не по домашней локалке..
Давно известно что 28j60 не стабилен в работе. Когда работал с ним, хотел статью написать то тоже тупил. Вроде грузит страницу, потом не хочет грузить. Так что и интерес к нему пропал. Ну а если он у тебя работает, то зачем менять на 5100? И что делаешь когда IP меняется?
Как то думали сделать, но сейчас другие проекты в деле. А примеры я видел в интернете. Но там есть минусы. Не видно состояние пина, а само состояние меняется ползунком и потом нужно будет нажать отправить. Ничего я больше не нашел по этому шилду 5100