#1 Re: Програмування Arduino » Как по условию открыть приложение ехе, или хотя бы ссылку в браузере? » 2018-07-13 19:27:10

А можно как то переделать библиотеку парсинга погоды, там и  условия уже есть и таймер то же, только ссылки поменять на нужные мне, куда запрос отсылать.  речь идёт пока не об УНО + 5100,  а  о 8266

#2 Re: Програмування Arduino » Как по условию открыть приложение ехе, или хотя бы ссылку в браузере? » 2018-07-13 18:49:27

Не ужели всё так сложно... Ну есть же время  и погоду когда надо вызывать, на почту что то отправлять, ну хорошо там библиотеки задействованы, согласен.. Но мне всего то надо дёрнуть страницу, пусть хоть эту https://forum.arduino.ua/post.php?tid=1603, не получая и ни передавая ей ничего просто перезагрузить, не ужели без скриптов и промежуточных батников не обойтись

#3 Re: Програмування Arduino » Как по условию открыть приложение ехе, или хотя бы ссылку в браузере? » 2018-06-24 08:38:38

которая бы заставляла браузер проверять пора ли открывать ссылку, на 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> &nbsp &nbsp </td>
<td><img src='input_3.png' /></td>
<td valign="center">code</td>
<td><span id="sensor-3_txt">---------</span></td>
<td> &nbsp &nbsp </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> &nbsp &nbsp </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)">&nbsp Router Power OFF (Standby)&nbsp </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">&nbsp</td>
<td><span id="sensor-5_txt">0h : 00m : 00s</span></td>
<td> &nbsp &nbsp &nbsp </td>
<td><span id="sensor-4_txt">0h : 00m : 00s</span></td>
<td><img src='input_4.png' /></td>
<td valign="center">&nbsp</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> &nbsp &nbsp  Loading is complete  &nbsp &nbsp <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&amp;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> &nbsp &nbsp <a>
<a href='http://megalink.free/login?dst=http://megalink.free&amp;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">Общее время подключения&nbsp</td>
<td><img src='input_6.png' /></td>
<td valign="center">&nbsp</td>
<td><span id="sensor-6_txt">&nbsp 0h : 00m : 00s</span></td>
<hr noshade size="6px" color="gray">
</center>
</div>
</Body>
</html>

#4 Re: Програмування Arduino » Как по условию открыть приложение ехе, или хотя бы ссылку в браузере? » 2018-06-22 09:14:18

Ссылку в браузере можно... без программы на компе, но с открытой вкладкой в браузере.
Этот вариант  для начала, подошёл бы,  Я только осваиваю, второй не потяну пока.
Вот у меня есть переход по ссылке с вэб, как его доработать

<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

#5 Програмування Arduino » Как по условию открыть приложение ехе, или хотя бы ссылку в браузере? » 2018-06-22 00:04:17

Nesamodelkin
відповідей: 12

Вечер добрый.
У меня такая проблема. Хочу по условию  таймера  с  участием мега 2560 и 5100, по истечению времени, что  всё это работало,  ну в крайнем случае с запущенного сервера при открытом браузере. Есть инфо, дайте ссылки посмотреть как там выполнено

Підвал форуму