WSD001A-J サンプルプログラムのご紹介

WSD001A-Jは、お客様にて作成されたプログラムにも簡単に組み込むことがで きます。順番待ちなど呼び出し音が必要なシステムや、センサー、IoTデバイス等と連動させてご利用いただけます。 ここではVB,PHP,C言語プログラムからWSD001A-Jを呼び出すサンプルをご紹介いたします。外部プログラムから呼び出す詳細な仕様については、 WSD001A-J取扱説明書をご参照下さい。
※ サンプルプログラム内の192.168.1.126はWSD001A-JのIPアドレスです。このIPアドレスはお客様のネットワーク環境に合わせて変更して下さい。 本プログラムは参考用であり、すべてのお客様の環境で動作を保証するものではありません。 実用のプログラムに組み込む場合、エラー処理等を組み込んでください。

VBプログラムからWSD001A-Jを再生/停止する場合

VBサンプルプログラム画面
Imports System.Net

Public Class Form1

    Dim wc As WebClient = New WebClient()

    '再生ボタン押下時
    Private Sub PlayBtn_Click(sender As System.Object, e As System.EventArgs) Handles PlayBtn.Click

        '状態確認
        Dim status As Byte() = wc.DownloadData("http://192.168.1.126/status")

        '停止中の場合
        If status(0) = &H32 Then
            'お知らせ設定1を再生
            wc.DownloadData("http://192.168.1.126/play?notice=1")
        Else
            MessageBox.Show("再生中です")
        End If

    End Sub

    '停止ボタン押下時
    Private Sub StopBtn_Click(sender As System.Object, e As System.EventArgs) Handles StopBtn.Click
        '停止
        wc.DownloadData("http://192.168.1.126/stop")
    End Sub

End Class
				

PHPプログラムからWSD001A-Jを再生/停止する場合

PHPサンプルプログラム画面
<?php
//php.iniファイルでextension=php_curl.dllがコメントアウトされていないこと
//libeay32.dll および ssleay32.dll にPATHが通っていること

$msg = "";

//再生ボタン押下時
if(isset($_POST["play"])){

	//状態確認
	$status = cURL("http://192.168.1.126/status");

	//停止中の場合
	if($status == 2) {
		//お知らせ1を再生
		cURL("http://192.168.1.126/play?notice=1");
	} else {
		$msg = "再生中です";
	}

}

//停止ボタン押下時
if(isset($_POST["stop"])){
	//停止
	cURL("http://192.168.1.126/stop");

}

function cURL($url) {

	//cURLセッションを初期化
	$conn = curl_init();

	//取得するURLを指定
	curl_setopt($conn, CURLOPT_URL, $url);

	//curl_exec()の戻り値をブラウザ出力しない
	curl_setopt($conn, CURLOPT_RETURNTRANSFER, TRUE);

	//cURLセッションを実行
	$response = curl_exec($conn);

	//cURLセッションを終了
	curl_close($conn);

	return $response;

}
?>

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<style type="text/css"><!--
body{margin:20px; color:#1f1f1f; font-family:meiryo,sans-serif;}
h1{margin:0; font-size:1.5em; padding:10px; font-weight: normal;}
.btn{background:#428bca; border:1px solid #DDD; color:#FFF; width:130px; height:60px; padding:10px 0; font-size:1.3em;}
--></style>
<title>PHPサンプルプログラム</title>
</head>
<body>
<center>
<h1>PHPサンプルプログラム</h1>
<?php echo $msg;?>
<form action="" method="post">
<table cellspacing="10" cellpadding="10" border="0">
<tr><td>
<button class="btn" type="submit" name="play" value="1">再生</button>&nbsp;&nbsp;
<button class="btn" type="submit" name="stop" value="1">停止</button>
</td></tr>
</table>
</form>
</center>
</body>
</html>
				

C言語プログラムからWSD001A-Jを再生する場合

#include <stdio.h>
#include <string.h>
#include <sys/types.h>
#include <netdb.h>
#include <netinet/in.h>
#define BUF_LEN 32

int main(int argc, char **argv) {

    int s;
    struct addrinfo hints, *res;
    int err;

    char send_buf[BUF_LEN];
    char recv_buf[BUF_LEN];

    memset(&hints, 0, sizeof(hints));
    hints.ai_socktype = SOCK_STREAM;
    hints.ai_family   = AF_INET;

    if ((err = getaddrinfo("192.168.1.126", "http", &hints, &res)) != 0) {
        printf("error %d\n", err);
        return 1;
    }

    // ソケット生成
    if ((s = socket(res->ai_family, res->ai_socktype, res->ai_protocol)) < 0) {
        printf("ソケットの生成に失敗しました。\n");
        return 1;
    }

    // WSD001Aに接続
    if (connect(s, res->ai_addr, res->ai_addrlen) != 0) {
        printf("connectに失敗しました。\n");
        return 1;
    }

    // HTTPリクエスト送信
    strcpy(send_buf, "GET /play?notice=1 HTTP/1.1\r\nHost: 192.168.1.126:80\r\n\r\n");
    write(s, send_buf, strlen(send_buf));

    // 受信が終わるまでループ
    while(1) {
        if(read(s, recv_buf, BUF_LEN) <= 0) {
            break;
        }
    }

    // ソケット閉じる
    close(s);

    return 0;
}