2015-02-28 3 views
1

У меня проблема с проектом. Мне нужно сделать систему обнаружения, которая использует python для связи с электронными устройствами. Я создаю систему обнаружения. Проблема в том, что я хочу обнаружить, а затем отправить в php-файл, который служит моим пользовательским интерфейсом.Передача значения от python до php

Python:

если светодиод, отправить на PHP,

если светодиод выключен, отсылают к PHP,

PHP:

дисплей [значение получать от python]

+0

Как они работают вместе? PHP-приложение * обычно * очень короткое, и на самом деле нельзя «разговаривать» с более длительным процессом, например Python. Возможно, вы просто хотите * хранить * значение где-то и * читать * его с PHP, когда это необходимо? – deceze

+0

, который может быть правдой..может быть, если я могу сохранить значение где-нибудь и получить его, когда захочу, это будет здорово .. но я полностью потерял в php..может ли я сделать это с простым кодированием ..? –

+0

Простой: база данных. Может быть, MySQL, может быть, Redis, возможно, просто memcached, может быть, просто простой файл. Все эти вещи легко писать с Python и читать с PHP. – deceze

ответ

0

Вы можете использовать subprocess.check_call, чтобы вызвать команду PHP проходящей переменные из питона:

from subprocess import check_call 

check_call(["list","of","php" ,"commands","off/on"]) 

Если вы хотите сохранить с выводом check_output

1

Если вы хотите вызвать PHP скрипт непосредственно:

код

PHP:

<?php 
$state = $argv[1]; 
echo $state; 
?> 

питон код:

from subprocess import * 
#ledstate='on' 
p = Popen(['/usr/bin/php','<php file name>',ledstate],stdout=PIPE) 
print p.stdout.read() 

Если вы хотите позвонить через сервер:

код PHP:

<?php 
$state = $_GET["led"]; 
echo $state; 
?> 

код питона:

import urllib2 
#ledstate='on' 
req = urllib2.Request(url='http://example.com/<php file name>?led=%s' % ledstate) 
f = urllib2.urlopen(req) 
print f.read() 
0

теперь я уже получил способ восстановить форму данных питона с использованием php ..

<?php 
$result = exec("sudo python /home/pi/detect_led.py"); 
$resultData = json_decode($result); 

print $resultData; 
?> 

, но проблема в том, что данные медленные..и означают..если произошли изменения, я должен обновить 2 раза, чтобы изменить его значение. Также есть ли где я могу изменить, чтобы сделать его правильным .. ?

Смежные вопросы