Pages: [1] 2   Go Down
Author Topic: web server su sd con tiny e senza  (Read 1527 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Newbie
*
Karma: 0
Posts: 17
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ciao a tutti, sto per diventare scemo, ho provato vari esempi della libreria del tinywebserver blinkled e non va, mi da perfino errore nella compilazione usando l'ide 1.0 e la libreria aggiornata.
ho provato ad usare l'ide 0023 con una libreria sempre tiny per quella versione dell'ide, copiato i file nella sd, modificato l'ip nel programma, lo carica su arduino ma quando vado ad aprire l'indirizzo dal browser non va.
ho provato a seguire vari esempi nel forum tipo
http://arduino.cc/forum/index.php/topic,101336.0.html
http://arduino.cc/forum/index.php/topic,101145.0.html
http://arduino.cc/forum/index.php/topic,77511.0.html
http://arduino.cc/forum/index.php/topic,101744.0.html
ma niente da fare non riesco a far funzionare nulla.
ci sarebbe qualche buon anima che mi aiuterebbe a far funzionare almeno un'esempio???  smiley-cry
grazie in anticipo
Logged

Genova
Offline Offline
Faraday Member
**
Karma: 39
Posts: 3390
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ti posso dire con certezza che sulla 0022 Finziona. Prova e ci aggiorniamo, se non si connette verifica bene i parametri della tua rete locale. ciao
« Last Edit: April 24, 2012, 07:56:15 am by pablos » Logged

no comment

Offline Offline
Newbie
*
Karma: 0
Posts: 17
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

ciao pablos ho provato come hai detto tu con la 0022 ma niente da fare, non credo che siano le impostazioni della prete perchè con gli esempi della libreria ethernet funziona tutto.
per caso sai c'è qualche requisito particolare per la sd?
Logged

Genova
Offline Offline
Faraday Member
**
Karma: 39
Posts: 3390
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Di partcolare nulla, formattala in fat16. Da quanti gb è?
Logged

no comment

Offline Offline
Newbie
*
Karma: 0
Posts: 17
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

È da 512 Mb ed è anche formattata fat16
Logged

Verona
Offline Offline
Jr. Member
**
Karma: 0
Posts: 79
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

quando carichi gli esempi riesci a pingare l'arduino?
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 17
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

ciao mauroz, con l'esempio caricato il ping va bene, nessun pacchetto perso
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 17
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

per la precisione sto usando l'esempio blinkled5
http://arduino.cc/forum/index.php/topic,56928.0.html
da cui ho scaricato il codice e sto usando l'ide 0022
Logged

Genova
Offline Offline
Faraday Member
**
Karma: 39
Posts: 3390
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

prova a mettere questo e carica qualsiasi pagina html rinominata index.htm che deve essere nella sd ovviamente
IDE 1.0 e cambia l'indirizzo ip

Code:
Code:

#include <SPI.h>
#include <Ethernet.h>
#include <Flash.h>
#include <SD.h>
#include <TinyWebServer.h>

const int SD_CS = 4;
const int ETHER_CS = 10;
byte ip[] = { 192, 168, 2, 177 };
static uint8_t mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
boolean file_handler(TinyWebServer& web_server);
boolean index_handler(TinyWebServer& web_server);

TinyWebServer::PathHandler handlers[] = {
  {"/", TinyWebServer::GET, &index_handler },
  {"/" "*", TinyWebServer::GET, &file_handler },
  {NULL},
};

const char* headers[] = {"Content-Length",NULL};
TinyWebServer web = TinyWebServer(handlers, headers);

boolean has_filesystem = true;
Sd2Card card;
SdVolume volume;
SdFile root;
SdFile file;

void send_file_name(TinyWebServer& web_server, const char* filename) {
  if (!filename) {
    web_server.send_error_code(404);
    web_server << F("Could not parse URL");
  } else {
    TinyWebServer::MimeType mime_type = TinyWebServer::get_mime_type_from_filename(filename);
    web_server.send_error_code(200);
    web_server.send_content_type(mime_type);
    web_server.end_headers();
    if (file.open(&root, filename, O_READ))
    {
      Serial << F("Read file "); Serial.println(filename);
      web_server.send_file(file);
      file.close();
    } else {
      web_server << F("Could not find file: ") << filename << "\n";
    }
  }
}

boolean file_handler(TinyWebServer& web_server) {
  char* filename = TinyWebServer::get_file_from_path(web_server.get_path());
  send_file_name(web_server, filename);
  free(filename);
  return true;
}

boolean index_handler(TinyWebServer& web_server) {
  send_file_name(web_server, "INDEX.HTM");
  return true;
}

void setup() {
  Serial.begin(9600);
  pinMode(SS_PIN, OUTPUT); // set the SS pin as an output                                
  digitalWrite(SS_PIN, HIGH); // and ensure SS is high
  pinMode(ETHER_CS, OUTPUT); // Set the CS pin as an output
  digitalWrite(ETHER_CS, HIGH); // Turn off the W5100 chip! (wait for                              
  pinMode(SD_CS, OUTPUT);       // Set the SDcard CS pin as an output
  digitalWrite(SD_CS, HIGH); // Turn off the SD card! (wait for
                              
  card.init(SPI_FULL_SPEED, SD_CS);
  volume.init(&card);  
  root.openRoot(&volume);
  Ethernet.begin(mac, ip);
  web.begin();
  Serial << F("Ready to accept HTTP requests.\n");
}

void loop()
{  
    web.process();
}
Logged

no comment

Genova
Offline Offline
Faraday Member
**
Karma: 39
Posts: 3390
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

se non ti va anche questo hai problemi con lib flash
Logged

no comment

Genova
Offline Offline
Faraday Member
**
Karma: 39
Posts: 3390
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

flash.h della 0022

...............
...............
#include <avr/pgmspace.h>
#include <WProgram.h>

#define FLASH_LIBRARY_VERSION 3
...............
...............
----------------------------------------------------------

flash.h della 1.0

...............
...............
#include <avr/pgmspace.h>
#include <Arduino.h>

#define FLASH_LIBRARY_VERSION 3
...............
...............
Logged

no comment

Offline Offline
Newbie
*
Karma: 0
Posts: 17
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

ok, le cose grazie a te stanno migliorando
sto facendo tutto conl'ide 1.0
ho sistemato la libreria flash scaricando l'ultima versione da qui http://arduiniana.org/libraries/flash/
ho creato una pagina htm molto semplice e nominata INDEX.HTM come mi hai detto te inserendola nella root della sd.
adesso il programma funziona ma quando inserisco l'indirizzo di arduino il browser mi dice "Could not find file: INDEX.HTM ", prima non compariva nulla, come posso risolvere?
ci tengo a ringraziarti per la dritta che mi hai dato sulla libreria
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 17
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

inizio a pensare che sia un problema di sd perchè ho provato a caricare il file CardInfo della libreia SD e mi trova la sd dicendomi che è collegata correttamente però non riesce a trovare la partizione fat16/fat32
può essere troppo piccola?
Logged

Genova
Offline Offline
Faraday Member
**
Karma: 39
Posts: 3390
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

può essere, avevo avuto inzialmente problemi con una recuperata da un telefonino, poi ho comprato una kingston da 2 gb e vado alla grande smiley
Logged

no comment

Offline Offline
Newbie
*
Karma: 0
Posts: 17
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ok allora provo perché anch'io ho usato una recuperata da un telefono
Logged

Pages: [1] 2   Go Up
Jump to: