Vítejte na Elektro Bastlírn?
Nuke - Elektro Bastlirna
  Vytvořit účet Hlavní · Fórum · DDump · Profil · Zprávy · Hledat na fóru · Příspěvky na provoz EB

Vlákno na téma KORONAVIRUS - nutná registrace


Nuke - Elektro Bastlirna: Diskuzní fórum

 FAQFAQ   HledatHledat   Uživatelské skupinyUživatelské skupiny   ProfilProfil   Soukromé zprávySoukromé zprávy   PřihlášeníPřihlášení 

ARDUINO - načtení stránky do proměnné

 
Přidat nové téma   Zaslat odpověď       Obsah fóra Diskuzní fórum Elektro Bastlírny -> Miniaturní počítače (Arduino, Raspberry a další)
Zobrazit předchozí téma :: Zobrazit následující téma  
Autor Zpráva
jiri255



Založen: Apr 18, 2013
Příspěvky: 168

PříspěvekZaslal: po leden 15 2018, 19:23    Předmět: ARDUINO - načtení stránky do proměnné Citovat

Zdravím vespolek,
už se pár dnů snažím načíst obsah webové stránky do proměnné, ale vůbec se mi to nedaří, tak bych chtěl požádat někoho o pomoc.
Našel jsem spoustu věcí pro php nějaké javascripty a funkci file_get_contents, ale nic s toho se mi nepodařilo zapracovat do html kódu na mém arduinu Sad
Mám jedno arduino hlavní a druhé na ip adrese http://192.168.9.25:88/ a potřeboval bych tu stránku z adresy http://192.168.9.25:88 uložit do proměnné jako text a zobrazit na stránce toho hlavního arduina v html kódu níže:
kód:

  //---------------web stranka
 
   WiFiClient client = server.available();
  if (client) { //Připojil se klient?
              Serial.println("new client");
    boolean current_line_is_blank = true;

   String buffer = "";
   while (client.connected()) {

     if (client.available()) {
        char c = client.read();
         buffer = buffer + c;

         if (c == '\n' && current_line_is_blank) {

  client.println("HTTP/1.1 200 OK");
  client.println("Content-Type: text/html");
  client.println("Connection: close");
  client.println(""); //  do not forget this one
  client.println("<!DOCTYPE HTML>");
  client.println("<html>");
           client.println("<head>");
          client.println("<title>Teplomer Hlavni</title>");
          client.println("</head>");
                    client.println("<body bgcolor=#f9a46f>");
         
  client.println("<h1>TEPLOMER</h1>");
  client.print("<h3>Teplota: ");
  client.print(teplomer1());
  client.print("&deg;C");   
   client.print("</h3>"); 
   client.print("<br>");
 
     //SEM BYCH POTŘEBOVAL DOSTAT OBSAH STRÁNKY
  client.print("http://192.168.9.25:88/");

  client.print("</body>");     
  client.print("<meta http-equiv=\"refresh\" content=\"5\">");
    client.println("</html>");
           break;   
           }

        if (c == '\n') {
          current_line_is_blank = true;
        } else if (c != '\r') {
          current_line_is_blank = false;
        }

    }
   }
           
  delay(20);
     
           client.stop();     
  Serial.println("Client disconnected");
  Serial.println("");
  }
 
  //--------------konec web stranky


Předem děkuji za pomoc
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Cowley



Založen: Feb 04, 2005
Příspěvky: 3287

PříspěvekZaslal: út leden 16 2018, 13:00    Předmět: Citovat

K cemu Ti je na cteni cele stranky? Nestacil by jen nektery parametr, ktery ma to druhe Arduino?
Mozna dost dobre nechapu o co se vlastne snazis.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
LukinoOl



Založen: Jun 09, 2016
Příspěvky: 66

PříspěvekZaslal: út leden 16 2018, 13:13    Předmět: Citovat

A, na jakém železe ti to jede?
B, takhle zpracovávat stránku pro poslání je zvěrstvo
C, na PHP zapomeň
D, js úplně stačí

L:
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
jiri255



Založen: Apr 18, 2013
Příspěvky: 168

PříspěvekZaslal: út leden 16 2018, 16:59    Předmět: Citovat

jo php sem pochopil, že je úplně jiná kapitola, ale js neumím zapsat tak, aby to načetlo do proměné stránku. No jede to na Mega 2560 a UNO a teď to ještě zkouším rozchodit na nodemcu.
Ta stránka na té adrese http://192.168.9.25:88/ obsahuje jen úplně jednoduchý kód:
kód:

 <!DOCTYPE HTML>
  <html>
      <head>
         <title>Teplomer 2</title>
         </head>         
  <h1>TEPLOMER 2</h1>
  <h3>Teplota:
  22,23°C
   </h3> 
    Doba behu pristroje: 3dny 11:10:54
   <br>
  </h6></body>
  <meta http-equiv=\"refresh\" content=\"5\">
    </html>

A tu stránku výše potřebuju, jako text načíst do proměnné a ten text zobrazit v té stránce toho hlavního ARDUINA takže výsledná stránka, kterou uvidím v prohlížeči by pak vypadala nějak takhle

    TEPLOMER

    24,12 °C

    <!DOCTYPE HTML>
    <html>
    <head>
    <title>Teplomer 2</title>
    </head>
    <h1>TEPLOMER 2</h1>
    <h3>Teplota:
    22,23°C
    </h3>
    Doba behu pristroje: 3dny 11:10:54
    <br>
    </h6></body>
    <meta http-equiv=\"refresh\" content=\"5\">
    </html>


no pokud by se ta proměnná dala upravovat nějak tak, že "načti jen to co je mezi <head> a </head> nebo mezi <h1> a </h1> a podobně ,tak to by bylo ještě o dost lepší, ale stačila by mi i jen celá ta stránka...
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Cowley



Založen: Feb 04, 2005
Příspěvky: 3287

PříspěvekZaslal: út leden 16 2018, 18:37    Předmět: Citovat

A co ti brání použít něco z tohoto ?
Předat si info o teplotě z podružného do hlavního a teprve na něm generovat HTML tagy?
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
jiri255



Založen: Apr 18, 2013
Příspěvky: 168

PříspěvekZaslal: út leden 16 2018, 19:01    Předmět: Citovat

díky, ale já potřebuju stáhnout obsah stránky a uložit ho do proměnné z podružného ARDUINA 192.168.9.25:88 ,....26:88 ,....27:88, atd. podle toho z jakého budu potřebovat a zobrazit pouze jako text nebo nejlépe část textu ve stránce toho hlavního ARDUINA, nechci vytvářet žádnou komunikaci pro několik ARDUIN mezi sebou.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Cowley



Založen: Feb 04, 2005
Příspěvky: 3287

PříspěvekZaslal: út leden 16 2018, 19:16    Předmět: Citovat

vždyť mezi nimi vlastně svým způsobem komunikuješ, podružná arduina dělají svoje webovky s údaji a chceš aby hlavní arduino po nich pokukovalo a sosalo z nich hodnoty.
Pokud bys na hlavním arduinu zasílal do podružných arduin UDP datagramy, ony by ti je vracely a měl bys to.
Předpokládám, že každé Arduino má svůj vlastní ETH shield?
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
jiri255



Založen: Apr 18, 2013
Příspěvky: 168

PříspěvekZaslal: út leden 16 2018, 19:27    Předmět: Citovat

ano každé má ETH shield a potřebuju, aby to hlavní po nich kouklo a natáhlo část obsahu stránky do proměnné a zobrazilo to na stránce hlavního arduina, ale potom sem to s toho kódu v tom odkazu teda vůbec nepochopil, jak to takhle pracuje. Tam mě přišlo, že se na každém tom arduinu musí vytvořit program, který tomu hlavnímu bude zasílat jen potřebná data a to nechci nebo se pletu? Co přesně za funkci s toho kódu si dokáže stáhnout obsah jiné stránky a uložit ho do proměnné?
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Cowley



Založen: Feb 04, 2005
Příspěvky: 3287

PříspěvekZaslal: út leden 16 2018, 19:37    Předmět: Citovat

Nevím, proč pořád trváš na místních "malých" webovkách, ale pokud hlavní Arduino pošle do podružného UDP dotaz, malé Arduino jej zachytí a odpoví na něj. To zachytí hlavní Arduino, zařadí jej do svého hlavního programu, vytvoří svojí stránku a jde třeba za chvíi volat znovu, nebo jiné apod.

Koukni ještě sem
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
jiri255



Založen: Apr 18, 2013
Příspěvky: 168

PříspěvekZaslal: út leden 16 2018, 20:36    Předmět: Citovat

ale tohle taky musí být upravený program v těch podružných zařízeních, který bude přes udp něco posílat a to hlavní to bude přes udp číst a zobrazovat. To pro mě nejde použít na těch podružných zařízeních nesmí dojít ke změně programu ani žádný jiný úpravě to hlavní arduino si to musí umět natáhnout ze stránky těch podružných zařízení a každé to podružné zařízení musí mít svoji dostupnou stránku.
Už jsem myslel, že jsem teď našel skvělou věc, ale radoval jsem se předčasně je to na 50% to co bych potřeboval v tom webu se mi zobrazí okno a v něm se načte ta stránka toho podružného zařízení, jenže to funguje jen na starým Internet Exploreru a to ještě podle nálady jednou jo a jednou ne a není to proměnná, takže se s tím nedá dál nijak pracovat jinak by to bylo celkem OK:
kód:

 client.println("<iframe name=teplomer2 src='http://192.168.9.25:88/' scrolling=no width=240 height=190></iframe>");
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Zobrazit příspěvky z předchozích:   
Přidat nové téma   Zaslat odpověď       Obsah fóra Diskuzní fórum Elektro Bastlírny -> Miniaturní počítače (Arduino, Raspberry a další) Časy uváděny v GMT + 1 hodina
Strana 1 z 1

 
Přejdi na:  
Nemůžete odesílat nové téma do tohoto fóra.
Nemůžete odpovídat na témata v tomto fóru.
Nemůžete upravovat své příspěvky v tomto fóru.
Nemůžete mazat své příspěvky v tomto fóru.
Nemůžete hlasovat v tomto fóru.
Nemůžete připojovat soubory k příspěvkům
Můžete stahovat a prohlížet přiložené soubory

Powered by phpBB © 2001, 2005 phpBB Group
Forums ©
Nuke - Elektro Bastlirna

Informace na portálu Elektro bastlírny jsou prezentovány za účelem vzdělání čtenářů a rozšíření zájmu o elektroniku. Autoři článků na serveru neberou žádnou zodpovědnost za škody vzniklé těmito zapojeními. Rovněž neberou žádnou odpovědnost za případnou újmu na zdraví vzniklou úrazem elektrickým proudem. Autoři a správci těchto stránek nepřejímají záruku za správnost zveřejněných materiálů. Předkládané informace a zapojení jsou zveřejněny bez ohledu na případné patenty třetích osob. Nároky na odškodnění na základě změn, chyb nebo vynechání jsou zásadně vyloučeny. Všechny registrované nebo jiné obchodní známky zde použité jsou majetkem jejich vlastníků. Uvedením nejsou zpochybněna z toho vyplývající vlastnická práva. Použití konstrukcí v rozporu se zákonem je přísně zakázáno. Vzhledem k tomu, že původ předkládaných materiálů nelze žádným způsobem dohledat, nelze je použít pro komerční účely! Tento nekomerční server nemá z uvedených zapojení či konstrukcí žádný zisk. Nezodpovídáme za pravost předkládaných materiálů třetími osobami a jejich původ. V případě, že zjistíte porušení autorského práva či jiné nesrovnalosti, kontaktujte administrátory na diskuzním fóru EB.


PHP-Nuke Copyright © 2005 by Francisco Burzi. This is free software, and you may redistribute it under the GPL. PHP-Nuke comes with absolutely no warranty, for details, see the license.
Čas potřebný ke zpracování stránky 0.26 sekund