PHPのハードウェアとのインタラクションはどのように実現されていますか?
PHPとハードウェアとの連携を実現するには、以下の方法を用いることができます。
- php_シリアル
ネイティブな日本語で言い換え:
<?php
$serial = new Serial('/dev/ttyUSB0');
$serial->confBaudRate(9600);
$serial->confParity("none");
$serial->confCharacterLength(8);
$serial->confStopBits(1);
$serial->deviceOpen();
$serial->sendMessage("Hello, hardware!");
$response = $serial->readPort();
$serial->deviceClose();
echo $response;
?>
- ネットワーク通信:ハードウェアデバイスは、HTTP や TCP/IP プロトコルを使用して、ネットワークインターフェイス経由でサービスを提供できます。PHPでは、cURL ライブラリまたはソケット機能を使用してハードウェアと通信できます。
cURLライブラリを使用するサンプルコード:
<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'http://hardware/device');
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, 'command=led_on');
$response = curl_exec($ch);
curl_close($ch);
echo $response;
?>
ソケット拡張を使ったサンプルコード:
<?php
$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
socket_connect($socket, '192.168.1.100', 8080);
socket_write($socket, 'led_on');
$response = socket_read($socket, 1024);
socket_close($socket);
echo $response;
?>
- shell_exec()
サンプルコード:
<?php
// 设置GPIO引脚为输出模式
shell_exec('echo "out" > /sys/class/gpio/gpio4/direction');
// 将GPIO引脚设置为高电平
shell_exec('echo "1" > /sys/class/gpio/gpio4/value');
// 读取GPIO引脚状态
$status = trim(shell_exec('cat /sys/class/gpio/gpio4/value'));
?>
上述のメソッド内ハードウェアとのやり取りに関するコードは、具体的なハードウェア機器のインターフェースや通信プロトコルに合わせて調整する必要があることに留意してください。