Могу ли я управлять оборудованием через язык PHP? - PullRequest
17 голосов
/ 22 марта 2010

Интересно, смогу ли я использовать PHP для управления внешним оборудованием, подключенным через параллельный порт или порт USB? какие-либо идеи или ресурсы?

Ответы [ 8 ]

5 голосов
/ 22 марта 2010

Это полезный класс для устройств с последовательным подключением в Linux: PHP Serial

Последовательные порты часто используются для общаться с периферийными устройствами, такие как: модемы, POS терминалы, специальные принтеры и т.д ..

Этот класс можно использовать для общения и настроить периферийные устройства, подключенные к последовательный порт под Linux, упрощающий разработка приложений, которые нужен доступ к последовательным устройствам.

3 голосов
/ 22 марта 2010

Возможно, вы захотите посмотреть php exec . PHP не разрешает прямой доступ к оборудованию через API, для этого вам нужно вызывать подпрограммы.

2 голосов
/ 22 марта 2010

Если вы можете написать программу на C ++, которая взаимодействует с этим устройством, вы можете создать расширение PHP: http://www.devarticles.com/c/a/Cplusplus/Developing-Custom-PHP-Extensions-Part-1/

0 голосов
/ 02 января 2019

Возможно, вы захотите взглянуть на Node js с пакетом socket io npm. Я создал странную систему, в которой я могу управлять своим оборудованием напрямую через интерфейс web api. Моя Linux-машина - Raspberry Pi, которая управляет оборудованием, подключенным к ots I / O. Мой веб-сервер Node js находится в raspberry pi, Node js не только слушает веб-инструкции из внешнего интерфейса javascript, но также может управлять оборудованием через пакеты аппаратного ввода-вывода npm.

0 голосов
/ 22 марта 2010

Ну, это был LPT-порт и двоичный файл, и для Lin и Win, и для небольшого PHP-кода этот двоичный код вызывался:

http://www.epanorama.net/circuits/parallel_output.html

0 голосов
/ 22 марта 2010

Если вы намереваетесь запустить это в системе * NIX, вы можете посмотреть План 9 из пространства пользователя .С помощью этих библиотек вы можете написать программу на C, которая сделает ваше оборудование видимым как часть вашей файловой системы, то есть вы смонтируете ее, например, как USB-накопитель.После подключения вы можете использовать функцию PHP для манипулирования файлами для управления вашим оборудованием.

Если вы не знаете, что такое Plan 9, это может быть не совсем понятно.Позвольте мне проиллюстрировать это на фиктивном примере: ваше оборудование представляет собой электронную плату, отображающую количество вошедших в систему пользователей через 7-сегментный дисплей.Вы используете Plan 9 из пространства пользователя для написания программы, которая монтирует 2 файла:

/ где-то / input

/ где-то / output

Написание "42" (как вы бысделать с текстовым файлом) для ввода заставит вашу доску отображать 42. Чтение вывода скажет вам, например, как долго это число не изменилось.

Это может быть не самый простой способ достижения вашей цели, так какнаучиться пользоваться библиотеками Plan 9 не очень легко (хотя люди в IRC очень приятные и полезные), но это, на мой взгляд, самый элегантный способ.

С этим вы также сможете контролироватьваше оборудование с любого другого языка, для всех известных мне языков можно манипулировать файлами.

0 голосов
/ 22 марта 2010

Согласно моему комментарию к ответу Филипа Экберга .... возможно.

Это зависит от вашей ОС и требуемого уровня доступа - должен ли он быть двунаправленным? Вы пытаетесь использовать линии управления для других целей, кроме управления потоком? Знаете ли вы детали протокола связи?

С

0 голосов
/ 22 марта 2010

Вы должны написать программу, которую можно вызывать с помощью системных вызовов. PHP-код не может получить доступ к вашему оборудованию напрямую.

...