Pages: [1]   Go Down
Author Topic: Sketch in rete  (Read 993 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Full Member
***
Karma: 2
Posts: 105
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Da non possessore di ethernet shield volevo chiedere se era possibile in qualche modo riuscire a caricare e quindi fare l'upload di uno sketch su Arduino1 tramite il suo IDE con ethernet shield tramite ip in rete locale senza dover per forza usare la porta com usb....

Questa funzione risulterebbe molto comoda in quanto si avrebbe la possibilità di lanciare a volo modifiche degli sketch sulle board arduino che stanno già "lavorando" senza l'obbligo di andare sul posto con il pc e collegarsi con la usb ...

E poi volevo sapere se è vero che l'ethernet shield su un'arduino1 si "mangia" i pin 10-11-12-13 per la comunicazione anche se fisicamente è connesso sul icsp bus ??!!

Grazie...
« Last Edit: April 02, 2012, 06:05:52 pm by pietro78 » Logged

Global Moderator
Italy
Offline Offline
Brattain Member
*****
Karma: 327
Posts: 22640
Logic is my way
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Da non possessore di ethernet shield volevo chiedere se era possibile in qualche modo riuscire a caricare e quindi fare l'upload di uno sketch su Arduino1 tramite il suo IDE con ethernet shield tramite ip in rete locale senza dover per forza usare la porta com usb....
Non credo sia possibile, non ho l'ethernet ma per quel che ne so non puoi farlo con essa. L'ethernet funziona tramite l'Arduino sottostante. Ti servirebbe un altro circuito per programmare l'Arduino. Diversamente con i moduli Xbee so che puoi farlo però ovviamente hanno una portata radio limitata.

Quote
E poi volevo sapere se è vero che l'ethernet shield su un'arduino1 si "mangia" i pin 10-11-12-13 per la comunicazione anche se fisicamente è connesso sul icsp bus ??!!
Sì, perché il connettore ICSP è collegato ai pin 10/11/12/13.
Logged


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

Ciao

Quote
Da non possessore di ethernet shield volevo chiedere se era possibile in qualche modo riuscire a caricare e quindi fare l'upload di uno sketch su Arduino1 tramite il suo IDE con ethernet shield tramite ip in rete locale senza dover per forza usare la porta com usb....

in realtà c'era un progettino del genere, poi lasciato a se stesso:
http://labs.arduino.cc/TFTPBootloader/Index
Logged

0
Offline Offline
Shannon Member
****
Karma: 130
Posts: 10464
:(){:|:&};:
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

richiede modifica di boot-loader. sarebbe molto più semplice adattare lo sketch per usare arduino come programamatore per funzionare coi tiny o simili, e poi fare in modo tale che il tiny riprogramma l'arduino. certo così usi doppio micro
Logged

sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

Global Moderator
Italy
Offline Offline
Brattain Member
*****
Karma: 327
Posts: 22640
Logic is my way
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Io lascerei perdere.
A parte il problema della memorizzazione dello sketch su un supporto da cui poi leggero (e questo forse si potrebbe aggirare usando l'SD della scheda ethernet) ma se poi lo sketch arriva danneggiato? Se arriva giusto ma la schedina è difettosa e viene registrato male? Se viene registrato bene ma trasmesso al micro male?
Comprometteresti la funzionalità dell'apparato. Dovresti allora integrare un sistema di controllo dei dati (una somma di controllo, tipo MD5) ma così con un Tiny non credo che riiusciresti a starci come memoria. Quindi dovresti usare un chip iù grosso, ma rimarrebbe il primo problema. Allora tanto vale farsi una girata ed esser sicuri dell'operazione.
Logged


0
Offline Offline
Shannon Member
****
Karma: 130
Posts: 10464
:(){:|:&};:
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

leo il TCP fà già il controllo sulla correttezza dei dati, e su più livelli ISO/OSI, quindi nessun problema (si occupa della autoritrassmissione e boiate del genere)

a questo punto registri su SD, e direi che quì di perdite non ce ne dovrebbero essere, comunque si più leggere il dato salvato e confrontarlo con quello ancora in memoria, se si è paranoici.

e anche il programma che autoprogramma arduino fa il controllo che il programma sia stato uppato con successo e correttamente, rileggendolo e confrontandolo.

poi ovvio, che metti l'atmega sullo zoccolo al contrario che niente funziona :-)

secondo me è un ottimo sistema per chi lavora in remoto su uno o più appartati

edit: di certo non è una cosa semplice da fare mettere mano al codice ISP, soprattuto per usare la flash esterna al posto della ram o quello che usa ora)
Logged

sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

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

Quote
richiede modifica di boot-loader. sarebbe molto più semplice adattare lo sketch per usare arduino come programamatore per funzionare coi tiny o simili, e poi fare in modo tale che il tiny riprogramma l'arduino. certo così usi doppio micro

se avessi una arduino dedicata a quello, mi costerebbe meno (in termine di giri/modifiche/risorse) modificarne il bootloader e fine.

Quote
Questa funzione risulterebbe molto comoda in quanto si avrebbe la possibilità di lanciare a volo modifiche degli sketch sulle board arduino che stanno già "lavorando" senza l'obbligo di andare sul posto con il pc e collegarsi con la usb ...

questo mi sembra un caso di quelli che ipotizzo sopra.

Il trasferimento via tftpboot è poi pratica consolidata in ambiente thin client, dove il sistema operativo viene apputno distribuito usando etherboot/pxe.

Come progetto secondo me ha delle potenzialità, così come quello che prevedeva l'aggiornamento dello sketch direttamente da SD..
Di sicuro non è LA panacea  smiley-razz
Logged

0
Offline Offline
Shannon Member
****
Karma: 130
Posts: 10464
:(){:|:&};:
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

bhe ma se esiste già uno da SD, allora basta semplicemente fare un codice che legge l'HEX via TCP (o FTP fate vobis, ma mi sa che è troppo complesso per l'arduino) e poi avviare lo sketch da SD... Ora, se lo skect SD gira sui tiny, possiamo dire che la soluzione c'è già
Logged

sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

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

@lesto
...cioè , non capisco perchè dovrebbe essere preferibile: usare una Eth Shield per scaricare uno sketch dalla rete, per poi utilizzare un tiny che si deve leggere dalla stessa sd lo sketch scaricato, e riprogammare Arduino..
 smiley-twist

ci vedo molte più possibilità di failure (e arzigogoli) che scaricarsi direttamente lo sketch e aggiornarsi, via TFTP.
Ripeto: come soluzione *di nicchia*, secondo me è valida.

La soluzione dell'aggiornamento da SD è altrettanto valida, nel momento in cui hai una SD  smiley, e hai Arduino inscatolata in modo tale da rendere difficilmente accessibile la porta USB e/o necessiti di far fare un aggiornamento da un "non addetto".
Ma è una soluzione diversa.

« Last Edit: April 03, 2012, 10:32:20 am by pitusso » Logged

Global Moderator
Italy
Offline Offline
Brattain Member
*****
Karma: 327
Posts: 22640
Logic is my way
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

@lesto:
come ho detto lo sketch può arrivare corretto ma poi ci possono essere altre variabili
Ah, una cosa. Non ho capito quando chiedi se gira lo sketch SD sui Tiny: a cosa ti riferisci? Alla libreria di gestione della SD? No, non ci sta. Siamo sopra ai 12/13 kB. Esiste una libreria ridotta per l'accesso alle SD (PetitFat se non ricordo male), ma ha funzionalità ridotte. Mi pare che non supporti la FAT32, il che limita la dimensione della SD gestibile.
Logged


0
Offline Offline
Shannon Member
****
Karma: 130
Posts: 10464
:(){:|:&};:
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

per la SD si può usare una mini-partizione RAW, e usarla stile eeprom (credo)

il vataggio di usare l'ISP dalla SD è che c'è meno codice da mantenere, visto che la parte ISP da SD è fatta da qualcun'altro, a lui toccherebbe mantenere solo la sua parte di codice.

La failure di rete è grave, ma se il micro è nel boot-loader è in una situazione molto delicata, sopratturro se hai già caricato mezzo codice e ti cade la rete... altrimenti dovresti comunque bufferizzare da qualche parte lo sketch, e torniamo alla SD
mentre invece se la ricezione e la copia in SD viene fatta con una libreria, e solo dopo che il tutto è ok avviene il lancio del secondo micro che manda in programmazione l'atmega...
Logged

sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

0
Offline Offline
Full Member
***
Karma: 0
Posts: 134
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

SD card bootloader:
http://arduino.cc/forum/index.php?topic=99837.0

TFTP bootloader:
http://arduino.cc/forum/index.php/topic,87455.0.html
Logged

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

@martin_bg
thanks!
Logged

Pages: [1]   Go Up
Jump to: