нужна помощь с библиотекой Webduino
- Войдите на сайт для отправки комментариев
Пт, 15/11/2013 - 14:38
Доброе время суток
Столкнулся с несколькоми проблеммами с этой библиотекой
сначала вот адресс библиотеки: https://github.com/sirleech/Webduino
написал скоч для теста и всплыли проблемы
1. почимуто нельзя вывести статус пина
int val1 = digitalRead(led1); if ( val1 = 0) { server.print("off"); } else { server.print("on"); }
2. нельзя сраву включить все пины, их на тесте 4, веб перестает отвечает вообще, если один любой то все работает
digitalWrite(led1, 1); digitalWrite(led2, 1); digitalWrite(led3, 1); digitalWrite(led4, 1);
3. нельзя включить больше двух ледов перестает отвичать веб хотя пинг идет,
ниже код скрипта он страшный но работать должен в тиории и работает если включать не более двух ледов
http://x.x.x.x/on1 включить первый лед
http://x.x.x.x/off1 выключить первый лед
меняя цифру можно упровлять ледоми от 1 до 4
/* Web_HelloWorld.pde - very simple Webduino example */ #include "SPI.h" #include "Ethernet.h" #include "WebServer.h" static uint8_t mac[] = { 0x00, 0x0E, 0xC9, 0x02, 0xFD, 0x00 }; static uint8_t ip[] = { 136, 169, 69, 2 }; int led1 = 4; int led2 = 5; int led3 = 6; int led4 = 7; int check_state=1; #define PREFIX "" WebServer webserver(PREFIX, 80); void defaultCmd(WebServer &server, WebServer::ConnectionType type, char *, bool) { server.httpSuccess(); if (type != WebServer::HEAD) { P(helloMsg) = "<h1>test page</h1>"; server.printP(helloMsg); int val1 = digitalRead(led1); if ( val1 = 0) { server.print("off"); } else { server.print("on"); } int val2 = digitalRead(led2); if ( val2 = 0) { server.print("off"); } else { server.print("on"); } int val3 = digitalRead(led3); if ( val3 = 0) { server.print("off>"); } else { server.print("on"); } int val4 = digitalRead(led4); if ( val4 = 0) { server.print("off"); } else { server.print("on"); } } } void OnCmd1(WebServer &server, WebServer::ConnectionType type, char *url_tail, bool tail_complete) { server.httpSuccess(); if (type == WebServer::HEAD) return; server.print("on"); digitalWrite(led1, HIGH); } void OffCmd1(WebServer &server, WebServer::ConnectionType type, char *url_tail, bool tail_complete) { server.httpSuccess(); if (type == WebServer::HEAD) return; server.print("off"); digitalWrite(led1, LOW); } void OffCmd2(WebServer &server, WebServer::ConnectionType type, char *url_tail, bool tail_complete) { server.httpSuccess(); if (type == WebServer::HEAD) return; server.print("off"); digitalWrite(led2, LOW); } void OnCmd2(WebServer &server, WebServer::ConnectionType type, char *url_tail, bool tail_complete) { server.httpSuccess(); if (type == WebServer::HEAD) return; server.print("on"); digitalWrite(led2, HIGH); } void OnCmd3(WebServer &server, WebServer::ConnectionType type, char *url_tail, bool tail_complete) { server.httpSuccess(); if (type == WebServer::HEAD) return; server.print("on"); digitalWrite(led3, HIGH); } void OffCmd3(WebServer &server, WebServer::ConnectionType type, char *url_tail, bool tail_complete) { server.httpSuccess(); if (type == WebServer::HEAD) return; server.print("off"); digitalWrite(led3, LOW); } void OnCmd4(WebServer &server, WebServer::ConnectionType type, char *url_tail, bool tail_complete) { server.httpSuccess(); if (type == WebServer::HEAD) return; server.print("on"); digitalWrite(led4, HIGH); } void OffCmd4(WebServer &server, WebServer::ConnectionType type, char *url_tail, bool tail_complete) { server.httpSuccess(); if (type == WebServer::HEAD) return; server.print("off"); digitalWrite(led4, LOW); } void setup() { Serial.begin(9600); digitalWrite(led1, 1); //digitalWrite(led2, 1); //digitalWrite(led3, 1); //digitalWrite(led4, 1); pinMode(led1, OUTPUT); pinMode(led2, OUTPUT); pinMode(led3, OUTPUT); pinMode(led4, OUTPUT); Ethernet.begin(mac, ip); webserver.setDefaultCommand(&defaultCmd); webserver.addCommand("on1", &OnCmd1); webserver.addCommand("off1", &OffCmd1); webserver.addCommand("on2", &OnCmd2); webserver.addCommand("off2", &OffCmd2); webserver.addCommand("on3", &OnCmd3); webserver.addCommand("off3", &OffCmd3); webserver.addCommand("on4", &OnCmd3); webserver.addCommand("off4", &OffCmd3); /* start the webserver */ webserver.begin(); } void loop() { char buff[100]; int len = 64; webserver.processConnection(buff, &len); }
Не val1 = 0 ,а val1 ==0 в проверке на условие...Для начала почитать надо было основы языка Ардуино и Си
во блин столько смотрел почему неработает и незаменил катой ошибки и вроде делал раньше проверки в другом проэкте, может и другие ошибки накиеже