UDP на ENC28J60

Corvis
Offline
Зарегистрирован: 11.03.2016

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

#include "etherShield.h"
#include "ETHER_28J60.h"

int ledpina = 6;
int ledpinb = 7;

static uint8_t mac[6] = {0x54, 0x55, 0x58, 0x10, 0x00, 0x24};   
static uint8_t ip[4] = {192, 168, 5, 13};                                                                            
static uint16_t port = 80;                                     

ETHER_28J60 ethernet;

void setup()
{ 
  ethernet.setup(mac, ip, port);
  pinMode(ledpina, OUTPUT);
  pinMode(ledpinb, OUTPUT);
}

void loop()
{
 
  char* params;
  if (params = ethernet.serviceRequest())
    { 
    ethernet.print("<H1>Server Turn off/on</H1>");
    ethernet.print("<a href='?cmd=on1' >Выключить Сервер1</a>");
    ethernet.print("<a href='?cmd=on2' >Выключить Сервер2</a>");
    if (strcmp(params, "?cmd=on1") == 0)
      {
        digitalWrite(ledpina, HIGH);
        delay (20);
        digitalWrite(ledpina, LOW);
      }
    if (strcmp(params, "?cmd=on2") == 0)
      {
        digitalWrite(ledpinb, HIGH);
        delay(20);
        digitalWrite(ledpinb, LOW);
      }
    }
    ethernet.respond();
delay(100);  
}

 

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

А Вам нужно именно, через Web? Просто одним проводочком нельзя ардуины соединить и дёргать? Или Web что-то ещё важное будет делать?

Просто, если других целей, кроме как "дёрнуть, чтобы что-то сделала" нет, то Web это такая "толстая Берта" для такого воробья.

axill
Offline
Зарегистрирован: 05.09.2011

При чем здесь UDP?

UDP протокол нижнего уровня и хорош там где нужна максимальная производительность при отсутствии гарантии доставки

вам можно обычные данные через tcp использовать или GET запрос по http протоколу

а библиотека для enc28j60 не одна, их разных есть

Corvis
Offline
Зарегистрирован: 11.03.2016

Между ардуинами очень большое растояние. 

Corvis
Offline
Зарегистрирован: 11.03.2016

библиотека была взята отсюда https://geektimes.ru/post/255430/