Nano v3 +ethernet ENC28j60 = ping
- Войдите на сайт для отправки комментариев
Ср, 04/06/2014 - 16:37
Здравствуйте. Пытаюсь разобраться с Nano v3 и ENC28j60. Требуется написать код пинговалки хоста, вслучае если недоступен, перезагрузить. Работу управлением выходами на реле освоил. А вот что то с пингованием проблемы. Не могу найти подходящую библиотеку с примером ( Будте добры, помогите :)
нашел пример
/* Ping Example This example repeatedly sends ICMP pings and sends the result over the serial port. Circuit: * Ethernet shield attached to pins 10, 11, 12, 13 created 30 Sep 2010 by Blake Foster */ #include <SPI.h> #include <Ethernet.h> #include <ICMPPing.h> byte mac[] = {0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED}; // max address for ethernet shield byte ip[] = {192,168,2,177}; // ip address for ethernet shield byte pingAddr[] = {192,168,2,1}; // ip address to ping SOCKET pingSocket = 0; char buffer [256]; void setup() { // start Ethernet Ethernet.begin(mac, ip); Serial.begin(9600); } void loop() { ICMPPing ping(pingSocket); ping(4, pingAddr, buffer); Serial.println(buffer); delay(500); }Вот только не пойму, какое условие мне нужно проверить, что пинга нет, чтобы перезагрузить выход (
Этот пример содержит "Ethernet.h" - значит он для чипа w5100, а не ENC28j60.
а для моего случая не подскажите?
https://github.com/jcw/ethercard/blob/master/examples/pings/pings.ino
не могу понять, где тут адрес назначения (что я пингую). И так же, по какому условию мне понимать, что пинг пропал?
1. в 31 или 34 строке
2. это Вам придётся запрограммировать