UDP на ENC28J60
- Войдите на сайт для отправки комментариев
Пт, 11/03/2016 - 13:43
Добрый день. Необходимо сделать так, чтобы при нажатии кнопки на одной ардуине, вторая дёргала бы через мосфет кнопку выключения двух ПК. Купил для этого дела модули 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); }
А Вам нужно именно, через Web? Просто одним проводочком нельзя ардуины соединить и дёргать? Или Web что-то ещё важное будет делать?
Просто, если других целей, кроме как "дёрнуть, чтобы что-то сделала" нет, то Web это такая "толстая Берта" для такого воробья.
При чем здесь UDP?
UDP протокол нижнего уровня и хорош там где нужна максимальная производительность при отсутствии гарантии доставки
вам можно обычные данные через tcp использовать или GET запрос по http протоколу
а библиотека для enc28j60 не одна, их разных есть
Между ардуинами очень большое растояние.
библиотека была взята отсюда https://geektimes.ru/post/255430/