Hallo Forum
ich versuche die Raum Temperatur gemessen vom ds1621 (I²C-Bus) via Python auf einer PHP Webseite ausgeben. ohne Erfolg... (OS = RaspBMC + Apache2)
das Python Script:
Code
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import os
import sys
import time
def Read_ds1621(Adresse):
os.system('sudo i2cset -y 1 %d %d' % (Adresse, 0xee))
time.sleep(0.5)
os.system('sudo i2cset -y 1 %d %d' % (Adresse, 0x22))
os.system('sudo i2cset -y 1 %d %d' % (Adresse, 0xaa))
varY=os.popen('sudo i2cget -y 1 %d' % (Adresse)).readlines()
var1 = eval(varY[0].replace("\n",""))
os.system('sudo i2cset -y 1 %d %d' % (Adresse, 0xA8))
varX=os.popen('sudo i2cget -y 1 %d' % (Adresse)).readlines()
varC = eval(varX[0].replace("\n",""))
os.system('sudo i2cset -y 1 %d %d' % (Adresse, 0xA9))
varZ=os.popen('sudo i2cget -y 1 %d' % (Adresse)).readlines()
varS = eval(varZ[0].replace("\n",""))
Nk = (((int(varS) - int(varC)) *100 /int(varS) *100) /100) /10
t2 = float("%s.%s" % (var1, Nk))
return "Raum Temparatur: %s" % (round(t2, 3))
print Read_ds1621(0x48)
Alles anzeigen
die (mini) PHP Datei:
PHP
<html>
<body>
<h1>test</h1>
<?php
echo shell_exec("sudo /var/www/DS1621read.py");
?>
</body>
</html>
habe das Py.Script schon in der sudoers eingetragen "www-data ALL=NOPASSWD: /var/www/DS1621read.py" & via chmod 0755 ... ausführbar gemacht.
sowohl "cat /var/www/test.php | php" als auch "php -f /var/www/test.php" geben alles richtig aus. nur im Browser ist nichts außer die Überschrift <h1> zu sehen...
das Script alleine läuft, PHP auch. nur nicht zusammen
Der Apache2 ErrorLog sagt: "sudo: no tty present and no askpass program specified"
was auch immer er mir sagen will.?