Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11

Discussione: php e porta seriale

  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2006
    Messaggi
    142

    php e porta seriale

    Salve a tutti,
    avrei bisogno di un consiglio su come affrontare un piccolo problema.
    So che esistono classi per la comunicazione di php con porte seriali. Il mio problema è di poter comunicare con la porta seriale del pc client ove è collegata una periferica. Essendo php lato server suppongo che ciò non sia possibile. Mi sbaglio? Oppure ho detto una eresia?
    Qualche consiglio su come poter comunicare con la porta seriale che non sia linguaggio dotnet?
    Grazie a tutti

  2. #2
    Ciao,

    via php non puoi in alcun modo, per ovvi motivi di sicurezza, accedere a NULLA che stia sul client utilizzando esclusivamente il browser e/o php

    Per fare questo devi utilizzare un software che parta all'avvio del computer e ti faccia da tramite, tramite una socket, con la porta seriale, in modo da bypassare le specifiche restrizioni imposte dai motivi di sicurezza

    Per far questo puoi utilizzare qualsiasi linguaggio tu voglia ma sinceramente, dato che si tratterebbe di un applicativo desktop e non di un applicativo web, ti consiglierei C# + .NET 2.0

    Ovviamente l'applicativo desktop puoi anche farlo in PHP ma è abbastanza complicato andare a realizzare un servizio per windows che parta, si bindi su una socket, e ti faccia da tramite, soprattutto se non hai mai avuto esperienze di sviluppo in tal senso

    Ovviamente per C# c'è già tutto quello che ti serve nel framework, ma se decidessi di usare php per l'applicativo desktop che ti dovrebbe fare da bridge dovresti andare ad usare l'estensione win32std ( http://wildphp.free.fr/wiki/doku.php?id=win32std:index ) per crearti un bell'exe contenente tutto il necessario ed un altra estensione per scrivere servizi per windows.

    Alternativamente il servizio puoi anche evitarlo e e scrivi un applicativo che parte allo startup del sistema magari mettendo un icona nella trayicon
    The fastest Redis alternative ... cachegrand! https://github.com/danielealbano/cachegrand

  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2006
    Messaggi
    142
    Grazie per la risposta molto esaustiva. Temevo appunto che era piuttosto complicata una cosa del genere e che comunque bisogna utilizzare altri linguaggi di programmazione.
    Provo a dire una scempiaggine: javascript non permette di poter comunicare con una porta seriale visto che gira lato client? Credo proprio di no...giusto?

  4. #4
    Originariamente inviato da alecsss
    Grazie per la risposta molto esaustiva. Temevo appunto che era piuttosto complicata una cosa del genere e che comunque bisogna utilizzare altri linguaggi di programmazione.
    Provo a dire una scempiaggine: javascript non permette di poter comunicare con una porta seriale visto che gira lato client? Credo proprio di no...giusto?
    Il problema non è che Javascript gira "lato client" ma che viene eseguito dal browser. Il browser non espone componenti Javascript per l'accesso al disco bloccano quindi possibili operazioni, altrimenti chiunque potrebbe installare virus ... figurati poi l'accedere ai device

    Ripeto, volendo puoi usare php per risparmiare tempo (o phalanger che è la soluzione che a questo punto ti consiglio)

    Con phalanger hai php sotto .net, ci sono delle piccole differenze sintattiche (devi usare i ::: al posto dei :: per accedere agli oggetti del .NET ma a parte questo e qualche altra cosa sei tranquillo che tutto funziona senza problemi)
    The fastest Redis alternative ... cachegrand! https://github.com/danielealbano/cachegrand

  5. #5
    Utente di HTML.it
    Registrato dal
    Jun 2006
    Messaggi
    142
    ma dovrei installare un web server sul client per far funzionare php?

  6. #6
    Originariamente inviato da alecsss
    ma dovrei installare un web server sul client per far funzionare php?
    nono, assolutamente

    Al massimo, se non usi un "packer" ovvero un software che prende e mette insieme gli eseguibili di php, con la configurazione ed i tuoi file, hai bisogno di creare un file batch o un link che richiama l'eseguibile (il .exe) di php direttamente

    scarica il pacchetto zip della versione 5.2.5 di php dal loro sito web e li dentro ci sarà php.exe ... semplicemente devi fare
    php.exe c:\percorso\allo\script.php

    The fastest Redis alternative ... cachegrand! https://github.com/danielealbano/cachegrand

  7. #7
    Utente di HTML.it
    Registrato dal
    Jun 2006
    Messaggi
    142
    considerando che dovrei solo leggere dalla porta seriale il tutto dovrebbe essere piuttosto semplice...almeno spero...
    Grazie per tutte le indicazioni

  8. #8
    Utente di HTML.it
    Registrato dal
    Aug 2007
    Messaggi
    118
    se puo essere utile volevo dirvi che sono riuscito a inviare input ad una porta seriale con php usando una classe trovata qui....

    http://www.phpclasses.org/browse/package/3679.html

    mi e' servita per controllare una scheda seriale con dei rele' (sto facendo un progetto domotico fai-da-te)


  9. #9
    Utente di HTML.it
    Registrato dal
    Jun 2006
    Messaggi
    142
    ma la porta seriale è sul server o sul client?

  10. #10
    Utente di HTML.it
    Registrato dal
    Nov 2008
    Messaggi
    49
    La classe funziona solo sotto Linux però.

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.