[php][python] button met python script

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

  • Vinncy
  • Registratie: April 2010
  • Laatst online: 13-10 19:37
Beste tweakers,

Ik heb sinds kort een project opgepakt om van een raspberry een terrarium-controle systeem te maken.
Nu heb ik al de gewenste sensoren (temperatuur en humidity) die prima uitgelezen worden.
Met behulp van verschillende sites is het me gelukt om realtime weer te geven op een site, die op de raspberry draait.
Nu wordt er ook een relay-board aangesloten, om bepaalde apparatuur aan te sturen (oa verlichting)
één van de pagina's van de site, wordt gebruikt om bijvoorbeeld de starttijd van de LED-verlichting in te stellen.
Ik heb een txt-file, met daarin het uur en de minuten wanneer de LED verlichting aangaat (bv "LEDaan.txt"). Deze wordt op "LEDtime.php" weergegeven, in realtime met jQuery.
Als vervolgens "uur_omhoog.py" wordt uitgevoerd, wordt deze textfile aangepast met alleen het uur veranderd, met 1 uur omhoog en vervangt dus de oude "LEDaan.txt" onder dezelfde naam.
Nu heb ik een button op de site geplaatst, die dit dus zou moeten activeren.
Maar, wat ik ook doe, het lijkt iedere keer niet te werken.

Dus mijn vraag is: Hoe kan ik ervoor zorgen dat een button een .py script laat uitvoeren? Deze .py script mag/moet gewoon op de achtergrond draaien (en dus nadat op de button gelukt is, blijft de gebruiker gewoon op "LEDtime.php") en de uitkomst wordt toch via jQuery en de txt-file weergegeven op de site.

PS. Ik ben nog redelijk een beginner met jQuery/Javascript/PHP/python dus mijn excuses als het niet helemaal duidelijk is..

Acties:
  • 0 Henk 'm!

  • Mavamaarten
  • Registratie: September 2009
  • Laatst online: 13:48

Mavamaarten

Omdat het kan!

PHP, toch?
Dan is exec wat je zoekt: http://php.net/manual/en/function.exec.php

[ Voor 5% gewijzigd door Mavamaarten op 25-03-2015 19:14 ]

Android developer & dürüm-liefhebber


Acties:
  • 0 Henk 'm!

  • epic007
  • Registratie: Februari 2004
  • Laatst online: 07-10 10:46
Goeie oefening: kijk wat het .py script doet en maak het na in PHP, daarmee kan je prima een textfile aanpassen.
Vind ik eleganter dan python aanroepen vanuit PHP.

Acties:
  • 0 Henk 'm!

  • Vinncy
  • Registratie: April 2010
  • Laatst online: 13-10 19:37
Het werkt! Ik had deze commando al geprobeerd, maar toen werkte het niet. Deed toen vast iets verkeerd.
<?php
if (isset($_POST['upuur'])){
exec("sudo python /var/www/data/timeuur.py"):}
?>
<form method="post"><button name="upuur">&#x25B2</button></from>
is in het kort m'n code.

Misschien een kleine aanpassing, maar als ik vervolgens de button aanklik, wordt de hele pagina opnieuw geladen. Hoe kan ik dat veranderen door bv jQuery/AJAX te gebruiken? Het is niet heel erg, maar als het makkelijk aan te passen is, zou dat wel net iets netter zijn.

En, ik kijk of het lukt om het via PHP te doen in plaats van python, al is dat ook meer iets om het idd eleganter te maken. :)

Acties:
  • 0 Henk 'm!

  • Mavamaarten
  • Registratie: September 2009
  • Laatst online: 13:48

Mavamaarten

Omdat het kan!

Dan wil je een php-pagina die het script uitvoert en de uitvoer toont, en een pagina die met een ajax-call die eerste pagina oproept.

Android developer & dürüm-liefhebber


Acties:
  • 0 Henk 'm!

  • BtM909
  • Registratie: Juni 2000
  • Niet online

BtM909

Watch out Guys...

Vinncy, het is de bedoeling van het subforum Programming dat je zelf programmeert en hier laat zien waar je precies tegenaan loopt.

Je geeft zelf al aan dat je beginner bent en dan is het niet helemaal de bedoeling dat je maar verwacht dat anderen het volledig voor je gaan oplossen. Let daar even op, anders kan ik net zo goed dit topic op slot doen.

Ace of Base vs Charli XCX - All That She Boom Claps (RMT) | Clean Bandit vs Galantis - I'd Rather Be You (RMT)
You've moved up on my notch-list. You have 1 notch
I have a black belt in Kung Flu.

Pagina: 1