Go Down

Topic: ENC28J60, alternativa a lettore SD (Read 645 times) previous topic - next topic

Nik_90

Ciao a tutti, sto sperimentando un poco l'ethernet shield, un modulo ENC28J60. Per il momento riesco ad accendere una lampadina, ho utilizzato questo codice:

Code: [Select]

// A simple web server that turn an LED on or off"

#include "etherShield.h"
#include "ETHER_28J60.h"

int outputPin = 5;

static uint8_t mac[6] = {0x54, 0x55, 0x58, 0x10, 0x00, 0x24};   // this just needs to be unique for your network,
                                                           
static uint8_t ip[4] = {192, 168, 1, 100}; // IP address for the webserver

static uint16_t port = 80; // Use port 80 - the standard for HTTP

ETHER_28J60 e;

void setup()
{
  e.setup(mac, ip, port);
  pinMode(outputPin, OUTPUT);
  digitalWrite(outputPin, HIGH);
}

void loop()
{
  char* params;
  if (params = e.serviceRequest())
  {
   // e.print("<h1><a href='/?led=off'>ARDUINO WEB CONTROL</a></h1>");
   e.print("http/1.1 www.google.it");
    if (strcmp(params, "?led=on") == 0)
    {
      digitalWrite(outputPin, LOW);
      e.print("<a href='?led=off'><button style='border: 1px solid #ff0000; border-left: 10px solid #ff0000' type='button'>LUCE ACCESA</button></a>");
    }
    else if (strcmp(params, "?led=off") == 0)
    {
      digitalWrite(outputPin, HIGH);
      e.print("<a href='?led=on'><button style='border: 1px solid #000; border-left: 10px solid #000' type='button'>LUCE SPENTA</button></a>");
    }
    e.respond();
  }
}


Vedendo in giro vari progetti ho notato che sorge la necessità di utilizzare una sdcard per caricare ad esempio una pagina html (es. index.html)  in modo tale da avere a disposizione più spazio..

Volevo sapere una cosa, avendo io a disposizione un spazio web ad esempio aruba, è possibile caricare nello sketch, con la libreria che uso ora una pagina html che si trova sul server appunto di aruba? In modo tale da risparmiare sulla sd card?

Attendo risposte, grazie mille in anticipo!!

acik

Si, puoi. Ad esempio ti metti un mini index.html nella memoria dell' atmel, che non fa altro che un "reindirizzamento" verso Aruba. Lo vedo abbastanza inutile.

Secondo me una SD ti serve.
Per risparmiare spazio potresti tenere qualcosa su Aruba (esempio immagini), ma la parte interessante deve stare su SD.

acik

Ho visto che hai utilizzato due librerie:
#include "etherShield.h"
#include "ETHER_28J60.h"

A cosa servono entrambe ?

amario57

Stai usando una libreria che non viene più sviluppata, ti consiglio questa per non buttare via esperienza per nulla:
https://github.com/jcw/ethercard
;)

Go Up