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 - ethernet shield [VYRESENO]

 
Přidat nové téma   Zaslat odpověď       Obsah fóra Diskuzní fórum Elektro Bastlírny -> Programování PIC, ATMEL, EEPROM a dalších obvodů
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: so květen 17 2014, 18:42    Předmět: Arduino - ethernet shield [VYRESENO] Citovat

Zdravím,
obracím se na Vás s prosbou.Dorazil mi k Arduinu Mega ethernet shield, který bych chtěl použít pro ruční ovládání relé přes web v domácí síti.
Připojil jsem ho k Arduino, zapojil do něj síťový kabel, který mám přes switch napojený do síťovky v PC (nastavil jsem si na síťovce adresu 192.168.0.2 a masku 255.255.255.0) a nahrál do Arduino tento program pro prvotní zkoušku toho ethernet shieldu (ip jsem si v programu zmenil na 0.150, aby to odpovídalo nastavení v PC.
kód:

#include <SPI.h>
#include <Ethernet.h>

// Enter a MAC address and IP address for your controller below.
// The IP address will be dependent on your local network:
byte mac[] = {
  0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
IPAddress ip( 192, 168, 0, 150);

// Initialize the Ethernet server library
// with the IP address and port you want to use
// (port 80 is default for HTTP):
EthernetServer server(80);

void setup() {
 // Open serial communications and wait for port to open:
  Serial.begin(9600);
   while (!Serial) {
    ; // wait for serial port to connect. Needed for Leonardo only
  }


  // start the Ethernet connection and the server:
  Ethernet.begin(mac, ip);
  server.begin();
  Serial.print("server is at ");
  Serial.println(Ethernet.localIP());
}


void loop() {
  // listen for incoming clients
  EthernetClient client = server.available();
  if (client) {
    Serial.println("new client");
    // an http request ends with a blank line
    boolean currentLineIsBlank = true;
    while (client.connected()) {
      if (client.available()) {
        char c = client.read();
        Serial.write(c);
        // if you've gotten to the end of the line (received a newline
        // character) and the line is blank, the http request has ended,
        // so you can send a reply
        if (c == '\n' && currentLineIsBlank) {
          // send a standard http response header
          client.println("HTTP/1.1 200 OK");
          client.println("Content-Type: text/html");
          client.println("Connection: close");  // the connection will be closed after completion of the response
     client.println("Refresh: 5");  // refresh the page automatically every 5 sec
          client.println();
          client.println("<!DOCTYPE HTML>");
          client.println("<html>");
          // output the value of each analog input pin
          for (int analogChannel = 0; analogChannel < 6; analogChannel++) {
            int sensorReading = analogRead(analogChannel);
            client.print("analog input ");
            client.print(analogChannel);
            client.print(" is ");
            client.print(sensorReading);
            client.println("<br />");       
          }
          client.println("</html>");
          break;
        }
        if (c == '\n') {
          // you're starting a new line
          currentLineIsBlank = true;
        }
        else if (c != '\r') {
          // you've gotten a character on the current line
          currentLineIsBlank = false;
        }
      }
    }
    // give the web browser time to receive the data
    delay(1);
    // close the connection:
    client.stop();
    Serial.println("client disonnected");
  }
}

Na tom modulu svítí kontrolky, že to má napájení (přes USB), že je to připojené, atd. ,ale když zadám do prohlížeče adresu toho modulu
http://192.168.0.150, tak se nic nenačte.
Když dám ping na adresu 192.168.0.150, tak na tom modulu bliká kontrolka rx a dostávám jen odpověď:
Odpověď od 192.168.0.2: Cílový hostitel není dostupný.
Program je standardní ten co je v aplikaci na zkoušku, takže by v něm chyba být neměla.
Netušíte někdo co by mohlo být ještě za problém, že se stránka nenačte?
Všude píšou, připojte, nahrajte program "web server" a jede to...

Předem děkuji za pomoc


Naposledy upravil jiri255 dne ne květen 18 2014, 11:32, celkově upraveno 1 krát.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
HiGhLaNdEr



Založen: Mar 08, 2005
Příspěvky: 912
Bydliště: Českobudějovicko

PříspěvekZaslal: so květen 17 2014, 21:57    Předmět: Citovat

while (!Serial)

proběhne ?

hledal bych právě tam, nejdřív, pokud neni nějaký jiný důvod jako třeba špatný ethernet kabel tak to vypadá že se to vůbec nedostane dál, dal bych tam do while od serveru nějaký řádek aby posílal někam na seriák něco aby jsi věděl že se ta smyčka spustila. Přápadně na počítači nainstalovat wireshaark a koukat co tam kde lítá, jestli něco vůbec.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Celeron



Založen: Apr 02, 2011
Příspěvky: 18042
Bydliště: Nový Bydžov

PříspěvekZaslal: so květen 17 2014, 23:14    Předmět: Citovat

Kontrolovals RJ kabel? Jednou jsem koupil zmetek, blbě zapojený. Máš na obou stranách stejnou síťovou masku? Nemáš někde kolizi IP adres? Pokud to je běžně v sériový produkci tak to bude spíš něco takovýhleho, pokud ne tak máš smolík a je vadnej.
Jirka
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
jiri255



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

PříspěvekZaslal: ne květen 18 2014, 9:31    Předmět: Citovat

tak jsem odzkoušel kabel a je funkční, ale nedalo mi to a s arduina jsem vykopnul ten ethernet shield a nahrál jsem tam program na blikání té ledky na pinu 13, abych začal od úplného začátku a ejhle ona ani po resetu nebliká.
Teď mě napadá jedna otázka předtím než jsem tam nasadil ten modul jsem tam měl nahranej program pro ovládání relátek, dráty jsem vyházel zapojil jsem tam ethernet modul připojil k pc přes USB a nahrál ten program web server... nemohl ten program pro ovládání relé, co tam byl předtím, udělat nějaký problém v kombinaci s tím ethernet modulem, protože teď se mi na arduinu při nahrávání programu ledky nerozblikají, ale ani to nevyhodí při nahrávání žádnou chybu Sad Lze to Arduino nějak vrátit do továrního nastavení?
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
jiri255



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

PříspěvekZaslal: ne květen 18 2014, 11:31    Předmět: Citovat

tak nenapadlo mě nic blbějšího než prostě zmáčknout reset, držet ho a pustit do toho program na blikání té ledky, pak jsem to odpojil od PC a znovu připojil a sláva ledka bliká Smile
Nahrál jsem tam tedy úplný základ
kód:

void setup()
{               
     
}


void loop()
{

}

a opět odpojil od pc a připojil ten ethernet modul. Znovu jsem to připojil k PC nahrál ten program web server viz výše a běží.
Vůbec netuším co se té desce stalo nebo proč stávkovala, ale teď už to šlape Very Happy
Díky všem za pomoc
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 -> Programování PIC, ATMEL, EEPROM a dalších obvodů Č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.13 sekund