Ви не увійшли.
Сторінки 1
А можно как то переделать библиотеку парсинга погоды, там и условия уже есть и таймер то же, только ссылки поменять на нужные мне, куда запрос отсылать. речь идёт пока не об УНО + 5100, а о 8266
Не ужели всё так сложно... Ну есть же время и погоду когда надо вызывать, на почту что то отправлять, ну хорошо там библиотеки задействованы, согласен.. Но мне всего то надо дёрнуть страницу, пусть хоть эту https://forum.arduino.ua/post.php?tid=1603, не получая и ни передавая ей ничего просто перезагрузить, не ужели без скриптов и промежуточных батников не обойтись
которая бы заставляла браузер проверять пора ли открывать ссылку, на js например, по таймеру
Вы наверно не так поняли мне не надо чтоб браузер что то проверял, у меня уже есть 2 таймера на миллис они отрабатывают , и должны отдавать команду на выполнение функции (), но у меня есть и клиент и Index файл, и я запутался немного, вот 2 отрывка кода которые работают пока без желаемого индекс можно открыть в браузере для наглядности.
EthernetClient client = server.available();
if (client) {
boolean currentLineIsBlank = true;
while (client.connected()) {
if (client.available()) {
char c = client.read();
if (req_index < (REQ_BUF_SZ - 1)) {
HTTP_req[req_index] = c;
req_index++;
}
if (c == '\n' && currentLineIsBlank) {
if (StrContains(HTTP_req, "GET /")) {
if (StrContains(HTTP_req, "/ ")
|| StrContains(HTTP_req, "/index.htm")) {
sendHtmlFile(client, "index.htm");
} else if (StrContains(HTTP_req, "/favicon.ico")) {
sendFile(client, "favicon.ico");
} else if (StrContains(HTTP_req, "/input_1.png")) {
sendFile(client, "input_1.png");
} else if (StrContains(HTTP_req, "/input_2.png")) {
sendFile(client, "input_2.png");
} else if (StrContains(HTTP_req, "/input_3.png")) {
sendFile(client, "input_3.png");
} else if (StrContains(HTTP_req, "/input_4.png")) {
sendFile(client, "input_4.png");
} else if (StrContains(HTTP_req, "/input_5.png")) {
sendFile(client, "input_5.png");
} else if (StrContains(HTTP_req, "/input_6.png")) {
sendFile(client, "input_6.png");
} else if (StrContains(HTTP_req, "/my.css")) {
sendFile(client, "my.css");
} else if (StrContains(HTTP_req, "ajax_input")) {
sendBaseAnswer(client);
int val_input_1 = analogRead(input_1); // Для перевода 1024 в % значение =
val_input_1 = map(val_input_1, 0, 1023, 0, 100);
int val_input_2 = analogRead(input_2);
val_input_2 = map(val_input_2, 0, 1023, 0, 100);
int chk;
chk = irrecv.decode(&results);
/*
///////////////////////
int digital_input_1 = digitalRead(???);
int digital_input_2 = digitalRead(???);
client.print (digital_input_1);
client.print(":");
client.print (digital_input_2);
client.print(":");
///////////////////////
*/
client.print (val_input_1);
client.print(":");
client.print (val_input_2);
client.print(":");
client.print (results.value, HEX);
///////////////////////
client.print(":");
client.print(time_hrs_1);
client.print("h . ");
printDigits(client, time_min_1);
client.print("m . ");
printDigits(client, time_sec_1);
client.print("s");
///////////////////////
client.print(":");
client.print(time_hrs_2);
client.print("h . ");
printDigits(client, time_min_2);
client.print("m . ");
printDigits(client, time_sec_2);
client.print("s");
///////////////////////
client.print(":");
client.print(time_hrs_3);
client.print("h . ");
printDigits(client, time_min_3);
client.print("m . ");
printDigits(client, time_sec_3);
client.print("s");
//////////////////////
client.print(":");
client.print((digitalRead(6)) ? "1" : "0");
client.print(":");
client.print((digitalRead(7)) ? "1" : "0");
client.print(":");
client.print((digitalRead(8)) ? "1" : "0");
client.print(":");
client.print((digitalRead(5)) ? "1" : "0");
//////////////////////
} else if (StrContains(HTTP_req, "setpin?")) {
if (StrContains(HTTP_req, "pin=1")) {
digitalWrite(6, HIGH);
digitalWrite(7, LOW);
digitalWrite(5, LOW);
digitalWrite(alarm_Out, LOW); /////
} else if (StrContains(HTTP_req, "pin=2")) {
digitalWrite(7, HIGH);
digitalWrite(6, LOW);
digitalWrite(5, LOW);
digitalWrite(alarm_Out, LOW); ////
} else if (StrContains(HTTP_req, "pin=3")) {
pin3 = !pin3;
digitalWrite(8, pin3);
} else if (StrContains(HTTP_req, "pin=4")) {
digitalWrite(5, HIGH);
digitalWrite(7, LOW);
digitalWrite(6, LOW);
digitalWrite(alarm_Out, LOW); /////
}
sendBaseAnswer(client);
}
}
req_index = 0;
StrClear(HTTP_req, REQ_BUF_SZ);
break;
}
if (c == '\n') {
currentLineIsBlank = true;
} else if (c != '\r') {
currentLineIsBlank = false;
}
}
}
delay(1);
client.stop();
}
}
//************************************************
bool sendHtmlFile(EthernetClient client, char *fileName) {
webFile = SD.open(fileName);
sendBaseAnswer(client);
return sendFile(client, webFile);
}
bool sendFile(EthernetClient client, char *fileName) {
webFile = SD.open(fileName);
sendHttpOkAnswer(client);
client.println();
return sendFile(client, webFile);
}
bool sendFile(EthernetClient client, File &webFile) {
if (webFile) {
while (webFile.available())
client.write(webFile.read());
webFile.close();
return 1;
}
return 0;
}
//////////////////////////////////////////////////////////////////////
void sendBaseAnswer(EthernetClient client) {
sendHttpOkAnswer(client);
client.println(F("Content-Type: text/html"));
client.println(F("Connection: close"));
client.println();
}
void sendHttpOkAnswer(EthernetClient client) {
client.println(F("HTTP/1.1 200 OK"));
}
void StrClear(char *str, char length) {
for (int i = 0; i < length; i++) {
str[i] = 0;
}
}
char StrContains(char *str, char *sfind) {
char found = 0;
char index = 0;
char len;
len = strlen(str);
if (strlen(sfind) > len) {
return 0;
}
while (index < len) {
if (str[index] == sfind[found]) {
found++;
if (strlen(sfind) == found) {
return 1;
}
}
else {
found = 0;
}
index++;
}
return 0;
}
и
<html>
<head>
<meta http-equiv='content-type' content='text/html; charset=UTF-8'>
<link rel="shortcut icon" href="/favicon.ico" type="image/x-icon">
<title>web server 5100</title>
<link type="text/css" rel="StyleSheet" href="/my.css" />
<script>
function GetFlameState() {
nocache = "&nocache=" + Math.random() * 1000000;
var request = new XMLHttpRequest();
request.onreadystatechange = function() {
if (this.readyState == 4) {
if (this.status == 200) {
if (this.responseText != null) {
var arrayOfStrings = this.responseText.split(":");
document.getElementById("sensor-1_txt").innerHTML = arrayOfStrings[0];
document.getElementById("sensor-2_txt").innerHTML = arrayOfStrings[1];
document.getElementById("sensor-3_txt").innerHTML = arrayOfStrings[2];
document.getElementById("sensor-4_txt").innerHTML = arrayOfStrings[3];
document.getElementById("sensor-5_txt").innerHTML = arrayOfStrings[4];
document.getElementById("sensor-6_txt").innerHTML = arrayOfStrings[5];
for(var i = 1 ; i < 8 ; i++)
if(arrayOfStrings[5+i] == "1")
document.getElementById("led_"+i).setAttribute("class","button_enabled");
else
document.getElementById("led_"+i).setAttribute("class","button_disabled");
}
}
}
}
request.open("GET", "ajax_input" + nocache, true);
request.send(null);
setTimeout('GetFlameState()', 1000);
}
function onClick(pin){
var request = new XMLHttpRequest();
request.open("GET", "\setpin?pin=" + pin , false);
request.send(null);
}
</script>
</head>
<body onload="GetFlameState()">
</table>
<center>
<div class="form">
<h2>Web Server router switch 5100</h2>
<hr noshade size="6px" color="gray">
<h3>Download activity & Code IR </h3>
<table align="center">
<td valign="center">1</td>
<td><img src='input_1.png' /></td>
<td valign="center">level </td>
<td><span id="sensor-1_txt">00</span>%</td>
<td>     </td>
<td><img src='input_3.png' /></td>
<td valign="center">code</td>
<td><span id="sensor-3_txt">---------</span></td>
<td>     </td>
<td valign="center">2</td>
<td><img src='input_2.png' /></td>
<td valign="center">level </td>
<td><span id="sensor-2_txt">00</span>%</td>
<td>     </td>
</table>
<center>
<hr noshade size="1px" color="gray">
<h3>Router Power 12v</h3>
<button type="button" id="led_3" class="button_disabled" onClick="onClick(3)">Light</button>
<button type="button" id="led_4" class="button_disabled" onClick="onClick(4)">  Router Power OFF (Standby)  </button>
<button type="button" id="led_5" class="button_disabled" onClick="onClick(5)">Re_Start </button>
<br>
<br>
<td>
<td valign="center">1</td>
<td><img src='input_5.png' /></td>
<td valign="center"> </td>
<td><span id="sensor-5_txt">0h : 00m : 00s</span></td>
<td>       </td>
<td><span id="sensor-4_txt">0h : 00m : 00s</span></td>
<td><img src='input_4.png' /></td>
<td valign="center"> </td>
<td valign="center">2</td>
<br>
<br>
<button type="button" id="led_1" class="button_disabled" onClick="onClick(1)">Router # 1</button>
<input type="checkbox" name="led_1" value="0" /><a>
<a>     Loading is complete     <a>
<input type="checkbox" name="led_2" value="0" /><a>
<button type="button" id="led_2" class="button_disabled" onClick="onClick(2)">Router # 2</button>
<br>
<hr noshade size="1px" color="gray">
<a href='http://megalink.free/login?dst=http://megalink.free&username=T-54%3AE6%3AFC%3ADD%3A30%3A35' style='display: inline-block; width: 195px; height:25px; margin-top:5px; margin-bottom:15px; border-radius:5px; -moz-border-radius:5px; background-color:rgb(171, 211, 220); \'>Вход без логина/пароля 1<a>
<a>     <a>
<a href='http://megalink.free/login?dst=http://megalink.free&username=T-F8%3AD1%3A11%3A25%3AAA%3AB8' style='display: inline-block; width: 195px; height:25px; margin-top:5px; margin-bottom:15px; border-radius:5px; -moz-border-radius:5px; background-color:rgb(171, 211, 220); \'>Вход без логина/пароля 2<a>
<br>
<a href='http://www.speedtest.net/ru' style='display: inline-block; width: 135px; height:20px; margin-top:5px; margin-bottom:2px; border-radius:2px; -moz-border-radius:2px; background-color:rgb(171, 211, 220); \'>speedtest.net<a>
<a href='rezerv' style='display: inline-block; width: 135px; height:20px; margin-top:5px; margin-bottom:5px; border-radius:2px; -moz-border-radius:2px; background-color:rgb(171, 211, 220); \'>rezerv<a>
<a href='https://www.youtube.com/' style='display: inline-block; width: 135px; height:20px; margin-top:5px; margin-bottom:5px; border-radius:2px; -moz-border-radius:2px; background-color:rgb(171, 211, 220); \'>youtube.com<a>
<br>
<hr noshade size="1px" color="gray">
<td valign="center">Общее время подключения </td>
<td><img src='input_6.png' /></td>
<td valign="center"> </td>
<td><span id="sensor-6_txt">  0h : 00m : 00s</span></td>
<hr noshade size="6px" color="gray">
</center>
</div>
</Body>
</html>
Ссылку в браузере можно... без программы на компе, но с открытой вкладкой в браузере.
Этот вариант для начала, подошёл бы, Я только осваиваю, второй не потяну пока.
Вот у меня есть переход по ссылке с вэб, как его доработать
<br>
<a href='http://www.speedtest.net/ru' style='display: inline-block; width: 135px; height:20px; margin-top:5px; margin-bottom:2px; border-radius:2px; -moz-border-radius:2px; background-color:rgb(171, 211, 220); \'>speedtest.net<a>
Он находится в Index на CD
Вечер добрый.
У меня такая проблема. Хочу по условию таймера с участием мега 2560 и 5100, по истечению времени, что всё это работало, ну в крайнем случае с запущенного сервера при открытом браузере. Есть инфо, дайте ссылки посмотреть как там выполнено
Сторінки 1