Show Posts
Pages: 1 [2] 3 4 ... 10
16  International / Software / Re: comunicazione seriale tra due arduino on: May 04, 2013, 07:55:06 am
ma hai provato a stampare il contenuto dell'array quando ricevi? dopo la read dico
17  International / Software / Re: comunicazione seriale tra due arduino on: May 04, 2013, 05:10:16 am
prova a mettere un piccolo ritardo dopo ogni lettura da seriale..basta anche una delay(1) credo..io avevo lo stesso problema ed ho risolto cosi..
18  International / Software / Re: comunicazione seriale tra due arduino on: May 04, 2013, 04:37:27 am
ma i pin 8 e 9 a cosa sono collegati??
19  International / Software / Re: Errore invio email arduino ethernet shield on: May 03, 2013, 08:53:46 am
in hostname metti l'indirizzo del server, poi metti la porta (nel tuo caso 465), poi selezioni connection type telnet e poi open

una volta aperto scrivi la mail

S: HELO miohost
<risposta server>
S: MAIL FROM:<xxx@miohost>
<risposta server>
S: RCPT TO:<yyy@suohost>
<risposta server>
S: DATA
R: 354 Start mail input; end with <CRLF>.<CRLF>

S: Blah blah blah...
S: ...etc. etc. etc.
S: .
<risposta server>
S: QUIT
R: 221

ok??

guarda questo link http://playground.arduino.cc/Italiano/Mail
20  International / Software / Re: Errore invio email arduino ethernet shield on: May 03, 2013, 08:38:56 am
scaricati PuTTY
21  International / Software / Re: Modalità per impostare parametri XBee module on: May 03, 2013, 08:31:25 am
ovviamente x-ctu è adatto per i xbee (contiene già tutte le librerie per comunicare con loro) quindi non penso ci sia cosa migliore..poi devi collegarlo serialmente al pc e con un dongle o qualsiasi altro supporto è possibile farlo..il dongle è quello forse più versatile perchè dispone di usb..hai installato i driver sul pc?
22  International / Software / Re: Errore invio email arduino ethernet shield on: May 03, 2013, 08:29:18 am
Sembra che il server non ti dia nessuna risposta o erro??

Code:
S: telnet qualcheparte 25
R: 220 qualcheparte Simple Mail Transfer Service Ready

S: HELO miohost
R: 250 miohost

S: MAIL FROM:<Marco@miohost>
R: 250 OK

S: RCPT TO:<Roberto@suohost>
R: 250 OK

S: DATA
R: 354 Start mail input; end with <CRLF>.<CRLF>

S: Blah blah blah...
S: ...etc. etc. etc.
S: .
R: 250 OK

S: QUIT
R: 221

non vedo le risposte del server..forse è bene ke le stampi ogni volta che mandi un mess
23  International / Software / Re: Possibilità di comunicazione tra 2 moduli XBee s. 1 senza impostarli con x-ctu? on: May 03, 2013, 08:23:45 am
gli Xbee Serie1 di solito comunicano a 9600baud..e devi trattarli come se fossero collegati via seriale..

Code:
char value;

void setup(){
   Serial.begin(9600);
}

void loop(){
  if(Serial.available()>0){
     value = Serial.read();
     Serial.println(value-1);
  } 
}

questo piccolo sketch ti permette di fare una piccola chat dove chi scrive manda un carattere e lo riceve decrementato di uno!!
Dipende ovviamente come monti e dove monti i xbee..
24  International / Software / Re: Rileggere variabili dalla ultima riga da una SD (Arduino MEga) on: April 26, 2013, 01:35:26 am
beh se salvi su file basta che leggi tutto il file finche non arrivi alla fine e poi ti recuperi l'ultima riga..oppure salvi su file "al contrario" in modo da avere l'ultimo evento sempre in cima al file
25  International / Hardware / Re: principiante on: April 02, 2013, 05:13:51 am
beh devi collegarti in qualche modo ad internet..la cosa piu sensata e veloce è tramite ethernet o wifi!! non so se nel starter kit c'è qualcosa di simile
26  International / Hardware / Re: Configurare RN-XV con WirelessProtoShield. on: April 01, 2013, 09:39:12 am
si puoi ma devi lavorare con la seriale hardware..togliendoti cosi a possibiità di un "debug" ..cosi è la soluzione migliore credo
27  International / Hardware / Re: principiante on: April 01, 2013, 08:38:07 am
se colleghi arduino a internet poi ci puoi collegare anche l'iphone o il forno micronde della zia che è a Londra!!! smiley-grin smiley-grin smiley-grin
28  International / Hardware / Re: Configurare RN-XV con WirelessProtoShield. on: April 01, 2013, 08:35:59 am
anche io l'ho fatto

Code:
SoftwareSerial wifi(8,9);

solo che devo "togliere" i pin 0 e 1 della shield da arduino...cioè..quando incastri la shield su arduino..invece che incastrare tutti i pin, i pin 0 e 1 li pieghi un po in modo che non si incastrino con arduino..cosi puoi continuare ad usare il monitor seriale e la comunicazione con il modulo la fai con i pin 8 e 9
29  International / Software / Re: Salvataggio dati on: March 31, 2013, 10:16:14 am
non ho capito..dobbiamo fartelo noi?!?
30  International / Hardware / Re: Configurare RN-XV con WirelessProtoShield. on: March 31, 2013, 10:14:22 am
Ciao, io per la mia tesi ho utilizzato lo stesso modulo ma con un arduino rv3 e una wireless shield sd..se ti puo interessare ti posto il codice..ho avuto anche io molti problemi a configurarlo..perchè pare che copi nella sua memoria delle variabili e poi va in overflow e impazzisce..quindi devi dosare parecchio l'uso delle variabili nello sketch

Code:

/******************************************************************************************************** 
   Mirko Mancin - Tesi triennale a.a. 2011/12

   SCHEDA PER IL MONITORAGGIO AMBIENTALE CON 3 SENSORI E INVIO DEI DATI AD UN SERVER CON UN MODULO WIFI
 
 - Sensore Temperatura e Umidità DHT22 D2
 - Sensore Luce A1
 - Sensore Gas (CO2) A2
 - Modulo RN-XV per comunicazione WiFi

*********************************************************************************************************/

//DEFINIZIONE LIBRERIE
#include <WiFlyHQ.h>
#include <SoftwareSerial.h>

//DEFINIZIONE MACRO PER IL RESET DELLA SCHEDA
#include <avr/io.h>
#include <avr/wdt.h>
#define Reset_AVR() wdt_enable(WDTO_30MS); while(1) {}

//DOPO UN ORA SI RESETTERA' LA SCHEDA, ONDE EVITARE PROBLEMI CON LA COMUNICAZIONE WIFI
#define Reset_After_1hour 3600000   

//WIFI SETTINGS
WiFly wifly;

const char mySSID[] = "***";
const char myPassword[] = "***";

char serverName[] = "***";//URL del server a cui connettersi
#define serverPort 80 //porta di connessione
char* macStr;

SoftwareSerial wifi(8,9);

//PROCEDURA DI SCRITTURA IN MEMORIA PROGRAMMA
void print_P(const prog_char *str);
void println_P(const prog_char *str);

char jsonMsgBody[128];

void setup(){
  Serial.begin(9600);
  Serial.println(" --- SCHEDA DI MONITORAGGIO AMBIENTALE --- ");
  delay(1000);
  Serial.println("Programma Avviato, Setup Terminato!"); 
}


void loop(){
       
    configWIFI();

    int valore = <quello che voglio inviare>
    sprintf(jsonMsgBody,"%d",valore);
   
    InvioWIFIHttp(jsonMsgBody);           
   
    Reset_AVR();                             
}

//PROCEDURA DI CONFIGURAZIONE E CONNESSIONE ALLA RETE WIFI
//SE CI SONO PROBLEMI CON IL WIFI RESETTO LA SCHEDA E RIPROVO AL PROSSIMO RIAVVIO
int configWIFI(){
    println_P(PSTR("Starting"));
    print_P(PSTR("Free memory: "));
    Serial.println(wifly.getFreeMemory(),DEC);

    wifi.begin(9600);    //DEFINISCO IL BAUDRATE DI COMUNICAZIONE WIFI
    if (!wifly.begin(&wifi, &Serial)) {
        println_P(PSTR("Failed to start wifly"));
Reset_AVR();
    }

    char buf[32];
    /* Join wifi network if not already associated */
    if (!wifly.isAssociated()) {
/* Setup the WiFly to connect to a wifi network */
println_P(PSTR("Joining network"));
wifly.setSSID(mySSID);
//wifly.setPassphrase(myPassword);
        wifly.setKey(myPassword);
wifly.enableDHCP();

if (wifly.join()) {
    println_P(PSTR("Joined wifi network"));
} else {
    println_P(PSTR("Failed to join wifi network"));
    Reset_AVR();
}
    } else {
        println_P(PSTR("Already joined network"));
    }

    print_P(PSTR("MAC: "));
    macStr = (char *)(wifly.getMAC(buf, sizeof(buf)));
    Serial.println(macStr);
    print_P(PSTR("IP: "));
    Serial.println(wifly.getIP(buf, sizeof(buf)));
    print_P(PSTR("Netmask: "));
    Serial.println(wifly.getNetmask(buf, sizeof(buf)));
    print_P(PSTR("Gateway: "));
    Serial.println(wifly.getGateway(buf, sizeof(buf)));
    print_P(PSTR("SSID: "));
    Serial.println(wifly.getSSID(buf, sizeof(buf)));

    wifly.setDeviceID("Wifly-WebClient");
    print_P(PSTR("DeviceID: "));
    Serial.println(wifly.getDeviceID(buf, sizeof(buf)));

    if (wifly.isConnected()) {
        println_P(PSTR("Old connection active. Closing"));
wifly.close();
    }
   
    if (wifly.open(serverName, serverPort)) {
        print_P(PSTR("Connected to "));
Serial.println(serverName);

Serial.println("WIFI ALREADY");
    } else {
        println_P(PSTR("Failed to connect"));
        Reset_AVR();
    }   
}

//STAMPO UNA STRINGA DA MEMORIA PROGRAMMA
void print_P(const prog_char *str)
{
    char ch;
    while ((ch=pgm_read_byte(str++)) != 0) {
Serial.write(ch);
    }
}

void println_P(const prog_char *str)
{
    print_P(str);
    Serial.println();
}

//PROCEDURA D'INVIO CHE MANDA I DATI AL SERVER CON UNA STRINGA JSON,
//OGNI VOLTA ATTENDO LA RISPOSTA DAL SERVER E LEGGO IL VALORE DI RITORNO PER
//SAPERE QUANDO DEVO CAMPIONARE I PROSSIMI DATI
void InvioWIFIHttp(char* jsonStringBody){
  Serial.println("CREO RICHIESTA");
 
  wifly.print("POST /index.php HTTP/1.0\r\n");
  wifly.print("Content-Length: 512");
  wifly.print("\r\n\r\n");
  wifly.print(jsonStringHead);
 
  Serial.println("RISPOSTA DEL SERVER");
  //ATTENDO LA RISPOSTA DAL SERVER
  while(wifly.available()==0){}
 
     if(wifly.available() > 0) {
       char buf[200] = "buffer";
       
       wifly.gets(buf, sizeof(buf));
       Serial.println(buf);               
    }   
}

spero ti sia utile..per altri dubbi chiedi..se vuoi un piccolo tutorial di quello che ho fatto guarda la lezione 3 che ho fatto per un corso nelle scuole http://www.mancio90.it/index.php?option=com_content&view=article&id=26&Itemid=168#.UVhStRzBquI
Pages: 1 [2] 3 4 ... 10