Arduino+ethernet shield=Ping
- Войдите на сайт для отправки комментариев
Ср, 25/03/2015 - 13:49
Добрый день. Помогите реализовать пинг нескольких устройств посредством ethernet shield w5100 и выводом их активности на светодиоды. На просторах интернета откапал код и чуток подправил(были ошибки при проверке). Все вроде заработало, только не могу понять как сделать на несколько светодиодов.
#include <Ethernet.h> #include <SPI.h> byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED }; byte ip[] = { 192, 168, 2, 2 }; byte server[] = { 192, 168, 2, 1 }; int outputPin = 8; EthernetClient client; boolean send_request() { if (client.connect(server, 445)) { digitalWrite(outputPin, 1); Serial.println("1"); }else{ digitalWrite(outputPin, 0); Serial.println("0"); } } void setup() { Ethernet.begin(mac, ip); Serial.begin(9600); pinMode(outputPin, OUTPUT); } void loop() { send_request(); client.stop(); delay(1000); }
До чего-то похожего я доходил, но пинг проходит только по первому серверу, дальше не идет.
Где-то читал что можно посредством ICMPPing реализовать, но с ним совсем у меня не вышло.
А без порта можно как-то пинговать компьютеры в сети?
Не готов сказать, так как ethernet shield w5100 уменя пока что нету.
Может client.stop();
После каждого
delay(1000); поставить?
Не помогло :(
Это не Пинг, это просто подключение к порту. Не вижу приема-передачи ни одного пакета. Ну и еще... Если коннект открыт и он не нужен его нужно закрыть. Только вот клиент стоп закрывает коннект который открыл внешний клиент, для которого мы сервер. А тут мы клиент :)
Ну да, не пинг, но впринципе проверяет доступность.
Может есть идеи как реализовать ?