Arduino nano управление через интернет
- Войдите на сайт для отправки комментариев
Чт, 19/01/2017 - 02:47
Доброго времени суток! Вот прошивка для Arduino NANO для управление реле через интернет
Вторые сутки мучаюсь не могу сделать, чтобы при включении реле по сети оно через 30 секунд само выключалось и на сайте отоброжалась информация что оно выключено.
Помогите, как это реализовать, или хотябы, чтобы через 30 секунд просто выключалось реле
Вот скетч
#include <EtherCard.h> #define RELAY_PIN 8 static byte mymac[] = {0xDD,0xDD,0xDD,0x00,0x00,0x01}; static byte myip[] = {192,168,0,200}; byte Ethernet::buffer[700]; char* on = "ON"; char* off = "OFF"; boolean relayStatus; char* relayLabel; char* linkLabel; void setup () { Serial.begin(57600); Serial.println("Управление реле"); if(!ether.begin(sizeof Ethernet::buffer, mymac, 10)) Serial.println( "Failed to access Ethernet controller"); else Serial.println("Ethernet controller initialized"); if(!ether.staticSetup(myip)) Serial.println("Failed to set IP address"); pinMode(RELAY_PIN, OUTPUT); digitalWrite(RELAY_PIN, LOW); relayStatus = false; relayLabel = off; linkLabel = on; } void loop() { word len = ether.packetReceive(); word pos = ether.packetLoop(len); if(pos) { if(strstr((char *)Ethernet::buffer + pos, "GET /?ON") != 0) { relayStatus = true; relayLabel = on; linkLabel = off; } else if(strstr((char *)Ethernet::buffer + pos, "GET /?OFF") != 0) { relayStatus = false; relayLabel = off; linkLabel = on; } digitalWrite(RELAY_PIN, relayStatus); BufferFiller bfill = ether.tcpOffset(); bfill.emit_p(PSTR("HTTP/1.0 200 OK\r\n" "Content-Type: text/html\r\nPragma: no-cache\r\n\r\n" "<html><head><meta name='viewport' content='width=200px'/></head><body>" "<div style='position:absolute;width:200px;height:200px;top:50%;left:50%;margin:-100px 0 0 -100px'>" "<div style='font:bold 14px verdana;text-align:center'>Relay is $S</div>" "<br><div style='text-align:center'>" "<a href='/?$S'><img src='http://www.lucadentella.it/files/bt_$S.png'></a>" "</div></div></body></html>" ), relayLabel, linkLabel, linkLabel); ether.httpServerReply(bfill.position()); } }
Читаем эту тему:
http://arduino.ru/forum/programmirovanie/klass-titanovyi-velosiped-dlya-delay-bez-delay
В общем нечего не понял( промучался долго но всё мимо
Нашол вот такой скетч
В общем этот скетч тоже ковырял но не могу понять :
Есть вот код -
Если переделываж вот так \
то при выполнении скетча нечего не происходит, а точнее при нажатии на 1. кнопку туда куда добавил код обновление страници подвисает на некоторое время а потом дальше нормально работает при нажатии остальных 7ми кнопок
подскажите как исправить , своих мозгов нехватает как и какого то опыта , это 1е что делаю на Arduino nano