Ich fragte mich, ob ich PHP verwenden kann, um eine externe Hardware zu steuern, die mit dem parallelen Anschluss oder dem USB-Anschluss verbunden ist? irgendwelche Ideen oder Ressourcen?Kann ich Hardware über PHP Language steuern?
Antwort
Sie müssen ein Programm schreiben, das Sie über Systemaufrufe anrufen können. PHP-Code kann nicht direkt auf Ihre Hardware zugreifen.
Nicht vollständig. Es gibt nur Windows-Erweiterungen für den Zugriff auf Drucker und (indirekt) Hardware über Windows-COM. Trotzdem, im Allgemeinen wahr. –
@Pekka - AFAIK das alles funktioniert auf virtuellen Druckergeräten - nicht physikalische Ports. – symcbean
@symcbean ah, alles klar. –
Sie möchten möglicherweise in php exec suchen. PHP erlaubt keinen Direktzugriff auf Hardware über die API, dafür müssen Sie Unterprogramme aufrufen.
Es gibt nichts Wesentliches, php davon abzuhalten, auf die Hardware zuzugreifen - in der Tat, wenn Berechtigungen es erlauben, kann das Mapping auf dem Dateisystem ohne zusätzliche Erweiterungen/Code manipuliert werden. z.B. $ von = fopen ('/ dev/lp0', 'w'); Eine große Menge hängt jedoch vom Betriebssystem und vom Gerätetreiber ab, was tatsächlich möglich ist. – symcbean
Dies ist eine nützliche Klasse für serielle attatched Geräte auf Linux: PHP Serial
Serielle Ports oft verwendet wird Kommunikation mit Peripheriegeräten, wie: Modem, POS-Terminals, spezieller Drucker, etc. .
Diese Klasse kann verwendet werden zu kommunizieren und zu eine serielle Schnittstelle unter Linux vereinfacht die Entwicklung von Anwendungen, dieangeschlossenen Peripheriegeräte konfigurierenbenötigen Zugriff auf serielle Geräte.
Laut meinem Kommentar auf Filip Ekbergs Antwort .... vielleicht.
Es hängt von Ihrem Betriebssystem und der erforderlichen Zugriffsberechtigung ab - sollte es bidirektional sein? Versuchen Sie, die Steuerleitungen für andere Zwecke als die Flusskontrolle zu verwenden? Kennen Sie die Details des Kommunikationsprotokolls?
C.
Wenn Sie ein Programm in C schreiben kann ++, die mit diesem Gerät kommuniziert, können Sie eine PHP-Erweiterung erstellen: http://www.devarticles.com/c/a/Cplusplus/Developing-Custom-PHP-Extensions-Part-1/
Wenn Sie beabsichtigen, diese auf einem * NIX-System zu laufen, können Sie möchte Plan 9 From User Space betrachten. Mit diesen Bibliotheken könnten Sie ein C-Programm schreiben, das Ihre Hardware als Teil Ihres Dateisystems erscheinen lässt, d. H. Sie mounten es so, wie Sie beispielsweise ein USB-Laufwerk mounten würden. Sobald Sie angemeldet sind, können Sie die PHP-Funktion zum Bearbeiten von Dateien verwenden, um Ihre Hardware zu steuern.
Wenn Sie nicht wissen, was Plan 9 ist, kann dies nicht sehr klar sein. Lassen Sie mich anhand eines Dummy-Beispiels veranschaulichen: Ihre Hardware ist eine elektronische Karte, die die Nummer des angemeldeten Benutzers über eine 7-Segment-Anzeige anzeigt. Mit Plan 9 vom User-Space, ein Programm zu schreiben, das 2-Dateien besteigt:
/irgendwo/Eingang
/irgendwo/Ausgabe
Writing "42" (wie Sie mit einer Textdatei tun würden) Zur Eingabe wird Ihr Board 42 anzeigen. Die Ausgabe zeigt Ihnen beispielsweise an, wie lange sich diese Nummer nicht geändert hat.
Dies ist vielleicht nicht der einfachste Weg, um Ihr Ziel zu erreichen, da das Lernen der Plan 9 Bibliotheken nicht einfach ist (obwohl die Leute im IRC sehr nett und hilfreich sind), aber es ist meiner Meinung nach der eleganteste Weg .
Damit könnten Sie auch Ihre Hardware von jeder anderen Sprache aus steuern, für alle Sprachen, die ich kenne kann Dateien manipulieren.
Nun, es war ein LPT-Port und ein binäre, sowohl für Lin und Win und kleinen PHP-Code, um diese binären zu nennen:
- 1. Welche Alarm-/Zugangs-Hardware kann ich von * NIX aus steuern?
- 2. Wie kann ich System-/Hardware-Informationen über Java erhalten?
- 3. Wie kann ich IIS 5.1 über die Befehlszeile steuern?
- 4. Kann ich ein angeschlossenes Gerät über die Eingabeaufforderung steuern?
- 5. Browserfenster über Javascript steuern
- 6. PHP Benutzerdefinierte Markup Language Parser
- 7. So steuern Relais über MSP430
- 8. Wie bekomme ich "Region & Language" Einstellungen in WP7 über Code?
- 9. Ich kann keine Datei über PHP hochladen
- 10. Wie kann ich steuern, welche mit YAML
- 11. Wie kann ich den Telefonanruf steuern?
- 12. Wo kann ich die QWizard-Taste steuern?
- 13. Ich kann nicht steuern-Ziehen in ViewController.swift
- 14. Wie kann ich auf Hardware-Zeit vom Browser zugreifen
- 15. jQuery: Wie kann ich die Deckkraft eines Divs steuern, wenn ich über ein anderes div schwebe?
- 16. Wie kann ich eine Hardware-Taste in Java
- 17. Ich möchte Fortschrittsbalken steuern
- 18. Hat PHP irgendwelche Hardware- oder Systemanforderungen?
- 19. Change language Kontaktformular
- 20. Steuern von VirtualBox über COM von Python?
- 21. Wie kann ich Windows-Treiber entwickeln, die Hardware nicht berühren?
- 22. Wie steuere ich Hardware-Mikrofoneingangspegel/-pegel am iPhone?
- 23. Kann ich Camel Simple Expression in JsonPath Language verwenden?
- 24. wie kann ich CSV-Datei für watson Natural Language Classifier
- 25. Wie qx.data.Array über qx.ui.table.Table zu steuern
- 26. Steuern von Windows-Diensten über das Internet?
- 27. Steuern von iOS-Geräten über Maus/Tastatur
- 28. Wie kann ich den Cache des DB4O steuern
- 29. Kann ich Hardware Accelerated Canvas von Javascript ausschalten?
- 30. Kann ich steuern, wo CKEditor Plugins zum Laden findet?
Auf welcher Plattform? Können Sie etwas konkreter über welche Art von Hardware sein? –
An welchen Computer angeschlossen? Server oder Client? –
@Pekka eine einfache Hardware lassen Sie uns eine Lampe mit Parallelanschluss geführt betrachten. – Waseem