在PHP中选择表单将字节发送到串行

时间:2013-09-11 14:39:09

标签: php serial-port arduino

我的php网站需要一些帮助。我想使用简单的选择形式(大小1)作为温度,在我选择之后,我想将其自动发送到串口。目前我有一个简单的脚本,我可以选择一个选项(打开或关闭)来点亮我的Arduino上的单个二极管,脚本看起来像:

if (isset($_GET['action'])) {

    require("php_serial.class.php");

        $serial = new phpSerial();
        $serial->deviceSet("COM3");
        $serial->confBaudRate(9600);
        $serial->confCharacterLength(8);
        $serial->deviceOpen();

if ($_GET['action'] == "on") {

        $serial->sendMessage("d");

} else if ($_GET['action'] == "off") {

    $serial->sendMessage("f");
}

$serial->deviceClose();

}

?>
<html>
<head>
<title>ARDUINO</title>
</head>
<body>

<h1> ARDUINO AND PHP COMMUNICATION </h1>

<a href="?action=on">ON</a></br>
<a href="?action=off">OFF</a></br>

我知道我可以制作简单的形式:

<select name="temperatur" size="1">
<option value="25">25</option>
<option value="26">26</option>
<option value="27">27</option>
</select>

但是当我选择它时,我不知道如何将其设置为自动发送值“25”。你能救我吗?

1 个答案:

答案 0 :(得分:0)

你可以在jQuery中使用ajax,例如:

<select id="temperatur">
    <option value="25">25</option>
    <option value="26">26</option>
    <option value="27">27</option>
</select>

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script type="text/javascript">
    $(document).ready(function(){
        $('#temperatur').change(function(){
            $.ajax({
                url: 'test.php',
                type: 'post',
                data: $(this).val(),
            });
            return false;
        });
    });
</script>

然后将值转换为php文件,如:

<?php
if(!empty($_POST)){
    var_dump($_POST);
}