Использование системы в различных ситуациях, вопросы программирования сценариев.
Модератор: immortal
-
Denis_1704
- Сообщения: 29
- Зарегистрирован: Вт авг 06, 2013 11:04 pm
- Откуда: Москва
-
Благодарил (а):
3 раза
-
Поблагодарили:
1 раз
Сообщение
Denis_1704 » Ср авг 31, 2016 6:24 pm
Дело точно в Веб Ардуины, та как страничку роутера видит. вечером подниму на другой ардуине стандартный веб сервер и проверю.
Возможно это из за того что я убрал паузу перед разрывом соединения в веб сервере в скетче.
//delay(30); из за отсутствии этой паузы может не работать??????
Часть Скеча:
Код: Выделить всё
}
//очищаем строку для следующего считывания
//==============Останавливаем web-client===============================
readString=""; chislostrok=0;
//delay(30);
client.stop();
//====================================================================
}
}}}//------------------------------
-
Вложения
-

- 1.jpg (42.26 КБ) 5109 просмотров
-
olehs
- Сообщения: 1115
- Зарегистрирован: Вс июн 14, 2015 11:08 am
-
Благодарил (а):
85 раз
-
Поблагодарили:
342 раза
Сообщение
olehs » Ср авг 31, 2016 6:41 pm
1. В HTTP после заголовков должно быть 2 перевода строки.
2. Проверьте, в какой кодировке на самом деле ардуина отдает страницу.
-
Denis_1704
- Сообщения: 29
- Зарегистрирован: Вт авг 06, 2013 11:04 pm
- Откуда: Москва
-
Благодарил (а):
3 раза
-
Поблагодарили:
1 раз
Сообщение
Denis_1704 » Ср авг 31, 2016 7:07 pm
olehs писал(а):1. В HTTP после заголовков должно быть 2 перевода строки. - не понял это как???
2. Проверьте, в какой кодировке на самом деле ардуина отдает страницу - как проверить?? .
-
olehs
- Сообщения: 1115
- Зарегистрирован: Вс июн 14, 2015 11:08 am
-
Благодарил (а):
85 раз
-
Поблагодарили:
342 раза
Сообщение
olehs » Ср авг 31, 2016 7:16 pm
Код: Выделить всё
...
// =============Формируем HTML-страницу=================================================
client.println("HTTP/1.1 200 OK");
client.println("Content-Type: text/html");
client.println(); // <<< добавить
client.println("<head> ");
...
Последний раз редактировалось
olehs Ср авг 31, 2016 7:41 pm, всего редактировалось 1 раз.
- За это сообщение автора olehs поблагодарил:
- Denis_1704 (Чт сен 01, 2016 12:42 am)
-
olehs
- Сообщения: 1115
- Зарегистрирован: Вс июн 14, 2015 11:08 am
-
Благодарил (а):
85 раз
-
Поблагодарили:
342 раза
Сообщение
olehs » Ср авг 31, 2016 7:24 pm
Кодировку можно посмотреть в IE: правой кнокой на страничке, Кодировка
-
Denis_1704
- Сообщения: 29
- Зарегистрирован: Вт авг 06, 2013 11:04 pm
- Откуда: Москва
-
Благодарил (а):
3 раза
-
Поблагодарили:
1 раз
Сообщение
Denis_1704 » Чт сен 01, 2016 12:28 am
добавил строчку в скетч ардуины слегка убрал паузу а толку ноль.
ВЕБ Скетч:
Запускается каждую 1 миллисекунду
Код: Выделить всё
// ========================Задаем необходимые библиотеки================================
byte address;
byte address1;
String readString = String(20); //string for fetching data from address
String stroka = String(20); //string for fetching data from address
int chislostrok = 0;
int ZadpozVorotWeb;
// ========================данные сети==========================================
void Web(){
// =============Создаем клиентское соединение====================================
EthernetClient client = server.available();
if (client) { while (client.connected()) { if (client.available()) { char c = client.read();///---------------------------------
// прочитать символ по HTTP запросу полукокса
if (readString.length() < 20) {readString.concat( c); } // количество символово в строке readString.concat( c);
// выходные символы на последовательный порт
// если HTTP запрос закончилась
if (c == '\n') {
chislostrok=readString.indexOf("p="); //
if(chislostrok >=0) {stroka=readString; stroka=stroka.substring(chislostrok+2,chislostrok+5); //stroka.replace("&", " "); stroka=stroka.substring(0,3); stroka.replace(" ", "");
ZadpozVorotWeb=stroka.toInt(); if ((0<= ZadpozVorotWeb) && (ZadpozVorotWeb<= ZybAll)) { ZadpozVorot=ZadpozVorotWeb; Poz();} }
chislostrok=readString.indexOf("s="); //
if(chislostrok >=0) {stroka=readString; stroka=stroka.substring(chislostrok+2,chislostrok+5); //stroka.replace("&", " "); stroka=stroka.substring(0,3); stroka.replace(" ", "");
maxSpeedMotor=stroka.toInt(); if(maxSpeedMotor >40) {maxSpeedMotor=40;} if(maxSpeedMotor <10) {maxSpeedMotor=10;} }
// =============Формируем HTML-страницу=================================================
client.println("HTTP/1.1 200 OK");
client.println("Content-Type: text/html");
client.println(); // <<< добавить
client.println("<head> ");
client.println("<meta http-equiv='Content-Type' content='text/html; charset=utf-8' /> ");
client.println("<title> :: ВоротА:: </title>");
client.println("</head> ");
client.println("<body> ");
if(chislostrok >5){
client.println("<form method=get name=v> <input type=submit value=Назад> </form>");
}
if(chislostrok <5) {
client.println("<meta http-equiv=\"refresh\" content=\"10\">"); //прописать во время движения ворот обновления каждую секунду content=\"10-секунд тормозит жуть
client.println("<h1> <span style=color:#8B3626>::ВОРОТА:: </h1>");
client.println("<h2>Положение Ворот: </h2> ");
client.println("<form method=get name=v>");
client.print("<h3> Открыть<< <input type=range name=p min=0 max=");client.print(ZybAll); client.print(" step=1 value="); client.print(ZadpozVorot); client.println(" CHECKED> >>Закрыть </h3>");
client.println("<h2>Скорость Ворот см/сек.:</h2>"); client.println(maxSpeedMotorWeb);
client.print("<h3> Мин<<<<<< <input type=range name=s min=10 max=40 step=1 value="); client.print(maxSpeedMotor); client.println(" CHECKED> >>>>Макс </h3>");
client.println("<h2>Рекорд Скорости Ворот"); client.println(maxSpeedMotorWeb); client.println("см/сек.:</h2>");
client.println("<input type=submit value=Выполнить></form>");
client.println("<h2> Датчики: </h2>");
client.print("Напряжение АКБ = "); client.println(Vakb);client.print("вольт ");
client.println("<br> "); //перенос на след. строчку
client.print("Ток Зарядки АКБ = "); client.println(Aakb);client.print("Ампер");
client.println("<br> "); //перенос на след. строчку
client.print("ШИМ ЗУ = "); client.println(HimZY);
client.println("<br> "); //перенос на след. строчку
client.print("220в"); if (V220 == 0) {client.println("----");} else {client.println("+++");}
client.println("<br> "); //перенос на след. строчку
client.print(" Т1= "); client.println(Temp1);client.print(" Т2= "); client.println(Temp2);client.print(" Т3= "); client.println(Temp3);
client.println("<br> "); //перенос на след. строчку
//client.print("ОШИБКА № = "); client.println(timeCloseVorota); client.print(" ");client.println(timeSpeedMotor);
//client.println("<br> "); //перенос на след. строчку
client.println("</body></html>");
}
//очищаем строку для следующего считывания
//==============Останавливаем web-client===============================
readString=""; chislostrok=0;
delay(1); // ХЗ
client.stop();
//====================================================================
}
}}}//------------------------------
}
Код Веб странички:
Код: Выделить всё
<head>
<meta http-equiv='Content-Type' content='text/html; charset=utf-8' />
<title> :: ВоротА:: </title>
</head>
<body>
<meta http-equiv="refresh" content="10">
<h1> <span style=color:#8B3626>::ВОРОТА:: </h1>
<h2>Положение Ворот: </h2>
<form method=get name=v>
<h3> Открыть<< <input type=range name=p min=0 max=379 step=1 value=379 CHECKED> >>Закрыть </h3>
<h2>Скорость Ворот см/сек.:</h2>
29
<h3> Мин<<<<<< <input type=range name=s min=10 max=40 step=1 value=40 CHECKED> >>>>Макс </h3>
<h2>Рекорд Скорости Ворот
29
см/сек.:</h2>
<input type=submit value=Выполнить></form>
<h2> Датчики: </h2>
Напряжение АКБ = 13.55
вольт <br>
Ток Зарядки АКБ = 0.46
Ампер<br>
ШИМ ЗУ = 0
<br>
220в+++
<br>
Т1= 14.25
Т2= 0.00
Т3= 0.00
<br>
</body></html>
-
Denis_1704
- Сообщения: 29
- Зарегистрирован: Вт авг 06, 2013 11:04 pm
- Откуда: Москва
-
Благодарил (а):
3 раза
-
Поблагодарили:
1 раз
Сообщение
Denis_1704 » Чт сен 01, 2016 12:36 am
БЛ* почему-то заработало.
2016-09-01 00:33:33 new value: :: ВоротА::
2016-09-01 00:32:40 new value: :: ВоротА::
2016-09-01 00:22:39 incorrect value:
2016-09-01 00:19:53 incorrect value:
в чем прикол???
я не чего не делал??
2016-09-01 00:39:14 new value: 13.47 вольт
2016-09-01 00:38:53 new value: 13.61 вольт
2016-09-01 00:38:41 new value: 13.47 вольт
2016-09-01 00:38:08 new value: 13.50 вольт
2016-09-01 00:37:47 new value: 13.55 вольт
2016-09-01 00:37:33 new value: 13.50 вольт
2016-09-01 00:37:16 incorrect value:
2016-09-01 00:37:13 incorrect value:
2016-09-01 00:36:52 new value:= 13.53 вольт
2016-09-01 00:36:40 new value:= 13.50 вольт
2016-09-01 00:35:02 new value:= 13.61 вольт
Надеюсь дело было в скетче не хватало пропуска или паузы всем спасибо Доступ закрываю.
-
savenko_egor
- Сообщения: 705
- Зарегистрирован: Вс авг 03, 2014 8:17 pm
- Откуда: Украина, Запорожье
-
Благодарил (а):
108 раз
-
Поблагодарили:
147 раз
-
Контактная информация:
Сообщение
savenko_egor » Чт сен 01, 2016 9:42 am
Вы хоть покажите при каком шаблоне поиска заработало.
-
Denis_1704
- Сообщения: 29
- Зарегистрирован: Вт авг 06, 2013 11:04 pm
- Откуда: Москва
-
Благодарил (а):
3 раза
-
Поблагодарили:
1 раз
Сообщение
Denis_1704 » Чт сен 01, 2016 12:34 pm
Сейчас работает при любом шаблоне поиска, дело было в веб ардуины,
-
Вложения
-

- 33.jpg (18.57 КБ) 5030 просмотров
-

- 22.jpg (40.62 КБ) 5030 просмотров
-

- 11.jpg (39.88 КБ) 5030 просмотров