sono un principiante di c++ Sto usando un D1 mini Pro e volevo far visualizzare l indirizzo ip acquisito da DHCP su un display led 8x8 (wemos matrix led shield) visualizzando CIFRA X CIFRA l indirizzo ip
ho fatto vari tentativi ma le varie conversioni mi sporcano il dato e non ho piu correlazione
IPAddress myIPAddrStr ; //dichiaro il tipo
myIPAddrStr = (WiFi.localIP()); //assegno l IP alla variabile
int IP1 = (myIPAddrStr[0]); // assegno il primo ottetto
Serial.println (IP0); //stampalo
int IP2 = (myIPAddrStr[1]);
Serial.println (IP1);
int IP1 = (myIPAddrStr[2]);
Serial.println (IP2);
int IP1 = (myIPAddrStr[3]);
Serial.println (IP3);
ma cosi ho solo diviso l ip nelle 4 cifre
invece volevo avere la lettura delle singole cifre per farle visualizzare dal display led
Grazie
Prima di tutto, nella sezione in lingua Inglese si può scrivere SOLO in Inglese ... quindi, per favore, la prossima volta presta più attenzione ...
... poi, essendo il tuo primo post, nel rispetto del regolamento (… punto 13, primo capoverso), ti chiedo cortesemente di presentartiIN QUESTO THREAD (spiegando bene quali conoscenze hai di elettronica e di programmazione ... possibilmente evitando di scrivere solo una riga di saluto) e di leggere con MOLTA attenzione il su citato REGOLAMENTO ... Grazie.
Guglielmo
P.S.: Il tuo post è stato spostato nell'opportuna sezione del forum "Italiano"
tu intenda una WeMos D1 mini Pro per cui ricordo sempre che questo è il forum di Arduino.cc dove si fornisce assistenza per problemi relativi a problematiche che coinvolgono Arduino, i suoi collegamenti e la sua programmazione.
Quindi, ben vengano domande che riguardano moduli ESP8266 collegati ad Arduino, ma domande per moduli che nulla hanno a che vedere con Arduino, prodotti da altri produttori che hanno semplicemente utilizzato/sfruttato l'IDE per sviluppare un loro "core" e facilitare la programmazione delle loro schede, come le schede WeMos, vanno poste sul forum di supporto delle WeMos. Grazie.
Guglielmo
P.S.: Come vedi NON ho chiuso il thread, ma ... non esageriamo eh ...
la funzione WiFi.localIP() della libreria WiFi library di Arduino è utilizzabile e funzionante ANCHE con la mia schedina aimè piu "versatile" e meno costosa di una Arduino, me ne dispiace molto per cio
Il mio quesito forse l ho posto malamente ma credevo che il senso era semplice
Avendo solo una matrice di led 8x8 e un dato in una variabile di tipo IPAddress ...potrebbe essere lecito farlo visualizzare magari cifra x cifra in un unica matrice di led 8x8 "mono carattere"??
Cosa uso e dove uso credo ininfluente il problema è generico di programmazione
Ripropongo domanda in modo meno dispersivo e piu diretto:
Come posso scandire CIFRA per CIFRA una variabile di tipo IPAddress in modo da poterlo poi passare alla funzione di visualizzazione del display??
Grazie della disponibilità
p.s.
Tale quesito con l idea di voler condividere soluzioni utili A CHIUNQUE voglia usare l ide Arduino con librerie "standard" e quindi anche dall originale Arduino mi pareva lecito
riky67:
Tale quesito con l idea di voler condividere soluzioni utili A CHIUNQUE voglia usare l ide Arduino con librerie "standard" e quindi anche dall originale Arduino mi pareva lecito
... ma secondo te i costi di questo forum li paga la WeMos o chi ?
E comunque, come hai visto NON ho chiuso il thread, proprio perché comunque era una domanda abbastanza generica.
usi le String (che possono dare problemi di memoria) e che sono una classe/oggettoString ipStr=myIPAddrStr .toString();inoltre ipStr non è stringa classica del C (array di char null terminated) ma un oggetto.
visto che hai le 4 parti dell'ip, li converti uno per uno in stringa classica del C con itoa()
le 4 parti le scrivi dentro ad una stringa classica C usando snprintf
char buf[16]; // max dimensione ip, XXX.XXX.XXX.XXX 15 char + 1 di fine stringa
snprintf(buf,16,"%d.%d.%d.&d",IP1,IP2,IP3,IP4);
Quindi buf contiene l'ip come testo. Per stamparlo carattere per carattere cerca in internet un codice per lo scrolling di frasi su una matrice 8x8, c'e' ne sono molti. Mi pare anche alcune lib per le matrici 8x8 hanno dei comandi per lo scroll
Per scrivere sul matrix usi una lib ?