Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2004
    Messaggi
    1,344

    Interazione di PHP con dispositivi locali

    Ciao,

    dovrei riuscire a fare interagire dispositivo collegati al computer (registratore di cassa, lettori di badge e similari) con delle pagine in PHP.

    Fino ad ora mi sono appoggiato a dei dati di scambi (db o xml) e dei servizi che girano sul pc dove ho connesso i dispositivi (usb o seriali).

    Mi chiedevo se ci sia la possibilità di riuscire ad interagire direttamente con i dispositivi (ad esempio cliccando un pulsante sulla pagina web inviare una determinata stringa sulla seriale) direttamente dalle pagine web (PHP in questo caso).

    Qualcuno lo ha già fatto? Qualche software/script?

    Grazie
    ciao

  2. #2
    Utente di HTML.it L'avatar di echoweb
    Registrato dal
    Sep 2008
    Messaggi
    419
    Ciao,

    se ti puo' servire, ti posso dire come ho fatto io in un caso simile.

    Ho fatto un eseguibile (exe) che dialoga con un dispositivo, prendendo i comandi da un file di testo.

    Dal sito web (php) sul click del pulsante, creo il file di testo con i comandi.

    L'eseguibile, a tempo, verifica la presenza del file di testo e se esiste lo apre e recupera i comandi da usare con il dispositivo.

    Un secondo eseguibile, sempre a tempo, "legge" gli stati del dispositivo, e li scrive in un file.

    Il sito web, legge il file di testo degli stati del dispositivo, e tramite ajax mostra la situazione a schermo, senza refresh della pagina.


    Forse non è la cosa migliore, ma è un metodo.


    "Non soffocare la tua ispirazione e la tua immaginazione,
    non diventare lo schiavo del tuo modello"

    Vincent van Gogh

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2004
    Messaggi
    1,344
    Sì avevo pensato pure io ad una cosa simile, ma il problema è sempre l'interazione tra client e server. Mi spiego:

    1) il sito web risiede su un server internet
    2) il client, dove è collegato il dispositivo (cassa in questo caso) naviga sulla tabella incassi e preme il pulsante Stampa Scontrino
    3) il problema nasce qui: dovrei infatti poter o salvare un file sul client (non fattibile in quanto non è possibile dal web salvare un file sul pc client), oppure avere un pulsante sul sito web che però mi invii il segnale al dispositivo indicandogli che deve stampare lo scontrino

    Una soluzione che ho pensato è questa: sul sito alla pressione del tasto Salva Scontrino salva in una tabella temporanea i dati da stampare; sul client ho 2 soluzioni:
    1) fare un pulsante che dica al dispositivo di andare a leggere sul db i dati da stampare (in questo caso però il pulsante sarebbe al di fuori dell'applicativo web e non mi piace l'idea)
    2) fare un servizio sul pc in locale che ogni tot secondi (5 ad esempio) vada a controllare quella tabella e se trova qualcosa lo stampa e poi cancella il contenuto

    Altrimenti come te avevo pensate di passare tramite un file .xml

    Quello che mi sfugge nel tuo caso è dove e come fai a salvare il file sul client.

  4. #4
    Utente di HTML.it L'avatar di echoweb
    Registrato dal
    Sep 2008
    Messaggi
    419
    Per scrivere il file in locale puoi usare javascript usando l'oggetto activeobject.

    [php]
    echo "
    <script>
    ...
    ...
    </script>";

    I dati da scrivere nel file li recuperi in php, e costruisci la parte js in modo da scrivere i comandi da inviare al dispositivo tramite file di testo


    "Non soffocare la tua ispirazione e la tua immaginazione,
    non diventare lo schiavo del tuo modello"

    Vincent van Gogh

  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2004
    Messaggi
    1,344
    Non mi è chiaro come fai a scrivere il file senza chiedere consenso all'utente. Hai mica un piccolo esempio di codice?

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.