Buongiorno a tutti,
Vorrei condividere con voi ciò che ho trovato nei meandri del web, la sua costruzione e il suo utilizzo, giacchè, per me, è stato un cambio in meglio, anzi, molto meglio. INoltre, in uesto modo, riesco a documentare ciò che faccio, in modo da poterlo recuperare in futuro, se ce ne fosse bisogno.
Come alcuni sanno, ho a casa dei moduli che possono funzionare sia in analogico che in DCC. Per il funzionamento in DCC (e tante altre cose che ho intenzione di condividere sul forum, prima o poi) utilizzo una centralina DCC fatta con Arduino (DCC++, di cui ho già parlato in precedenza) gestita tramite JMRI.
Ed è proprio tramite JMRI che controllo le locomotive digitali (movimento e varie funzioni) interfacciandomi a JMRI tramite un'app sullo smartphone (Engine Driver).
Per farla semplice: Engine Driver -> JMRI -> Centralina DCC++ -> binari.
Ora, il punto debole di tutta la catena è proprio l'app. Usare un touchscreen è scomodo e lento, il telefono si scarica, magari serve ad altro...
Parlandone con Davide Munegato, è saltato fuori che questa (l'utilizzo dello smartphone + app) è un punto critico, se non IL punto critico, delle sessioni digitali sul modulare. Spesso si verificano problemi a scaricare l'app, installarla (telefoni vecchi/memoria piena), ad utilizzarla (io stesso ho trovato l'app fleischmann un po' incasinata), connessioni wifi che saltano, chiamate, ecc ecc.
Insomma, serviva un qualcosa che "non si metta in mezzo" nell'uso del digitale. Un qualcosa che accendi, metti l'indirizzo e usi, senza complicazioni.
Cerca e ricerca... è saltato fuori qualcosa di interessante:
wiFred.
Premetto subito che non è farina del mio sacco: lascio qui il repository github del progetto, dove ci sono i veri autori:
https://github.com/newHeiko/wiFredTornando a noi, wiFred è questo simpatico telecomandino:
(foto presa dal repository github del progetto)
Allegato:
2021-01-23-preview0001.jpg [ 83.21 KiB | Osservato 2639 volte ]
E ha le seguenti caratteristiche/possibilità:
- Controlla fino a 4 locomotive (velocità e direzione)
- Può attivare funzioni da F0 a F16
- Tasto dedicato a stop di emergenza
- Batteria interna ricaricabile con USB-C
- Comportamento e indirizzi programmabili da interfaccia web
- Connessione a server wiThrottle
- Basato su ESP32 (ma ci sono anche altre versioni)
Il telecomando, che io sappia, non è in vendita, ma si può solo fare fai-da-te e sul repository github ci sono tutte le istruzioni e i files necessari.
- Parte prima - Hardware -Vi consiglio di scaricare l'intera cartella del progetto. Dal repository Github basta andare sul tasto "code" in alto a destra e da l' cliccare su "download zip". Estraete dove preferite il file .zip e quella sarà la cartella di lavoro con tutto il necessario.
Prima di tutto, bisogna stampare il PCB. Per fare questo, io ho usato un servizio online: JLCPCB. Devo dire che mi sono trovato molto bene, ma voi potete usare il servizio che più preferite.
Il PCB di wiFred avrà, da un lato, dei componenti SMD. Non sono piccolissimi ma nemmeno enormi (0805). E' possibile saldarli anche a mano, ma, per evitare di impazzire, ho preferito farli saldare a JLCPCB, dato che il buon Heiko Rosemann (uno degli autori) ha predisposto tutto quanto.
I files che ci interessano e che dovremo dare in pasto a JLCPCB sono in tutto tre, e si trovano nel repository github nella cartella
hardware e poi
production-data. Qui possiamo scaricare il file
2021-11-07-wiFred0.63-PCB.zip che, nel momento in cui scrivo, è l'ultima versione.
All'interno ci saranno il file gerber, la Bill of Materials e il file CPL.
Una volta dati in pasto questi a JLCPCB (o equivalente), loro stamperanno il PCB e salderanno i vari componenti SMD prima di inviarci il pacchetto.
Questo è un PCB "nudo e crudo" senza i componenti SMD saldati sopra.
Allegato:
1662223137745.jpg [ 239.53 KiB | Osservato 2639 volte ]
Questa è la parte anteriore del PCB dove si vedono le piazzole per ESP32:
Allegato:
1662393224615.jpg [ 204.81 KiB | Osservato 2464 volte ]
E questa è sempre la parte anteriore del PCB con ESP32 in posizione (non saldato):
Allegato:
1662393224597.jpg [ 186.53 KiB | Osservato 2464 volte ]
Questo invece è un PCB con tutti i componenti saldati e perfettamente funzionante:
Allegato:
1662223137725.jpg [ 284.83 KiB | Osservato 2639 volte ]
Già che siamo su JLCPCB, conviene anche ordinare una dima per forare la scatolina di plastica nella giusta posizione, è comunque un PCB, quindi ha il suo fil gerber, che allego (visto che su github è un po' nascosto) :
Allegato:
wiFred_drillJig.rar [34.34 KiB]
Scaricato 69 volte
Così facile? No, ovviamente: mancano i tasti, gli switch, i led, gli ESP32, le batterie...
Tutti questi componenti (e i siti dove procurarseli) sono elencati nel file:
- wfred_rev6-Partlist.ods
presente nella cartella
hardwarePersonalmente, ho preso gli equivalenti su Aliexpress, con l'eccezione degli ESP32 e dei tasti giallo e rosso, che ho preso su tme.eu e delle scatoline di plastica, prese su reichelt.de.
A proposito: le resistenze variabili da 10KOhm sono da scegliere con il gambo zigrinato più lungo possibile (almeno 20mm), in modo da poter installare facilmente un pomello una volta montato il wiFred.
Fate attenzione a prendere esattamente i componenti che servono: ad esempio i tastini hanno una lunghezza specifica (almeno 9mm, meglio 10mm), altrimenti non escono dalla scatolina e non possono essere premuti.
Una volta ricevuto tutto, si può passare all'assemblaggio. Consiglio di procedere in questo modo:
- Fate tutti i fori necessari nella scatoletta usando la dima, a cui andranno aggiunti i fori per i led di carica in basso, lo scasso per la porta usb e i fori per i due led bianchi frontali (opzionali).
- Inserite (NON saldate ancora) tutti i tasti nel pcb e inserite il PCB nella parte di scatoletta che avete forato, avvitandolo. Verificate che tutti i tasti funzionino correttamente (che facciano click) e solo allora procedete a saldarli, con il PCB avvitato nella scatoletta. Alla fine, verificate nuovamente il funzionamento dei tasti.
- Saldate tutti gli altri componenti (LED, resistenza variabile, interruttori, deviatore, esp32, ecc ecc) e attaccate la batteria (in realtà è opzionale, potete alimentare anche tramite un cavetto usb-c).
Ora che la parte hardware è finita, si può passare alla parte software.
- Parte seconda - Software -Ci rimane da caricare il software nell'ESP32. Qui le cose sono più semplici.
Il software si trova nella cartella
software e poi
esp-firmware. Aprite il file
esp-firmware.ino con l'IDE di Arduino. A questo punto dobbiamo soddisfare due condizioni:
- Installare le librerie aggiuntive nell'IDE di Arduino, in modo da poter gestire e programmare ESP32. Vi lascio a questo tutorial, secondo me molto semplice:
https://randomnerdtutorials.com/install ... tructions/Installate le librerie, selezionate la scheda ESP32 e impostate le opzioni di compilazione secondo quanto indicato nel file
software/esp-firmare/arduinoSettings.pngIn caso di errori, potrebbero mancarvi delle librerie software... basta capire quale manca e installarla nell'IDE. A memoria, non ho avuto problemi in questo senso.
- Collegare il nostro wiFred al pc. Questa connessione si effettua con un adattatore USB-seriale. Io ne ho usato uno che ho preso sempre da Aliexpress e che ha funzionato sempre alla grande, nello specifico questo, basato su CP2102:
Allegato:
Screenshot (61).png [ 85.27 KiB | Osservato 2639 volte ]
A questo punto, tramite fili femmina-femmina con connettori dupont, andremo ad eseguire le seguenti connessioni:
USB-seriale wiFred
GND -> GND
3V3 -> VCCTX -> RX (non è un errore)
RX -> TX (come sopra)
Rimangono solo due pin liberi sul wiFred: uno denominato BOOT e l'altro GND. E' fondamentale che questi siano collegati tra di loro, per fare entrare l'ESP32 in una modalità che consenta la programmazione. Va benissimo anche usare un jumper.
ATTENZIONE: ESP32 funziona a 3,3V. Collegatelo al pin relativo a questa tensione. Se lo collegate al 5V... beh... fa una brutta fine.
Uno scatto della zona interessata, dove ho evidenziato la funzione dei vari pin:
Allegato:
1662223137705.jpg [ 369.06 KiB | Osservato 2639 volte ]
A questo punto è tutto pronto: collegate l'adattatore USB-seriale con attaccato il wiFred al PC, verificate che la porta COM selezionata nell'IDE di Arduino sia quella giusta, fate click su
upload sketch e... dita incrociate.
Se l'upload è andato a buon fine (io non ho avuto alcun problema in questo step) rimane solo da scollegare il wiFred, chiudere la scatoletta e passare alla fase successiva.
Parte terza - Prima configurazione e usoNon rimane da fare altro che accendere il wiFred, spostando verso l'alto uno dei quattro switch di selezione locomotiva, dopo aver caricato la batteria, se presente.
Durante la prima impostazione, il wiFred cercherà una delle reti wifi che sono state salvate e che conosce (led rosso in alto a sx lampeggiante) ma... non ne abbiamo mai impostata una.
E in fatti non la troverà

e si porterà in modalità programmazione (led rosso acceso fisso).
In questa modalità, il wiFred creerà una sua rete wifi con un nome simile a questo:
wiFred-config******Dove, al posto degli asterischi, ci saranno gli ultimi sei caratteri dell'indirizzo MAC della scheda di rete dell'ESP32. In pratica, saranno sei tra lettere e numeri completamente a caso, tipo:
wiFred-config54CE78
wiFred-configD478A9
Collegatevi con uno smartphone o tablet a questa rete wifi e poi puntate alla pagina
http://192.168.4.1 oppure
http://config.local . Si aprirà la pagina di configurazione di wiFred:
Da qui, andiamo subito nella sezione
wifi e clicchiamo su
scan for networks.:
Allegato:
Screenshot (58).png [ 43.39 KiB | Osservato 2639 volte ]
Dall'elenco di reti che uscirà, selezioniamo la rete wifi sulla quale sta girando il server wiThrottle, inseriamo l'eventuale password e confermiamo.
A questo punto, già che siamo qui, possiamo inserire gli indirizzi di quattro locomotive che vogliamo controllare, salvando ognuno di essi tramite il tasto
save loco config:
Allegato:
Screenshot (57).png [ 58.29 KiB | Osservato 2639 volte ]
Fatto questo, non resta che spegnere e riaccendere il wiFred: è sufficiente spostare verso il basso lo switch di selezione locomotiva, aspettare qualche secondo e poi spostarlo verso l'alto.
Ora il wiFred cercherà la rete wifi che gli abbiamo indicato, si connetterà ad essa, si connetterà al server wiThrottle attivo e sarà pronto all'uso (led rosso in alto a sx spento, un led verde indicatore di direzione acceso).
A questo punto, è sufficiente scegliere una direzione tramite il deviatore centrale e ruotare la resistenza variabile per far muovere la locomotiva.
I tasti neri servono ad attivare le varie funzioni eventualmente presenti, da F0 a F8 e, premendo contemporaneamente il tasto giallo (SHIFT), da F9 a F16.
Per cambiare direzione, bisogna prima portare la velocità a zero.
Il tasto rosso è l'arresto di emergenza.
Per ritornare in modalità programmazione, ci sono in totale quattro modi. Quello che io trovo più pratico è il seguente:
Da wiFred spento (tutti gli switch di selezione locomotiva in basso), basta premere e tenere premuto il tasto giallo (SHIFT) mentre si accende il wiFred. Tenere sempre premuto il tasto giallo per 5 secondi (mentre i led lampeggiano) e infine rilasciarlo quando si accende il led rosso in alto a sinistra, fisso.
Ora il wiFred è in modalità programmazione e ha creato la sua rete wifi. Basta connettersi ad essa ed entrare nella pagina di configurazione, come descritto poco sopra.
Riguardo l'uso, al momento non andrò oltre questa specie di guida (ultra)rapida. Per un uso approfondito e scoprire tutte le potenzialità di questo telecomandino, vi rimando alle già completissime istruzioni che potete trovare ne file
docu_en.pdf (oppure
docu_de.pdf) nella cartella
documentation.
Personalmente, ho fatto al momento dieci wiFred, di cui 5 con batteria e altri 5 senza (le batterie sono in arrivo). Li porterò a Novegro (i 5 con batteria di sicuro, per gli altri dipende dalle batterie in arrivo) per provarli durante la sessione digitale.
Aggiungo anche un breve video in cui, senza nessuna pretesa, cerco di darvi una piccola anteprima sull'uso pratico di wiFred:
Come sempre, spero che questo post vi sia d'ispirazione o in qualche modo utile e di non avervi annoiato troppo. Alla prossima.