0

イーサネット シールドを使用する Arduino プロジェクトに取り組んでいます。Adruino は私のラップトップ (サーバー) に接続し、リレーをオンまたはオフにするように指示するPHPファイルを読み取ります。

ユーザー インターフェイスは HTML ページです。値がオンとオフの送信フォームがあります。値は処理のためにハンドラー ページに送信され、Arduino で読み取れるようになります。

CSS/JavaScript スタイルのトグル ボタンを利用して、見苦しい送信ボタンを置き換えたいと考えています。

http://proto.io/freebies/onoff/は私が使いたいボタンです。トグル状態の値を抽出して HTML ページに実装するにはどうすればよいですか?

4

4 に答える 4

0

トグルボタンをクリックするためのJavaScriptAjaxイベントハンドラー作成する必要があります。AjaxリクエストはPHPページに移動し、ボタンの状態を切り替え/設定します。ボタンの状態を保存するための何らかの方法が必要になりますか?おそらくファイルだけですか?複雑すぎるものは必要ありません。

于 2012-12-26T17:28:04.273 に答える
0

JavaScript を使用するには、現時点ではよく知らない Ajax を使用する必要があります。また、ArduinoでPHPファイルを使用するよりも、テキスト ファイルへの書き込みを使用することをお勧めします。保護しようとしていますが、PHP API を使用する他のサーバーと同じように、Arduino にリクエストを送信することはできませんか?

<?php
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, 'http://192.168.0.5');//depending on your arduino's address
    curl_setopt($ch, CURLOPT_POST, 1);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $_POST['on/off']);
    //You may want to validate your variables.
?>

しかし、Arduinoが送信変数を読み取れるかどうかはわかりません。それが機能する場合、私が正しければ、変数はシリアルに表示されるはずですか?

さらなるウェブサイト情報。

フォームを使用するのが最善の方法です。トグルを使用するには、JavaScript コードを使用してフォーム onClick を投稿します。

<form name="toggleForm" action="poster.php" method="POST"> <!-- Post method to get your variables. poster.php will be the script above.-->
    <input id="on" name="on/off" onClick="send()" value="on" type="radio"/>
    <input id="off" name="on/off" onClick="send()" value="off" type="radio"/>
</form>

onClick でフォームを送信するための JavaScript:

<script>
    function send(){
        document.toggleForm.submit();
    }
</script>

見栄えを良くするためのCSS:

<style>
    #on{background:#00FFFF;content:'On';}
    #off{background:#00FFFF;content:'Off';}
</style>
于 2012-12-26T17:21:37.170 に答える
0

ソリューションへのXocoatzinのパスは良好です。ただし、純粋な CSSソリューションが必要な場合は、DEMOをご覧ください。

隠しinputタイプがありますcheckbox

<input type="checkbox" name="onoffswitch" class="onoffswitch-checkbox" id="onoffswitch1" checked="">

サーバー側や他のスクリプトで値を取得するために使用できます。

于 2012-12-26T17:21:43.350 に答える
0

1何らかの方法でシステムのステータスを保存する

これには、データベース、ファイル、サービスを使用できます。

2 Arduino は、 PHPスクリプトを介してサーバーに接続する必要があります

このスクリプトは、システムのステータスを、設定されている値に戻します。

3ユーザー インターフェイスを作成する

これは、別の PHP スクリプトである可能性があります。ボタンが表示されます。

4 jQuery を使用して、クリック イベントをキャプチャします。

次に、サーバーへのAjax呼び出しを開始し、システムのステータスを変更します。サーバーは新しいステータスを返し、$.ajax成功のコールバック関数を使用して新しいステータスを確認し、ユーザー インターフェイスを更新します (ステータスがUI が同期しなくなるのを防ぐために永続化できませんでした)

于 2012-12-26T17:17:19.557 に答える