Show Posts
Pages: [1] 2
1  International / Software / Re: Arduino Uno + Inverter Aurora on: March 16, 2013, 05:28:44 pm
Ok, grazie mille a entrambi.
E...se possibile un'ultima indicazione, please.

Considerando i morsetti che l'inverter mi rende disponibili (in allegato), io come mi riporto dalla basetta a tali morsetti?
Parto dai pin 6 e 7 del max 485?
E verso quali morsetti dell'inverter?
+T/R?
-T/R?
RTN?
LNK?

Da quello che leggo sul manuale dell'inverter, AURORA sfrutta una linea di comunicazione RS485 HALF-DUPLEX costituita da due linee di trasmissione ricezione (+T/R e –T/R) e da una linea di riferimento della comunicazione (RTN): tutte le tre linee devono essere cablate in accordo allo schema daisy chain (“entra-esci”).La morsettiera è inoltre dotata del terminale LNK che permette di dare continuità allo schermo del cavo.

Scusate, ma su questa parte sono abbastanza "debole", come si sarà capito.
Grazie anticipatamente,
2  International / Software / Re: Arduino Uno + Inverter Aurora on: March 16, 2013, 03:45:16 pm
Ciao Uwe,
quindi tu dici che, OK per la parte circuitale di cui sotto...


http://www.google.it/imgres?imgurl=http://dereenigne.org/wp-content/uploads/modbus.png&imgrefurl=http://dereenigne.org/tag/max485&h=1020&w=709&sz=107&tbnid=1vw70snqz-HqJM:&tbnh=90&tbnw=63&zoom=1&usg=__rDlciuXalz96qcTZQW3sPPKWOVw=&docid=oN62DW03Eq9oSM&hl=it&sa=X&ei=fqjoUMjiAemr4ASxlYC4BA&ved=0CDcQ9QEwAA&dur=4797


Anziche' come pensavo io, semplicemente collegare il PIN 2 di Arduino al PIN +T/R dell'inverter e mettere HIGH il PIN2 e trasmettere con serial.write il MSG.
Poi attendere il ritorno e leggere dal canale.
I comandi credo di averli trovati.(vedi un esempio semplice della formattazione della request e dell'answer nel documento allegato).

A questo punto però mi fai sorgere un dubbio, però.
Ma se sul PIN 2 metto le info su cosa sto facendo sul bus (se sono in trasmissione o in ascolto), su quale pin/canale vado a scaricare i bye del messaggio?
Scusa ma a questo punto sono un po' confuso.

Grazie,
Gerry
 

3  International / Software / Re: Arduino Uno + Inverter Aurora on: March 16, 2013, 03:21:49 pm
Ciao Uwe e grazie anzitutto.

Guarda, il circuito di collegamento verso l'inverter è quello del link di cui sotto e il max485 c'è.


http://www.google.it/imgres?imgurl=http://dereenigne.org/wp-content/uploads/modbus.png&imgrefurl=http://dereenigne.org/tag/max485&h=1020&w=709&sz=107&tbnid=1vw70snqz-HqJM:&tbnh=90&tbnw=63&zoom=1&usg=__rDlciuXalz96qcTZQW3sPPKWOVw=&docid=oN62DW03Eq9oSM&hl=it&sa=X&ei=fqjoUMjiAemr4ASxlYC4BA&ved=0CDcQ9QEwAA&dur=4797


Tu dici quindi che sto sbagliando nel collegamento.
Guarda, in allegato c'è l'immagine di quelli che sono i collegamenti RS485 esposti dal mio Inverter Aurora.
Come puoi vedere ci sono le seguenti uscite:
+T/R
-T/R
RTN
LNK

Hai suggerimenti su come collegare correttamente Arduino uno alla RS485 dell'inverter?

Grazie,
Gerry
4  International / Software / Re: Arduino Uno + Inverter Aurora on: March 16, 2013, 01:42:25 pm
Ciao Uwe,
dal manuale Aurora io ho quanto di seguito:
Quote
La porta di comunicazione RS485 rappresenta la porta di comunicazione dell’inverter. AURORA sfrutta una linea di
comunicazione RS485 HALF-DUPLEX costituita da due linee di trasmissione ricezione (+T/R e –T/R) e da una linea di riferimento
della comunicazione (RTN): tutte le tre linee devono essere cablate in accordo allo schema daisy chain (“entra-esci”). E’
consigliabile utilizzare un cavo a coppie twistate e schermato per la realizzazione della linea di comunicazione: lo schermo
deve essere collegato a terra in un solo punto (tipicamente in prossimità del sistema di monitoraggio) ed allo schermo deve
essere data continuità all’interno di ciascun elemento della catena. Fare riferimento all’appendice B.

Quindi io collegherei la massa di Arduino alla RTN dell'inverter e il Pin Tx alla +T/R  e il Pin Rx alla –T/R.
In verità non ho ancora effettuato il collegamento.
Ho trovato su internet lo schema che ti riportavo con la MAX485 , ma fisicamente non li ho ancra collegati.

Se hai suggerimenti, sono ben acetti, chiaramente.

Grazie,
Gerry
5  Using Arduino / Networking, Protocols, and Devices / Arduino Uno + inverter Aurora on: March 15, 2013, 12:58:17 pm
Hi to all,

I'm trying to connect via RS485 an Arduino Uno Aurora PV inverter that I have installed on my PV system at home.
For the connection of devices I have used the schema-model in the link below.

http://www.google.it/imgres?imgurl=http://dereenigne.org/wp-content/uploads/modbus.png&imgrefurl=http://dereenigne.org/tag/max485&h=1020&w=709&sz=107&tbnid=1vw70snqz-HqJM:&tbnh=90&tbnw=63&zoom=1&usg=__rDlciuXalz96qcTZQW3sPPKWOVw=&docid=oN62DW03Eq9oSM&hl=it&sa=X&ei=fqjoUMjiAemr4ASxlYC4BA&ved=0CDcQ9QEwAA&dur=4797


So I connect the arduino One's GRND to the GRND of the inverter; the TX and RX pins of the Arduino to the corresponding outputs of the inverter and the PIN 2 for the transmission of the message.

About the form of the message, the Aurora inverter accepted formalism is described in trasmissionMessage.jpg and receivingMessage.jpg in attach.

The actual code is the following:

Code:
Code:

byte            RFin_bytes[9];

#define  pinTx    01
#define  pinRx    00


#include <NewSoftSerial.h>
 

void setup()
{
   pinMode(pinTx,OUTPUT);
   pinMode(pinRx,OUTPUT);
   digitalWrite(pinTx,HIGH);
   digitalWrite(pinRx,LOW);
   pinMode(2,OUTPUT);
   Serial.begin(9600);
}

void sendMSG(byte address,byte command,byte b2,byte b3,byte b4,byte b5,byte b6,byte b7,byte crc_l,byte crc_h)
{
  Serial.write(12345);
//Generic command call
  Serial.write(command);
  Serial.write(b2);
  Serial.write(b3);
  Serial.write(b4);
  Serial.write(b5);
  Serial.write(b6);
  Serial.write(b7);
  Serial.write(crc_l);
  Serial.write(crc_h);
  delay(100);
//After trasmission PinTx is set LOW
  digitalWrite(pinTx,LOW);
}








void loop()
{
  delay(500);
  digitalWrite(pinTx,HIGH);   
//Begin trasmission with request to Inverter
  if (pinTx==HIGH)
  {
//Inverter state request
    pinMode(2,OUTPUT);
    sendMSG(12345,50,0,0,0,0,0,0,1,2);
    delay(50);
//Inverter state response
    pinMode(2,INPUT);
    while (Serial.available()<8) {} // Wait 'till there are 9 Bytes waiting
    for(int n=0; n<8; n++)
    {
       RFin_bytes[n] = Serial.read(); // Then: Get them. 
//here I have to recognize the specific answer of the inverter, reading byte by byte the message -- to be defined
    }
  } 
//Inverter Mesure request
    pinMode(2,OUTPUT);
    sendMSG(12345,59,0,0,0,0,0,0,1,2);
    delay(50);
//Inverter measure response
    pinMode(2,INPUT);
    while (Serial.available()<8) {} // Wait 'till there are 9 Bytes waiting
    for(int n=0; n<8; n++)
    {
       RFin_bytes[n] = Serial.read(); // Then: Get them. 
//here I have to recognize the specific answer of the inverter, reading byte by byte the message -- to be defined
    }
}


So, as yoou can see, I'm trying first to send request commands and then, reading the answer byte by byte, to recognize the answer of the inverter.

Tahnk in advance to anyone can help me in my project.

Kind regards,
Gerry






6  International / Software / Arduino Uno + Inverter Aurora on: March 15, 2013, 12:52:50 pm
Salve,

sto cercando di connettere via RS485 una scheda arduino Uno all'inverter fotovoltaico Aurora che ho installato per il mio impianto fotovoltaico a casa.
Per la connessione dei dispositivi ho usato lo schema di cui al link di seguito.

http://www.google.it/imgres?imgurl=http://dereenigne.org/wp-content/uploads/modbus.png&imgrefurl=http://dereenigne.org/tag/max485&h=1020&w=709&sz=107&tbnid=1vw70snqz-HqJM:&tbnh=90&tbnw=63&zoom=1&usg=__rDlciuXalz96qcTZQW3sPPKWOVw=&docid=oN62DW03Eq9oSM&hl=it&sa=X&ei=fqjoUMjiAemr4ASxlYC4BA&ved=0CDcQ9QEwAA&dur=4797


Quindi collego il GRD di arduino al GRD dell'inverter, i pin TX e RX di Arduino alle corrispondenti uscite dell'inverter e il PIN 2 per la trasmissione del messaggio.

Per quanto riguarda i messaggi, il formalismo accettato dall'inverter Aurora è quello delle immagini in allegato: trasmissionMessage.jpg e receivingMessage.jpg rispettvamente di 10 byte e 8 byte

Per quanto riguarda il codice in Arduino io mi sto orientando sul seguente:


Code:
Code:
byte            RFin_bytes[9];

#define  pinTx    01
#define  pinRx    00


#include <NewSoftSerial.h>
  

void setup()
{
   pinMode(pinTx,OUTPUT);
   pinMode(pinRx,OUTPUT);
   digitalWrite(pinTx,HIGH);
   digitalWrite(pinRx,LOW);
   pinMode(2,OUTPUT);
   Serial.begin(9600);
}

void sendMSG(byte address,byte command,byte b2,byte b3,byte b4,byte b5,byte b6,byte b7,byte crc_l,byte crc_h)
{
  Serial.write(12345);
//Generic command call
  Serial.write(command);
  Serial.write(b2);
  Serial.write(b3);
  Serial.write(b4);
  Serial.write(b5);
  Serial.write(b6);
  Serial.write(b7);
  Serial.write(crc_l);
  Serial.write(crc_h);
  delay(100);
//After trasmission PinTx is set LOW
  digitalWrite(pinTx,LOW);
}








void loop()
{
  delay(500);
  digitalWrite(pinTx,HIGH);    
//Inizio la trasmissione delle richiesta all'inverter Aurora
  if (pinTx==HIGH)
  {
//Invio richiesta STATO Inverter
    pinMode(2,OUTPUT);
    sendMSG(12345,50,0,0,0,0,0,0,1,2);
    delay(50);
//Predispongo per ricezione risposta da inverter
    pinMode(2,INPUT);
    while (Serial.available()<8) {} // Wait 'till there are 9 Bytes waiting
    for(int n=0; n<8; n++)
    {
       RFin_bytes[n] = Serial.read(); // Then: Get them.  
//A questo punto si tratta di riconoscere con degli if then quale sia il msg ricevuto -- codice da definire
    }
  }  
//Invio richiesta stato Measure request DSP
    pinMode(2,OUTPUT);
    sendMSG(12345,59,0,0,0,0,0,0,1,2);
    delay(50);
    pinMode(2,INPUT);
    while (Serial.available()<8) {} // Wait 'till there are 9 Bytes waiting
    for(int n=0; n<8; n++)
    {
       RFin_bytes[n] = Serial.read(); // Then: Get them.  
//A questo punto si tratta di riconoscere con degli if then quale sia il msg ricevuto -- da definire
    }
}


Quindi come si vede avrei intenzione di lanciare il msg sul BUS RS485, attendere il ritorno dall'inverter e successivamente riconoscerne il ritorno.

Qualcuno ha indicazioni o suggerimenti a riguardo?


Grazie,
saluti


7  Using Arduino / Installation & Troubleshooting / Arduino Uno e inverter Aurora on: March 15, 2013, 11:19:18 am
Salve,

sto cercando di connettere via RS485 una scheda arduino Uno all'inverter fotovoltaico Aurora che ho installato per il mio impianto fotovoltaico a casa.
Per la connessione dei dispositivi ho usato lo schema di cui al link di seguito.

http://www.google.it/imgres?imgurl=http://dereenigne.org/wp-content/uploads/modbus.png&imgrefurl=http://dereenigne.org/tag/max485&h=1020&w=709&sz=107&tbnid=1vw70snqz-HqJM:&tbnh=90&tbnw=63&zoom=1&usg=__rDlciuXalz96qcTZQW3sPPKWOVw=&docid=oN62DW03Eq9oSM&hl=it&sa=X&ei=fqjoUMjiAemr4ASxlYC4BA&ved=0CDcQ9QEwAA&dur=4797

Quindi collego il GRD di arduino al GRD dell'inverter, i pin TX e RX di Arduino alle corrispondenti uscite dell'inverter e il PIN 2 per la trasmissione del messaggio.

Per quanto riguarda i messaggi, il formalismo accettato dall'inverter Aurora è quello delle immagini in allegato: trasmissionMessage.jpg e receivingMessage.jpg rispettvamente di 10 byte e 8 byte

Per quanto riguarda il codice in Arduino io mi sto orientando sul seguente:

Code:
byte            RFin_bytes[9];

#define  pinTx    01
#define  pinRx    00


#include <NewSoftSerial.h>
  

void setup()
{
   pinMode(pinTx,OUTPUT);
   pinMode(pinRx,OUTPUT);
   digitalWrite(pinTx,HIGH);
   digitalWrite(pinRx,LOW);
   pinMode(2,OUTPUT);
   Serial.begin(9600);
}

void sendMSG(byte address,byte command,byte b2,byte b3,byte b4,byte b5,byte b6,byte b7,byte crc_l,byte crc_h)
{
  Serial.write(12345);
//Generic command call
  Serial.write(command);
  Serial.write(b2);
  Serial.write(b3);
  Serial.write(b4);
  Serial.write(b5);
  Serial.write(b6);
  Serial.write(b7);
  Serial.write(crc_l);
  Serial.write(crc_h);
  delay(100);
//After trasmission PinTx is set LOW
  digitalWrite(pinTx,LOW);
}








void loop()
{
  delay(500);
  digitalWrite(pinTx,HIGH);    
//Inizio la trasmissione delle richiesta all'inverter Aurora
  if (pinTx==HIGH)
  {
//Invio richiesta STATO Inverter
    pinMode(2,OUTPUT);
    sendMSG(12345,50,0,0,0,0,0,0,1,2);
    delay(50);
//Predispongo per ricezione risposta da inverter
    pinMode(2,INPUT);
    while (Serial.available()<8) {} // Wait 'till there are 9 Bytes waiting
    for(int n=0; n<8; n++)
    {
       RFin_bytes[n] = Serial.read(); // Then: Get them.  
//A questo punto si tratta di riconoscere con degli if then quale sia il msg ricevuto -- codice da definire
    }
  }  
//Invio richiesta stato Measure request DSP
    pinMode(2,OUTPUT);
    sendMSG(12345,59,0,0,0,0,0,0,1,2);
    delay(50);
    pinMode(2,INPUT);
    while (Serial.available()<8) {} // Wait 'till there are 9 Bytes waiting
    for(int n=0; n<8; n++)
    {
       RFin_bytes[n] = Serial.read(); // Then: Get them.  
//A questo punto si tratta di riconoscere con degli if then quale sia il msg ricevuto -- da definire
    }
}

Quindi come si vede avrei intenzione di lanciare il msg sul BUS RS485, attendere il ritorno dall'inverter e successivamente riconoscerne il ritorno.

Qualcuno ha indicazioni o suggerimenti a riguardo?


Grazie,
saluti
8  International / Generale / Re: Comprare arduino neofita on: January 25, 2013, 01:15:27 pm
Beh, per gli acquisti io darei un'occhiata allo store di Arduino certamente

http://store.arduino.cc/ww/index.php
 e ai vari negozi sempre suggeriti dal sito di Arduino al link:

http://arduino.cc/en/Main/Buy

Occhio con gli acquistio in america perchè, anche se i prezzi sembrano convenienti, poi c'è il fattore dogana da considerare.
Inoltre meglio acquistare con corriere (in America) che via posta (eventuale problema sdoganamento)

Per quanto riguarda il come cominciare, beh lo sterter kit mi sembra l'ideale, trovi una Arduino Uno + libri con esempi + un sacco di ammenicoli per circuitini.
Ce n'è più che abbastanza per cominciare.

per quanto riguarda i prezzi, quelli variano sempre, quindi basta che confronti 5 o 6 siti di quelli dei link precedenti e sei già sicuro di fare un acquisto a un buon prezzo.
9  Using Arduino / Programming Questions / Re: Arduino Uno + GPRS shield on: January 21, 2013, 09:43:08 am
Ok PaulS,
sorry, I wasn't precise.

Here the code and what I can read on the serial monitor.
As you can see the problem is that the sketch executes, enters the function, but altough the instruction seems to be executed, I don't receive the sms message on my mobile phone.

Quote
#include <SoftwareSerial.h>
#include <String.h>
 
SoftwareSerial mySerial(7, smiley-cool;
 
void setup()
{
  mySerial.begin(19200);               // the GPRS baud rate   
  Serial.begin(19200);    // the GPRS baud rate
  delay(500);
}
 
void loop()
{
  //I want to be absolutely simple, so by now, I just want either to send a text message OR to perform a voice call
       Serial.println("Before the sms");       
       SendTextMessage();
       Serial.println("After the sms");
//        DialVoiceCall();
        delay(100000);
 }
 
Serial monitor trace

Quote

///SendTextMessage()
///this function is to send a sms message
void SendTextMessage()
{
  Serial.println("In the function");       
  mySerial.print("AT+CMGF=1\r");    //Because we want to send the SMS in text mode
  delay(100);
  mySerial.println("AT + CMGS = \"+39138xxxxx615\"");//send sms message, be careful need to add a country code before the cellphone number
  delay(100);
  mySerial.println("A test message!");//the content of the message
  delay(100);
  mySerial.println((char)26);//the ASCII code of the ctrl+z is 26
  delay(100);
  mySerial.println();
  Serial.println("Exiting the function");
}
 
///DialVoiceCall
///this function is to dial a voice call
void DialVoiceCall()
{
  mySerial.println("ATD + +39138xxxxx615;");//dial the number
  delay(100);
  mySerial.println();
}

Quote

Before the sms
In the function
Exiting the function
After the sms


I wonder if the library is correct or if the sintax of the call is correct, but on the serial monitor I don't have return message.
10  Using Arduino / Programming Questions / Re: Arduino Uno + GPRS shield on: January 21, 2013, 09:12:22 am
Ok,
sorry PaulS, I had left some wrong comment from the original sketch.
Now it's clean.
I just would like to send the sms or, performing the voice call, now.
I really don't understand because on the serial monitor I can see that the skecth executes, but it seems non to send the sms or the call.
:-(

Quote
#include <SoftwareSerial.h>
#include <String.h>
 
SoftwareSerial mySerial(7, smiley-cool;
 
void setup()
{
  mySerial.begin(19200);               // the GPRS baud rate   
  Serial.begin(19200);    // the GPRS baud rate
  delay(500);
}
 
void loop()
{
  //I want to be absolutely simple, so by now, I just want either to send a text message OR to perform a voice call.
       
        SendTextMessage();
//        DialVoiceCall(); //Now I'm trying to send the sms, but I can't perform the voice call too
        delay(100000);
 }
 
///SendTextMessage()
///this function is to send a sms message
void SendTextMessage()
{
  mySerial.print("AT+CMGF=1\r");    //Because we want to send the SMS in text mode
  delay(100);
  mySerial.println("AT + CMGS = \"+39138xxxxx615\"");//send sms message, be careful need to add a country code before the cellphone number
  delay(100);
  mySerial.println("A test message!");//the content of the message
  delay(100);
  mySerial.println((char)26);//the ASCII code of the ctrl+z is 26
  delay(100);
  mySerial.println();
}
 
///DialVoiceCall
///this function is to dial a voice call
void DialVoiceCall()
{
  mySerial.println("ATD + +39138xxxxx615;");//dial the number
  delay(100);
  mySerial.println();
}
11  Using Arduino / Programming Questions / Arduino Uno + GPRS shield on: January 21, 2013, 07:54:28 am
Hi to all,
I'm trying to perform calls or send sms messages from my arduino uno and gprs shield.
I'm using an Arduino Uno and a GPRS Shield Seeduino SIM900.
I'm using a part of a sketch I found on a seeduino wiki about their cellular shield.

I can compile and I can see that it works on the arduino uno, but I don't receive sms or calls.
I don't know why.
Anyone can help me?

Here is the sketch.
Thank you in advance to anyone can help me.

Quote

#include <SoftwareSerial.h>
#include <String.h>
 
SoftwareSerial mySerial(7, smiley-cool;
 
void setup()
{
  mySerial.begin(19200);               // the GPRS baud rate   
  Serial.begin(19200);    // the GPRS baud rate
  delay(500);
}
 
void loop()
{
  //after start up the program, you can using terminal to connect the serial of gprs shield,
  //if you input 't' in the terminal, the program will execute SendTextMessage(), it will show how to send a sms message,
  //if input 'd' in the terminal, it will execute DialVoiceCall(), etc.
       
        SendTextMessage();
//        DialVoiceCall();
        delay(100000);
 }
 
///SendTextMessage()
///this function is to send a sms message
void SendTextMessage()
{
  mySerial.print("AT+CMGF=1\r");    //Because we want to send the SMS in text mode
  delay(100);
  mySerial.println("AT + CMGS = \"+39138xxxxx615\"");//send sms message, be careful need to add a country code before the cellphone number
  delay(100);
  mySerial.println("A test message!");//the content of the message
  delay(100);
  mySerial.println((char)26);//the ASCII code of the ctrl+z is 26
  delay(100);
  mySerial.println();
}
 
///DialVoiceCall
///this function is to dial a voice call
void DialVoiceCall()
{
  mySerial.println("ATD + +39138xxxxx615;");//dial the number
  delay(100);
  mySerial.println();
}


12  International / Software / Re: [risolto]LIBRERIA GSM , GPRS SHIELD e lettura sms in entrata un consiglio... on: January 21, 2013, 07:06:00 am
Ciao skosso,

scusa ma sto usando grosso modo lo stesso codice che hai usato tu, ma a me pare che il "giocattolo" non funzioni.
Il mio obiettivo è riuscire a fare una chiamata o inviare un sms da arduino.

L'hardware che sto usando è il seguente:
Arduino Uno
Seeduino Gprs Shield

Di seguito il codice, che poi è quello che ho trovato in rete riferito proprio dalla seeduino

Quote

#include <SoftwareSerial.h>
#include <String.h>
 
SoftwareSerial mySerial(7, smiley-cool;
 
void setup()
{
  mySerial.begin(19200);               // the GPRS baud rate   
  Serial.begin(19200);    // the GPRS baud rate
  delay(500);
}
 
void loop()
{
       SendTextMessage();
       DialVoiceCall();
 
///SendTextMessage()
///this function is to send a sms message
void SendTextMessage()
{
  mySerial.print("AT+CMGF=1\r");    //Because we want to send the SMS in text mode
  delay(100);
  mySerial.println("AT + CMGS = \"+39138xxxxx615\"");//send sms message, be careful need to add a country code before the cellphone number
  delay(100);
  mySerial.println("A test message!");//the content of the message
  delay(100);
  mySerial.println((char)26);//the ASCII code of the ctrl+z is 26
  delay(100);
  mySerial.println();
  delay(100000);
}
 
///DialVoiceCall
///this function is to dial a voice call
void DialVoiceCall()
{
  mySerial.println("ATD + +39138xxxxx615;");//dial the number
  delay(100);
  mySerial.println();
}


Gira tutto, vedo che il serial output si popola, ma dell'sms o della chiamata neppure l'ombra.

Grazie,
ciao
13  Forum 2005-2010 (read only) / Interfacing / Re: Arduino Uno+Ethernet Shield+XAMPP on: January 08, 2011, 05:34:14 pm
Ok, I solved my problems and now my system works. ;D
I had to deactivate windows firewall and connect by cable both the Arduino and the laptop to my router.
It seems it doesn't work if my laptop is wiressly connected to the router, I don't know why.

Tanks to zoomkat and PaulS fot their precious indications.

For the benefit of other users now I describe my system.
1) Arduino Uno + Ethernet Shield
2) On my laptop I'm running the following configuration of XAMPP
   Apache 2.2.14
   MySQL 5.1.41
   PHP 5.3.1
3) Arduino IDE 0022 to develope
4) Ethernet shield and laptop hardly connected to the router

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

byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
byte ip[] = { 192, 168, 1, 102 }; //assigned arduino LAN IP address
byte server[] = { 192, 168, 1, 100 }; // laptop running apache LAN IP address
Client client(server, 80); //apache web server running on port 80

void setup()
{
  Ethernet.begin(mac, ip);
  Serial.begin(9600);
  Serial.println("starting simple arduino client test");
  Serial.println();

  delay(1000);

  Serial.println("connecting...");

  if (client.connect()) {
    Serial.println("connected");
    client.println("GET /test/soap/client/do_action_get.php?name=FirstRecordOK HTTP/1.0"); //php page invoking my web service
    client.println();
  } else {
    Serial.println("connection failed");
  }
}

void loop()
{
  if (client.available()) {
    char c = client.read();
    Serial.print(c);
  }

  if (!client.connected()) {
    Serial.println();
    Serial.println("disconnecting.");
    Serial.println("==================================");
    Serial.println("");
    client.stop();
    for(;;);
  }
}

Now I'd like to realize the same project with the cellular shield of Arduino.
I should be possible.
If you have any indication about that (type of antenna and so on)I'm grateful to you. smiley

Thanks,
Gerry
14  Forum 2005-2010 (read only) / Interfacing / Re: Arduino Uno+Ethernet Shield+XAMPP on: December 31, 2010, 06:10:46 am
First of all, thank you for your replies.
:-)

@Pauls:
XAMPP is a release to have PHP,MYSQL and Apache server on your pc. I think it is not very different from LAMP or WAMP. I installed it on my Windows machine, where now I'm doing my tries and on a Ubuntu virtual machine where I usually work.
Now I'm using the host system, windows 7 - 64 bit, because I've problems I'll solve later to use Ethernet shield with virtual machine.
Well, now some further explanation on my HW-SW configuration.
I have the web server regurlarly running on my pc and I've connected the arduino by cross cable. As I told you everything seems to work properly, in fact I CAN RECEIVE with my arduino the correct answer from google web server, but I can't connect to my apache web server.
It's strange, cause I can do it with my browser with any of these strings(192.168.137.1, localhost, 127.0.0.1) when I launch
Code:
http://192.168.137.1/test/soap/client/do_action_get.php?name=PrimaInsert
In the sketch I modified it in
Code:
client.println("GET http://192.168.137.1/test/soap/client/do_action_get.php?name=PrimaInsert HTTP/1.0");

The php page is responsible to invoke my web service passing the parameter name and the web service creates a new row on db.
But first of all, at the moment it seems I can't even connect with the instruction client.connect at my web server, and this seems to be my problem now :-(

@zoomcat
thank for your indications, but at the moment with my code it seems that the instruction client.connect() fails when I try to connect to my web server.The serial output trace is clear, it's the client.connect() that fails when I try to connect to my web apache server on the same machine.
Code:
byte server[] = { 192,168,137,1 }; // Mio sito
// Initialize the Ethernet client library
// with the IP address and port of the server
// that you want to connect to (port 80 is default for HTTP):
Client client(server, 80);

void setup() {
  // start the Ethernet connection:
  Ethernet.begin(mac, ip);
  // start the serial library:
  Serial.begin(9600);
  // give the Ethernet shield a second to initialize:
  delay(1000);
  Serial.println("connecting...");

  // if you get a connection, report back via serial:
  if (client.connect()) {
    Serial.println("connected");
    // Make a HTTP request:
    client.println("GET http://192.168.137.1/test/soap/client/do_action_get.php?name=PrimaInsert HTTP/1.0");
    client.println();
  }
  else {
    // kf you didn't get a connection to the server:
    Serial.println("connection failed");
  }
}


and in the serial monitor I receive
Code:
connecting...
connection failed

disconnecting.
and I'm afraid it means I fail with my client.connect() instruction
Any indication about this? :-(
I'll take in mind your consideration on txt file and cgi.bin.
At the moment I'm trying to call that php page that is responsible to invoke the web service.
Don't you think I can invoke a php page from arduino sketch?
If this thing is possible I think I don't have problems because it's the php page, launched in a web browser already works, correctly invoke the web service and it inserts a new row in the database.

Thank you in advance,
Gerry

15  Forum 2005-2010 (read only) / Interfacing / Re: Arduino Uno+Ethernet Shield+XAMPP on: December 30, 2010, 06:45:18 am
Here I add the links I couldn't add in the first message

connessione a google --> GET /search?q=Arduino HTTP/1.0

connessione mio web service --> GET http://XXX.XXX.XXX.XXX/test/soap/client/do_action_get.php?name=PrimaInsert HTTP/1.0
Pages: [1] 2