ラズベリーパイとPIRセンサーを接続しています...私はセンサーの入力を得るためにPythonスクリプトを書いています...今、私のウェブサイトのさらなるアクションのためにPHPのpythonスクリプトからの出力が必要です...私は次のコード:pythonスクリプトからPHPに動的に出力する方法は?
<?php
$output=shell_exec('python/sense1.py');
echo $output;
?>
これは、Pythonのコードは次のとおりです:これはPHPコードである私はPythonで、単一のprint文を試してみましたが、... PHPで出力を得た。しかし、今問題がある
import RPi.GPIO as GPIO
import time
GPIO.setmode(GPIO.BOARD)
PIR_PIN = 26
GPIO.setup(PIR_PIN, GPIO.IN)
while True:
time.sleep(1)
if GPIO.input(PIR_PIN):
print ("Human Moving")
else:
print ("No human moving")
Pythonスクリプトは無限に1秒ごとに出力を返しています...だから、私はpythonスクリプト(無限ループのbecoz)から出力を得ることができません...しかし、私はtをしたい彼はPIRセンサーの状態をチェックするために1秒ごとに出力します...どうすればいいですか?私を助けてください...
[PHPでリアルタイム出力でプロセスを実行する]の可能な複製(http://stackoverflow.com/questions/1281140/run-process-with-realtime-output-in-php) – insertusernamehere
それぞれを保存することができますセンサーのアクティビティのすべてのログをローカルのsqlite Dbまたは他のDBにコピーし、PHPアプリケーションが接続されている中央DBに更新するスクリプトを実行します。 – webDev
もう一つの可能な方法は、pythonフラスコを使用してREST APIエンドポイントを作成し、このコードをフラスコの残りのエンドポイントコードの中に置くことです。フラスコは軽量で、このセンサーコードを含む小さなファイルを書くだけです。GETメソッドまたはPOSTメソッドを使用して、PHPからこの残りのエンドポイントを簡単に呼び出します。 – webDev