Close

Ethernet shield

Úvodní stránka Fórum Hardware Arduino Ethernet shield

  • Toto téma obsahuje celkem 1 odpověď. Do diskuze (2 diskutující) se naposledy zapojil uživatel RomanB a poslední změna proběhla před 8 roky a 8 měsíci.
Aktuálně jsou na stránce zobrazeny 2 příspěvky - 1. až 2. (celkem z 2)
  • Autor
    Příspěvky
  • #3788
    cadej
    Účastník

    Zdravím, rozhodl jsem se propojit Arduino s internetem, postupoval jsem přesně podle návodu z e-booku (odkaz níže na článek), bohužel i přes pár úprav kódu na míru mi nechce program běžet tak jak by měl, tj: měl bych být schopen připojit se na stránku s IP 10.0.0.15 a poté měnit tlačítkem připojeným k arduinu pozadí mezi červenou/zelenou barvou. Bohužel se nemohu k serveru připojit. Neměl by někdo radu? V arduinu jsem nováček, tak budu rád i za „triviální“ rady. 🙂 Moc děkuji za Váš čas a rady. 🙂

    Arduino a Ethernet shield

    Zde ještě přikládám kód:

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

    byte mac[] = {0x90, 0xA2, 0xDA, 0x00, 0x9C, 0xB7};
    IPAddress ip(10,0,0,15);

    EthernetServer mujSvr(80);
    void setup() {
    Ethernet.begin(mac);
    mujSvr.begin();
    pinMode (7, INPUT);
    pinMode (13, OUTPUT);
    }

    void loop()
    {
    EthernetClient client = mujSvr.available();
    if (client){
    boolean prazdnyRadek = true;
    while (client.connected() && client.available()){
    char c = client.read();

    if (c == ‚n‘ && prazdnyRadek){
    client.println(„HTTP/1.1 200 OK“);
    client.println(„Content-Type: text/html“);
    client.println(„Connection: close“);
    client.println(„Refresh: 1“);
    client.println();
    client.println(„<!DOCTYPE HTML>“);
    client.println(„<html>“);
    client.println(„<head>“);
    client.println(„<title>Zkouska spojeni</title>“);
    client.println(„</head>“);
    if (digitalRead(7)== HIGH){
    client.println(„<body style=\“background:green\“>“);
    }
    else{
    client.println(„<body style=\“background:red\“>“);
    }

    client.println(„</body>“);
    client.println(„</html>“);
    }
    if (c == ‚n‘){
    prazdnyRadek = true;
    }
    else if(c != ‚r‘){
    prazdnyRadek = false;
    }

    }
    delay (1);
    client.stop();
    }

    }

    #3794
    RomanB
    Účastník

    Zdravím, IP adresa se musí zadat tak trochu jinak, než je napsaná v tutoriálu. Pokud je Ethernet shield zapojen přes UTP kabel do WiFi routeru a router je nakonfigurován tak, aby DHCP přiděloval IP, potom si zjisti rozsah přidělovaných adres a nějakou tu adresu do nastavení vepiš.

    Třeba u mě to je IPAddress ip(192,168,0,111);
    Potom bych ještě zapsal v setupu Ethernet.begin(mac, ip);

Aktuálně jsou na stránce zobrazeny 2 příspěvky - 1. až 2. (celkem z 2)
  • Pro reakci na toto téma se musíte přihlásit.