Алексей,Браво вам и всем кто откликнулся, спасибо за терпение.
Все работает,мне даже понравилось и 5 часиков с паяльником и подарок в день Радио!
Всем 73!
Александр (AG2T)
вот скетч
#include <EtherCard.h>
#include <IPAddress.h>
#define STATIC 1 // set to 1 to disable DHCP (adjust myip/gwip values below)
#if STATIC
// ethernet interface ip address
static byte myip[] = { 192,168,1,118 };
// gateway ip address
static byte gwip[] = { 192,168,1, 1 };
#endif
// ethernet mac address - must be unique on your network
static byte mymac[] = {0x0A,0x01,0x02,0x03 ,0x04,0x05};
byte Ethernet::buffer[500]; // tcp/ip send and receive buffer
#define LISTEN_PORT 50008
#define OUT_PIN 7
#define INTERVAL 10
void process(String cmd) {
Serial.print(cmd);Se rial.print(" - "); Serial.println(milli s());
if (cmd.equals("L1")){
digitalWrite(OUT_PIN ,HIGH);
//Serial.print("L1 - "); Serial.println(milli s()-downTime);
//downTime=millis();
return;
}
if (cmd.equals("L0")){
digitalWrite(OUT_PIN ,LOW);
//Serial.print("L0 - "); Serial.println(milli s()-downTime);
//downTime=millis();
return;
}
/*
if (cmd.equals("R1")){
digitalWrite(OUT_PIN ,HIGH);
Serial.print("R1 - "); Serial.println(milli s()-downTime);
downTime=millis();
return;
}
if (cmd.equals("R0")){
digitalWrite(OUT_PIN ,LOW);
Serial.print("R0 - "); Serial.println(milli s()-downTime);
downTime=millis();
return;
}
if (cmd.equals("QRT")){
Serial.println("QRT" );
qrt=true;
} else {
Serial.print("discar ded:"); Serial.print(cmd);Se rial.println("<");
//Serial.println(cmd.l ength());
}
*/
}
//callback that prints received packets to the serial port
void udpSerialPrint(word port, byte ip[4], const char *data, word len) {
IPAddress src(ip[0], ip[1], ip[2], ip[3]);
Serial.println(src);
Serial.println(port) ;
Serial.println(data) ;
process(String(data) );
Serial.println(len);
}
void setup()
{
pinMode(OUT_PIN, OUTPUT);
Serial.begin(9600);
if (ether.begin(sizeof Ethernet::buffer, mymac) == 0)
Serial.println(F("Fa iled to access Ethernet controller"));
#if STATIC
ether.staticSetup(my ip, gwip);
#else
if (!ether.dhcpSetup())
Serial.println(F("DH CP failed"));
#endif
/*
Serial.println("==== ==================== =========");
Serial.print("localI P: ");
Serial.println(Ether net.localIP());
Serial.print("subnet Mask: ");
Serial.println(Ether net.subnetMask());
Serial.print("gatewa yIP: ");
Serial.println(Ether net.gatewayIP());
Serial.print("dnsSer verIP: ");
Serial.println(Ether net.dnsServerIP());
Serial.print("Listen port: ");
Serial.print(LISTEN_ PORT);
Serial.print(" - ");
Serial.println(succe ss ? "success" : "failed");
Serial.println("==== ==================== =========");
*/
ether.printIp("IP: ", ether.myip);
ether.printIp("GW: ", ether.gwip);
ether.printIp("DNS: ", ether.dnsip);
//register udpSerialPrint() to port 1337
ether.udpServerListe nOnPort(&udpSerialPr int, LISTEN_PORT);
digitalWrite(OUT_PIN ,LOW);
}
void loop()
{
ether.packetLoop(eth er.packetReceive());
}