Pages: 1 ... 3 4 [5]   Go Down
Author Topic: Problema con Ethernet shield e il MAC su Vodafone station  (Read 4387 times)
0 Members and 1 Guest are viewing this topic.
0
Offline Offline
Edison Member
*
Karma: 24
Posts: 2315
Have you mooed today?
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

ratto93,
la parte di codice che fa la GET l'hai messa nel setuo, il quale viene eseguito solo una volta, all'avvio della board.
Se lo sposti nel loop, verrà eseguito ad ogni ciclo (o ogni qualvotla tu abbia stabilito).
Logged

Deep south of Italy
Offline Offline
Faraday Member
**
Karma: 8
Posts: 2955
The quieter you become, the more you can hear
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ma è il codice che hai scritto che gli dice di fare così smiley
Analizza il flusso del codice.
edit:azz mi hanno preceduto
Logged

Monselice PD Italy
Offline Offline
Faraday Member
**
Karma: 28
Posts: 5515
фон Крыса
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

L'ho messo li solo per provare... però comunque dovrebbe scorrere le righe
Logged

Se corri veloce come un fulmine, ti schianterai come un tuono.

Monselice PD Italy
Offline Offline
Faraday Member
**
Karma: 28
Posts: 5515
фон Крыса
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

fatta la modifica, stesso risultato...
Qualcosa sbaglio di certo.
Code:
#include <SPI.h>
#include <Ethernet.h>

byte mac[] = {0x90,0xA2,0xDA,0x00,0x74,0x99};
byte ip[] = {192,168,1,2};
byte gateway[] = {192, 168, 1, 1};
byte subnet[] = {255, 255, 255, 0};
byte server[] = { 176, 9, 63, 22};
Client client(server, 80);

char id=4;
int temperatura = 50;

void setup() {
  Ethernet.begin(mac,ip,gateway,subnet);
  Serial.begin(115200);
  delay(1000);
  }

void loop()
{
  riavvio:
  Serial.println("connessione...");
  if (client.connect()) {
    Serial.print("connesso");   
    char c = client.read();
    Serial.print(c);
    for(int i=0;i<15;i++){
    client.print("GET /script/Scrittore.php?id=&");
    client.print(i);
    client.println("&ora=2222&tensione=77777&corrente=222&temperatura=33 HTTP/1.0");   //GET da effettuare
    client.println("Host: ratto93.altervista.org");
    client.println();
    Serial.println(i);
    delay(5000);
                     }
  }
  else {
     Serial.println("connessione fallita");
     goto riavvio;
  }
 
}
Logged

Se corri veloce come un fulmine, ti schianterai come un tuono.

0
Offline Offline
Edison Member
*
Karma: 24
Posts: 2315
Have you mooed today?
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

..se ti guardi l'esempio del Pa(t)chube nell'IDE, trovi un buon punto di riferimento per fare quel che vuoi tu, ovvero l'invio di dati ad intervallo prestabilito.
Logged

Monselice PD Italy
Offline Offline
Faraday Member
**
Karma: 28
Posts: 5515
фон Крыса
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

L'ho guardato, ma mi pare incasinato di brutto....  smiley-wink

Quindi metto il mio for e tutti il ciarpame in esso contenuto dentro alla funzione send ?
Logged

Se corri veloce come un fulmine, ti schianterai come un tuono.

Monselice PD Italy
Offline Offline
Faraday Member
**
Karma: 28
Posts: 5515
фон Крыса
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

sono arrivato qui :
Code:
/*
  Pachube sensor client with Strings
 
 This sketch connects an analog sensor to Pachube (http://www.pachube.com)
 using a Wiznet Ethernet shield. You can use the Arduino Ethernet shield, or
 the Adafruit Ethernet shield, either one will work, as long as it's got
 a Wiznet Ethernet module on board.
 
 This example uses the String library, which is part of the Arduino core from
 version 0019. 
 
 Circuit:
 * Analog sensor attached to analog in 0
 * Ethernet shield attached to pins 10, 11, 12, 13
 
 created 15 March 2010
 updated 4 Sep 2010
 by Tom Igoe
 
 This code is in the public domain.
 
 */

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

byte mac[] = {0x90,0xA2,0xDA,0x00,0x74,0x99};
byte ip[] = {192,168,1,2};
byte gateway[] = {192, 168, 1, 1};
byte subnet[] = {255, 255, 255, 0};
byte server[] = { 176, 9, 63, 22};
Client client(server, 80);

long lastConnectionTime = 0;        // last time you connected to the server, in milliseconds
boolean lastConnected = false;      // state of the connection last time through the main loop
const int postingInterval = 10000;  //delay between updates to Pachube.com

void setup() {
  Ethernet.begin(mac,ip,gateway,subnet);
  Serial.begin(115200);
  delay(1000);
  }

void loop() {
  // read the analog sensor:
  int sensorReading = analogRead(A0);

  // if there's incoming data from the net connection.
  // send it out the serial port.  This is for debugging
  // purposes only:
  if (client.available()) {
    char c = client.read();
    Serial.print(c);
  }

  // if there's no net connection, but there was one last time
  // through the loop, then stop the client:
  if (!client.connected() && lastConnected) {
    Serial.println();
    Serial.println("disconnecting.");
    client.stop();
  }

  // if you're not connected, and ten seconds have passed since
  // your last connection, then connect again and send data:
  if(!client.connected() && (millis() - lastConnectionTime > postingInterval)) {
    sendData();
  }
  // store the state of the connection for next time through
  // the loop:
  lastConnected = client.connected();
}

// this method makes a HTTP connection to the server:
void sendData() {
  // if there's a successful connection:
  if (client.connect()) {
    Serial.print("connesso");   
    //char c = client.read();
    //Serial.print(c);
    for(int i=0;i<15;i++){
    client.print("GET /script/Scrittore.php?id=&");
    client.print(i);
    client.print("&ora=2222&tensione=");
    client.print(i+1);
    client.print("&corrente=222&temperatura=33 HTTP/1.0");   //GET da effettuare
    client.println("Host: ratto93.altervista.org");
    client.println();
    Serial.println(i);
     
    lastConnectionTime = millis();
  }
 }
  else {
    // if you couldn't make a connection:
    Serial.println("connection failed");
  }
}
Sul serial monitor, dice che è connesso e mostra i dati corretti solo che nel db non ci sono poi..
Logged

Se corri veloce come un fulmine, ti schianterai come un tuono.

0
Offline Offline
Edison Member
*
Karma: 24
Posts: 2315
Have you mooed today?
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

uhm, sul serial monitor io vedo solo della pagine 404 (ovvero: pagina non trovata).

Quote
<h1><b>Page not found</b> (error 404)</h1>
<h2>The page <b>http://</b> was not found on this server.</h2>   

il problema sta qui:

Code:
client.print("&corrente=222&temperatura=33 HTTP/1.0");   //GET da effettuare

ci vuole un println: stai terminando di scrivere la GET e un a capo ci vuole...
Logged

Monselice PD Italy
Offline Offline
Faraday Member
**
Karma: 28
Posts: 5515
фон Крыса
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Funziona !
Scusatemi, ma lavorando con un netbook a volta scappa qualche caratterino... Grazie dell'aiuto, spero di esserci una volta per tutte smiley smiley
Logged

Se corri veloce come un fulmine, ti schianterai come un tuono.

Pages: 1 ... 3 4 [5]   Go Up
Jump to: