DeeBridgeからDALIコマンドを送って照明をコントロール

WiFi接続されたPCのWebブラウザーから、ネットワークに有線接続されているDeeBridgeというIPアドレスをもったブリッジにコマンドを送り、DeeBridgeからDALI接続された照明機器にDALIのコマンドを送るプログラムをPHPで書いてみました。

下記のような簡単なFormをHTMLでつくり、ここにDeeBridgeのコマンドを入力すると、

DALI

DeeBridgeから”全部の照明を点灯”というコマンドがおくられ、接続された照明が点灯。

DALI

今度は、”全部の照明を消灯”

DALI

すると、全部の照明が消灯されます。

DALI

プログラムは下記のような感じ。stream_socket_clientを使ってDeeBridgeと接続しています。

<html>
<head><title>DeeBridge TEST</title></head>
<body>
<p>Enter Command (コマンド入力してください)</p>
<form method="POST" action="./deebridgePHP.php">
<input type="text" name="text1">
<input type="submit" name="btn1" value="submit">
</form>
<?php
if (isset($_POST['text1'])) {
	$command = $_POST['text1'];
	
	// $fp = stream_socket_client("tcp://DeeBridge_IP_NO:PORT_NO", $errno, $errstr, 30);
	
	$fp = stream_socket_client("tcp://169.254.80.200:8421", $errno, $errstr, 30);

	if (!$fp) {
    	echo "$errstr ($errno)<br />\n";
	} else {
	$r = fwrite($fp, $command);
	
	fflush($fp);
	    
    $r = fwrite($fp, "#DISCONNECT#");
    
   	var_dump($r);
    
    socket_shutdown($fp,1);
    	while (!feof($fp)) {
        	echo fgets($fp, 1024);
    	}
   	fclose($fp);
   	}
}
?>
</body>
</html>

GitHubに公開しています。
nakachon/php-deebridge

今回の様子は動画でも公開しておりますので、ぜひ、みてみてください。