Collegare SD a due lettori

Buonasera,
Probabilmente scrivo una castroneria ma, vengo al sodo.
Ho una scheda sd sulla quale una macchina aggiorna un file di log ogni volta che si verifica un evento ad un sensore ad essa collegata.

Vorrei collegare la stessa contemporaneamente ad un secondo lettore per leggere con arduino in web server il file ogni qual volta mi serve sapere se c’è stato un evento.

È possibile fare ciò?

Prova a guardare QUESTO datasheet che potrebbe aiutarti a risolvere il problema di usare da due parti lo stesso bus SPI.

Guglielmo

La vedo male con la sincronia tra macchina e arduino

Magari sarebbe meglio intercettare il sensore

1 Like

Beh, è abbastanza ovvio che la cosa va studiata e ci devono essere dei segnali che indicano lo stato di una transazione (segnali di sincronizzazione tra i due che vogliono usare lo stesso SPI) ... altrimenti sai che casino :smile: :smile: :smile:

Guglielmo

P.S.: ma questa cosa è in generale valida per ogni cosa a cui si vuole accedere da più utilizzatori.

No, forse prima non ho focalizzato bene la cosa

Il problema è se la macchina inizia a scrivere quando arduino sta leggendo
Sincronizzare la macchina richiede modificarla o almeno modificarne il suo programma ed il suo cablaggio

Temo sia li il problema, non solo tecnico, anche relativo a sicurezze, garanzie e certificazioni

Si, certo, quello intendevo per sincronizzazione ... purtroppo l'OP NON ci ha dato alcuna informazione su questa "macchina" ... cosa è? Una cosa che ha realizzato lui? Un prodotto industriale? :roll_eyes:

Ovvio che a seconda dei casi ci può mettere o NON ci può mettere le mani dentro e quindi c'è poco da fare.

Comunque, alla domanda come si accede ad allo stesso device SPI da più controller, la risposta più semplice è usando un mux SPI ... ovviamete se il tutto è fattibile :wink:

Guglielmo

Forse si può anche mettere un sensore indipendente...

Non potendo usare un mux spi e non potendo intercettare il sensore toccherebbe tentare di intercettare il flusso spi

Ma serve di interpretare un flusso dati che già contiene informazioni relative al file system, non solo al file

Noi non ci sentiremmo nemmeno in grado di cominciare

La macchina è una vending machine che purtroppo non supporta nessun collegamento Wi-Fi/lan. Dovrei aggiornare, ovvero sostituire la scheda madre con nuovi protocolli mdb ecc.

La mia idea, siccome capita che qualche cliente dica di non aver ricevuto resto, era di leggere il file di log dove appunto mi segnala anche un resto non erogato, un overpay (cioè caricano soldi e scordano di premere tasti e dopo X secondi la macchina azzera) oppure controllare l’andamento della giornata.

Dei distributori sono proprietario, quindi nessun problema circa vincoli con comodato d’uso; però ovviamente è un discorso troppo articolato quindi lascio perdere.

Potrei anche, come diceva qualcuno, intercettare la comunicazione cctalk tra rendiresto, lettori banconote e monete ma sarete troppo un casino

Mi sa che, con una certa regolarità, ti tocca spostare a manina la SD card dalla macchina ad un lettore di SD per leggere, periodicamente, il file di log ... :roll_eyes:

Guglielmo

Ci sono degli adattatori per micro-SD che espongono il contenuto della SD attraverso un'interfaccia WiFi.

Prova a cercare EZ-Share oppure FlashAir

A manina lo faccio già. Il discorso era arginare un problema prima che questo divenisse più grande.
10 giorni fa si bloccò il rendiresto e fui chiamato da un cliente verso le 11 di mattina ma, controllando i log, il problema si era verificato già dalle 9.
Ovviamente il discorso si fa grande se tutti venissero con 5/10€ e la macchina in pochi minuti può non erogare anche 20/30€ di resto…
A quel punto il log mi serviva per verificare se vi fosse un errore, magari controllando ogni ora ad esempio, e quindi attivarmi subito

Vale sempre il discorso della incompatibilità dell’avere in simultanea collegato uno “scrivente” (macchina) ed un “lettore” (arduino)?

2ª IPOTESI:
Se affrontassi l’argomento da un altro punto di vista?

Piuttosto che leggere un log scritto su di una sd, potrei collegarmi sulla linea cctalk del rendiresto ed intercettare/leggere in simultanea la comunicazione?

Conosco come funziona il cctalk, ma non so come questo si comporta in una situazione di errore; se ad esempio questo mandasse semplicemente una stringa per dichiarare lo stato di errore e si fermasse lì senza aggiornamenti periodici, io potrei trovarmela su arduino e leggerla, no?
oppure ciclicamente aggiorna lo stato e dopo un X secondi torna in standby?

Chiedo questo a chi è più esperto del protocollo

Nui sappiamo solo che è seriale half duplex (su un solo filo si trasmette a turno) con livelli TTL

Un po' di sniffing potrebbe risolvere la cosa

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.