3
respostas

Controlando o circuito pela web

Bom dia. Pessoal estou tentando ampliar as saída e entradas do raspberripi, notei que todos usam as EXP board, com algumas controladoras no meu caso a MCP23017, para controlar as saídas através delas eles usam a I2C e hoje tem varias bibliotecas para isso, estou usando a WiringPi. Segue meu código PY e mais a index.php, meu problema é que ela não roda via php, o código PY roda normalmente sendo executado pelo terminal.

rele.py ############################

import wiringpi

pin_base = 65
i2c_addr = 0x20
pins = [65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80]

wiringpi.wiringPiSetup()
wiringpi.mcp23017Setup(pin_base,i2c_addr)

wiringpi.digitalRead(65)
print wiringpi.digitalRead(65)
status = wiringpi.digitalRead(65)

if(status == 0):
        wiringpi.pinMode(65,1)
        wiringpi.digitalWrite(65,1)
else:
        wiringpi.pinMode(65,1)
        wiringpi.digitalWrite(65,0)

index.php############################

<?php
if (isset($_POST['1ON']))
{
    exec('python /home/pi/GPIO/rele.py');
}
?>

<html>
<meta name="viewport" content="width=device-width">
<body>
    <form method="post">
        <table>
            <tr>
                <td>DEVICE 1</td>
                <td><button name="1ON">ON</button></td>
            </tr>
        </table>
        <style>
            table {
                margin: 0 auto;
                width:  240px;
                font-size: 1.5em;
                text-align: center;
            }
        </style>
    </form>
</body>
</html>
3 respostas

Fala aí Marcel, blz?

Gera alguma exceção ao tentar rodar no index.php?

Fala blz. Não, noto que quando rodo direto os GPIO Mode ele roda normal, quando coloco esse código ele não. Já dei a permissões para a www-data os I2C, GPIO e SPI, não sei oque acontece, tem como eu ver se ele esta gerando alguma exceção?

Marcel, tudo bem? você já deu uma olhada no log do apache pra ver se aparece alguma coisa??

costuma estar no diretório

/var/log/apache2

um exemplo de comando

sudo tail -f /var/log/apache2/error.log

espero que ajude!

um abraço!