Ping IP + W5100 + реле
- Войдите на сайт для отправки комментариев
Сб, 15/07/2017 - 19:23
Доброго времени всем участникам!
Пожалуйста, подскажите скетч для вот такого проекта:
Есть IP 192.168.0.80 к примеру, если пинг этого адреса пропал и в течении 10 секунд не возвращается, выключить питание (реле), подождать 10 секунд и включить питание, подождать 1 минуту, запустить мониторинг заново... и так в цикле бесконечно, пока есть питание на модулях.
Как это реализовать? Я так понимаю нужна Arduino Nano + Lan module + реле модуль, нагрузка на выключателе около 1А, реле держит до 10А, а как написать скетч такого мониторинга? Заранее буду весьма благодарен, если подскажите?
Из железок, предполагаю Arduino Nano + W5100 Lan модуль + Реле модуль + блок питания 5В 2А.
В написании скетчей полный 0, есть опыт работы в PHP и иже идущих языках программирования,
поэтому некотрую логику скетча проследить могу. Если кому не сложно, начинаю изучать,
подскжите скетч для моего проекта, камера замучала виснуть, хочу вот такую схемку сделать,
чтобы сама перезапусказась, когда зависает (ремонт камеры - безсмысленно, цена Китай).
Желательно работать с статическим IP, без DHCP, т.е. ручками прописать параметры LAN модуля.
Заранее всем ОГРОМНОЕ спасибо и извиняюсь, если где то протупил!
з.ы. Навскидку нашел вот такой скетч ping, но как вставить в него логику с реле непонятно.
#include <Ethernet.h>
byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
byte ip[] = { 192, 168, 0, 80 };
byte server[] = { 194, 87, 0, 50 };
int outputPin = 8;
Client client(server, 80);
boolean send_request()
{
if (client.connect()) {
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);
}
И еще один скетч ув. pavel.1632
Насколько я понимаю это именно то, что мне нужно, если будет пару минут, прошу вникните в суть моего проекта и подскажите, что поправить в вашем коде под мои задачи?
начинаю изучать,
Начните изучать вот с этого, а то так и будете беседовать "тихо сам с собою".
начинаю изучать,
Начните изучать вот с этого, а то так и будете беседовать "тихо сам с собою".
Спасибо учту, уже читаю, но что по поводу моего кода? С вашей ссылки я врятли разберусь в нем... Можете подсказать пожалуйста?
https://mysku.ru/blog/aliexpress/53349.html
https://mysku.ru/blog/aliexpress/53349.html
Воу ) СПАСИБО БОЛЬШОЕ!! Насколько я понял это именно то, что нужно, только в скетче нужно будет поменять пинг того же google на пинг моего хоста, верно?
Начните изучать вот с этого, а то так и будете беседовать "тихо сам с собою".
Спасибо учту, уже читаю, но что по поводу моего кода?
Ничерта Вы не читаете, иначе не задавали бы вопрос ...
что по поводу моего кода?
Ничего! Я его не читал. Вставьте как положено, а там посмотрим.
Начните изучать вот с этого, а то так и будете беседовать "тихо сам с собою".
Спасибо учту, уже читаю, но что по поводу моего кода?
Ничерта Вы не читаете, иначе не задавали бы вопрос ...
что по поводу моего кода?
Ничего! Я его не читал. Вставьте как положено, а там посмотрим.
Почему не читаю то? Код в первом сообщении я редактировать не могу, а во втором уже поправил. Извиняюсь, если где то протупил... 8-)
Но лучше видимо пойти по наименьшему сопротивлению и не мучаться с фреймом ICMP, взять вот этот скетч из приведенной статьи и подправить под мои задачи, может кто то помочь?
Скетч:
Что поправить в скетче, чтобы было ворт так: есть IP 192.168.0.80 к примеру, если пинг этого адреса пропал и в течении 10 секунд не возвращается, выключить питание (реле), подождать 10 секунд и включить питание, подождать 1 минуту, запустить мониторинг заново.
alexpebody -ну уж адрес-то в готовый скетч можно и самому вписать. Не стыдно?
alexpebody -ну уж адрес-то в готовый скетч можно и самому вписать. Не стыдно?
Эм, конечно не стыдно, я же не про адрес говорил ) адрес то вписать 2 секунды,
мне нужно сделать логику, как я пишу и тайминги, а как это написать я не знаю.
А логика нужна такая, пингуем IP с периодом например в 1 минуту, затем, если нет
пинга в течении 10 секунд, разрываем реле и ждем 10 секунд, затем включаем реле
и ждем 1 минуту, затем запускаем мониторинг заново и т.д. и т.п. - это не знаю как написать.
И еще непонятно по поводу реле, есть вот такое реле goo.gl/25hxNe, оно НОРМАЛЬНО ЗАМКНУТО
или НОРМАЛЬНО РАЗОМКНУТО? Мне нужно, чтобы было замкнуто, т.к. по сути мне нужно подавать
питание на камеру, пока нет сбоя. Я не пойму, Ардуинка будет давать на него HIGH т.е. замыкать,
пока не указано в скетче другого или это реле все время ЗАМКНУТО и Ардуино будет только
размыкать его... Нигде на сайте нет подсказок от продавца, а ранее с такими я не работал.