Si ce l'ho fatta con un POST su una pagina PHP.
Come al solito il problema è mettere un po insieme tutto.
Ho usato un'altra libreria che era compatibile con la mia fotocamera e poi ci sono riuscito.
Nel frattempo sono anche passato al Mega perchè l'UNO era un po' limitato per altre cose che dovevo usare.
un suggerimento che ho notato guardando le librerie adafruit e co: spesso comunicano usando le valorizzazione base di Seriale/SPI/i2c, quindi controllate nella libreria e nel datasheet se effettivamente state andando a valori standard (e quindi piano) o state viaggiando a massima velocità.
passare da 9600 baud a 19200baud vuol dire dimezzare i tempi, arrivare a 115200baud vuol dire 1/12 del tempo originale!
Io ho provato a variare la velocità e non ho notato grandi differenze, quindi mi sono fermato a 38400.
Oltretutto nell'IDE 1.0.1 cambiare al velocità seriale da problemi.
Quindi fa passar la poesia.
se usi la softseial non puoi superare i 38400 baud in ricezione. Per cambiare il bouadrate sulla 1.0.1 basta mettere l'ide in linguia inglese.
comunque parlavo della seriale arduino / camera; per esempio la tua da datasheet arriva fino a 115200baud (ovvero 3 volte più veloce), ovvio che devi mandare il comando alla camera per cambiare il baudrate e poi cambiarlo pure tu. ovvio che dovrai usare il pin 0/1 e altri pin col PC attraverso un chip USB/Seriale, oppure puoi prendere un chip SPI/I2C to Seriale, così con l'i2c o con la SPI comunichi a piena velocità con la camera e mantieni l'arduino programmabile.
in entrambi i casi c'è da riscrivere la libreria, ma si tratta di una paginetta di codice, ed è molto semplice.
Allora su mandare i comandi alla camera ho trovato molti problemi.
Sia a cambiare la risoluzione che la velocità della seriale.
Anche spegnendo e riaccendendo non vedevo modifiche e sebbene interrogassi la camera e mi dicesse che era a 460x480 (per esempio) mi scattava a 320x240.
Io la collegavo direttamente ad Arduino senza PC.
E poi mandavo il tutto tramite etherneth ad un sito.
Puoi ripetere in queste condizioni che consigli per velocizzare?
N
Oggi non ho la camera sotto mano.
Sto impazzendo con i sensori e amplificare la tensione e iniziando a vedere i keypad.
Appena posso mi rimetto e ci provo.
Non ho capito dove attacco però al CAM.
Se intendi ai seriali dell'ATmega ho serial1...serial3
fico, allora usa la serial2 o 3, mi ero dimenticato che hai il mega, va bene una qualsiasi e fai che ciò che scrivi sulla seriale PC viene rimbalzato alla seriale camera e viceversa. in pratica usi arduino da ponte. Ovviamente entrameb le seriali a 115200
per cambiare risoluzione
0x56, 0x00, 0x05, 0x04, 0x01, 0x00, 0x19, x
dove x può valere: 640x480 0x00, 320x240 0x11, 160x120 0x22 (se non erro viene influenzata l'immagine SUCCESSIVA a quella scattata)
per chiedere la risoluzione:
0x56, 0x00, 0x4, 0x4, 0x1, 0x00, 0x19
fare una foto
0x56, 0x00, 0x36, 0x01, 0x00
i valori sono in esadecimale, quindi non puoi scriverli così. DAal serial monitor dovreti inviare il carattere ascii corrispondnete, oppire da processing puoi usare ogni valore in una serial.write
Scusa quindi attacco la CAM alla seriale1 diciamo.
Poi faccio un ciclo che ogni cosa che entra da li la mando in serial.write (la seriale del serial monitor)
E ogni cosa che parte dal serial monitor venga buttata di la giusto?
Tu hai già qualche programmino o pezzo di codice che lo faccia?
Su un Arduino MEGA puoi mettere una RAM per avere 64kByte di RAM. per esempio: http://ruggedcircuits.com/html/megaram.html
Hai provato di usare al posto del Arduino una altra piattaforma.
Ciao Uwe
Faccio al prova.
Lesto chiedo a te.
Tu hai esempi per gestire input/output da tastiera.
Nei test vorrei usare la seriale.
Tipo se devo fare un quiz domande e risposte anche aperte tipo la tabellina
Intanto metto un post dedicato.
Scusa Lesto, dato che uso il serial monitor per mandare i messassi, cosa scrico?
Ad esempio
per
0x56, 0x00, 0x05, 0x04, 0x01, 0x00, 0x19, 0x00 (ultimo per la risoluzione)
0x56 = 86 dec quindi metto la V (v maiuscola) ?
E se alcuni esadecinali non hanno un carattere scrivibile?
E se i baud non sono impostati bene dall'inizio riesco a comunicare?
Intanto provo a mandare la scritta di settaggio fissa?
contecavour:
Scusa Lesto, dato che uso il serial monitor per mandare i messassi, cosa scrico?
Ad esempio
per
0x56, 0x00, 0x05, 0x04, 0x01, 0x00, 0x19, 0x00 (ultimo per la risoluzione)
0x56 = 86 dec quindi metto la V (v maiuscola) ?
esatto
E se alcuni esadecinali non hanno un carattere scrivibile?
usi qualcosa tipo processing che eprmette di scivere sulla seriale
E se i baud non sono impostati bene dall'inizio riesco a comunicare?
non riesci a comunicare. dovresti vedere in risposta strani caratteri
Intanto provo a mandare la scritta di settaggio fissa?
cosa intendi?
Tu hai esempi per gestire input/output da tastiera.
Nei test vorrei usare la seriale.
Tipo se devo fare un quiz domande e risposte anche aperte tipo la tabellina
Intanto metto un post dedicato.