Leggere ip da file

Salve, ho controllato su tanti siti, ma non trovo quello che cerco.
Da un file di testo, salvato sull’SD, devo cercare di leggere l’indirizzo ip al quale arduino si deve connettere.
specifico di essere dotato di ethernet shield e che l’indirizzo ip è di tipo IPAddress.
vi allego parte del programma

filereadmod.ino (976 Bytes)

Ciao, essendo il tuo primo post, ti chiederei cortesemente di presentarti QUI (spiegando bene quali conoscenze hai di elettronica e di programmazione ... possibilmente evitando di scrivere solo una riga di saluto) e di leggere con attenzione il REGOLAMENTO ... Grazie.

Guglielmo

Beh, mi pare che l'IP tu lo stia già leggendo. Ora devi solo trasformarlo in un oggetto IPAddress come segue:

IPAddress ipaddr;
ipaddr.fromString (ip);

Grazie mille per la tua risposta immediata. Ho solo bisogno di sapere se quella funzione necessita di una libreria specifica perchè mi da il seguente errore: " 'class IPAddress' has no member named 'fromString' "

Che versione di Arduino stai usando? Nell'ultima (1.6.9) funziona sicuro, nelle precedenti non saprei.

salve SUKKOPERA utilizzo l'ide 1.0.6, ho provato ad installare 1.6.9 ma non mi compila più lo sketch dandomi l'errore di Exit Status 1

Stai usando un IDE vecchissimo e perdendoti gli ultimi 2-3 anni di evoluzione di Arduino, a mio avviso non ne vale la pena.

Scarica la 1.6.9 e se non compila più un motivo ci sarà, posta sketch ed errore e vedrai che lo sistemeremo.

So che sto utilizzando una versione vecchia, ma ho iniziato qua, ma come ho precedentemente detto ho installato la new version (1.6.9), ma non va comunque dandomi o stesso errore. lo sketch è quello di prima con l'aggiunta della tua modifica :)

Ma fermandoti ad una versione vecchia senza motivi validi ti crei solo problemi! Ad esempio già non puoi usare questo fromString() che ti farebbe tanto comodo!

E poi cavolo, un po’ di voglia di smanettare ci vuole! Ho provato a compilare il tuo sketch con la 1.6.9 e per riuscirci è bastato commentare questi tre #include:

#include<iterator>
#include<string>
#include<pnew.cpp>

Che nemmeno stai usando (a parte la String, ma quella è già definita in Arduino, non serve includere niente) e sono sicuramente frutto di un copia-incolla.

SukkoPera:
… e sono sicuramente frutto di un copia-incolla.

… i soliti copia/incolla senza “approfondire” quello che si sta copiando/incollando :smiling_imp:

Guglielmo

partendo dal presupposto che sto utilizzando ardunio 1.0.6 capisci che qui gli include servono e che la storia dei copia e incolla non mi sta bene. Ti ripeto che la versione 1.0.6 l'avevo già installata e come tale stavo utilizzando questa :)))))))). Ora do you (voi) understand me? :)

Se ti servono, allora non hai postato tutto lo sketch, perché io non vedo nessun punto dove usi iterator.

pnew.cpp è un tuo file, ma includere un file .cpp è già sbagliato concettualmente (a meno di alcuni casi molto particolari), e tipico sintomo da "non so cosa sto facendo".

string potrebbe avere senso, però nella 1.6.9 non è più richiesto, e non sono sicuro che prima lo fosse.

Tieni anche conto che fino ad Arduino 1.6.7 (o giù di lì) la gestione degli #include lascia molto a desiderare, obbligando spesso a fare #include nello sketch principale che poi sono usati solo da altri file. Questo per me è un motivo già più che sufficiente da solo ad aggiornare.

Se poi il motivo per cui non compila sotto 1.6.9 è un altro ancora... Postalo, è decisamente meglio sistemarlo che rimanere nel passato.

AllaFabio: partendo dal presupposto che sto utilizzando ardunio 1.0.6 capisci che qui gli include servono e che la storia dei copia e incolla non mi sta bene.

Guarda, quegli include che ha indicato SukkoPera NON servono a un bel niente né con la 1.0.6 né con la 1.6.9, quindi ... ... inventatene un'altra !

Guglielmo

P.S. : naturalmente, prima di risponderti, ho appena provato con la 1.0.6 :smiling_imp:

Se il signor gpb01 non sa che io non ho riportato il programma interamente non sa neanche che ho scritto ALLEGO UNA PARTE DI PROGRAMMA :) gli include servono

p.s ho provato con arduino 1.0.6 :)

AllaFabio: Se il signor gpb01 non sa che io non ho riportato il programma interamente non sa neanche che ho scritto ALLEGO UNA PARTE DI PROGRAMMA :) gli include servono

E allora [u]hai sbagliato DUE volte[/u], primo a non riportare il codice per intero, secondo a non dircelo ...

Guglielmo

Non sbaglio e non perché voglia peccare di presunzione, ma perché ad inizio programma ho scritto che questa era una parte dato che era quella la parte non funzionanante :)

E ti sembra ben evidenziato? E quando SukkoPera ti ha chiesto chiarimenti perché non glie lo hai detto? Credi veramente che presentare i problemi in questo modo ti porterà ad avere molte risposte e molto aiuto ? Auguri ...

Guglielmo

P.S.: Comunque il tutto non toglie che stai usando [u]una versione obsoleta[/u] dell'IDE !

Mi scuso per la mia ignoranza in fatto di evidenziatori, le ripeto che ho utilizzato come ide 1.0.6 e come tale vorrei finire qui per non scombussolare il programma. grazie mille per la comprensione AUGURI ANCHE A TE :))))

Ho risolto il problema, grazie mille a sukkopera anche se ho risolto in altro modo. Questa è la soluzione che ho adoperato: convertire la stringa in numeri interi e ho trasferito i numeri nell'indirizzo IP Spero che la mia soluzione (senza copia e incolla :) ) possa servire a qualcun altro Buona giornata :))

Grazie SukkoPera, mi hai risparmiato un bel po' di tempo con la tua risposta. Ti chiedo solo una cosa: dove trovo altre info sulla ipaddr.fromString (ip) ? Sul Reference/EthernetIPAddress non ce ne è traccia.