hallo,

ik wil voor mijn raspberry pi een webpagina maken voor een rc autotje op wifi (niet op het zelfde netwerk[ip aderes] ). ik heb al een php5 pagina gemaakt (met $ sudo apt-get update en $ sudo apt-get install apache2 php5 libapache2-mod-php5)
en ik heb een control gevonden( https://github.com/AlisterTottle/GPIO-controll-webpage ) maar ik weet niet hoe je hem moet activeren en wat de webpagina :-/

ik hoop dat jullie mij kunnen helpen

groetjes: Tommy

Zet eerst Python op je PI anders werkt het zeker niet.

python zou op je pi moeten staan. dat hangt er trouwens wel vanaf welke linux variant er op je SD staat.

left.php

<?php
// A simple web site in Cloud9 that runs through Apache
// Press the 'Run' button on the top to start the web server,
// then click the URL that is emitted to the Output tab of the console

include('Net/SSH2.php');

$ssh = new Net_SSH2('127.0.0.1');
if (!$ssh->login('root', 'root')) {
    exit('Login Failed');
}

echo $ssh->exec('python /var/www/left.py');
header('Location: index.html');
?>

dit is natuurlijk complete b*llshit. waarom zou je een SSH sessie naar je eigen PC starten als je gewoon een exec() kan doen?

dus als ik dat dan tiep dan opsla en da $ sudo python left.php intik dan moet hij het doen?

Er zijn allerlei verschillende manieren om een 'webpagina control' te maken.

Je hebt nu gekozen voor de programmeertaal PHP met Apache, dat is prima maar het is wel veel eer voor een 'webpagina control': je draait een industriele web-server die php aanroept, die een php-script draait, die terugpraat met apache. Dat is behoorlijk onnodige zwaar voor je rasberry pi.

Om vervolgens vanuit php een Python programma aan te roepen is nog meer eer, dat is techniek op techniek op techniek om iets simpels te doen.

Je kan ook zonder een hele industriele webserver een pagina aanbieden, bijvoorbeeld inderdaad in Python. Bijvoorbeeld door een bestaande python-module te gebruiken die allerlei dingen voor je doet:


import cherrypy

class HelloWorld(object):
    def index(self):
        return "Hello World!"
    index.exposed = True

cherrypy.quickstart(HelloWorld())

(dit maakt gebruik van http://www.cherrypy.org/, maar er zijn voor Python of het merendeel van programeertallen tal van fijne 'frameworks' om aan de slag mee te gaan.)

Deze geeft voor de start pagina 'Hello World' terug. Je hebt dan dus in een enkel bestand met 6 regels het zelfde als een hele zware webomgeving met php. Je kan daar dus ook HTML in terug geven en zelf 'paden' koppelen aan functies (bijvoorbeeld /rotate/360 ofzoiets).

Kort door de bocht is het dus prima mogelijk om in gewoon 1 programmeertaal een web-end aan de bieden zonder drie talen te combineren met allerlei servers en weet ik wat :)

nee,

je kan geen php bestanden met python uitvoeren.

wat die webpagina doet, is een verbinding over SSH opzetten, netzoals je misschien al eens met putty gedaan hebt. dat is totaal stompzinnig, omdat het traag en overbodig is. (apache draait al op de Pi, dus hoef je geen verbinding te maken).

het kan overigens wel werken, maar dan moet je dus op iedere pagina je root wachtwoord ingeven, omdat jouw wachtwoord waarschijnlijk niet standaard 'root' is.

probeer eerst eens of je python hebt.
voer het volgende commando uit, en type over wat je dan krijgt:
python -V

zo te zien kun je met python de GPIO rechtstreeks aansturen. probeer dat eens werkend te krijgen.

oke ik zal het eens probeeren bedankt

moed ik dan
<?php
// A simple web site in Cloud9 that runs through Apache
// Press the 'Run' button on the top to start the web server,
// then click the URL that is emitted to the Output tab of the console

include('Net/SSH2.php');

$ssh = new Net_SSH2('127.0.0.1');
if (!$ssh->login('root', 'root')) {
exit('Login Failed');
}

echo $ssh->exec('python /var/www/left.py');
header('Location: index.html');
?>

1. of 2.

import cherrypy

class HelloWorld(object):
def index(self):
return "Hello World!"
index.exposed = True

cherrypy.quickstart(HelloWorld())

Op 3 oktober 2014 20:28:40 schreef tommy 1:
moed ik dan
<?php
// A simple web site in Cloud9 that runs through Apache
// Press the 'Run' button on the top to start the web server,
// then click the URL that is emitted to the Output tab of the console

include('Net/SSH2.php');

$ssh = new Net_SSH2('127.0.0.1');
if (!$ssh->login('root', 'root')) {
exit('Login Failed');
}

echo $ssh->exec('python /var/www/left.py');
header('Location: index.html');
?>

1. of 2.

import cherrypy

class HelloWorld(object):
def index(self):
return "Hello World!"
index.exposed = True

cherrypy.quickstart(HelloWorld())

kan dat ook in nano

laten we even voorop stellen dat je niets moed doen..

het punt wat ik wou maken is dat python via ssh via php extreem gecompliceerd is.

zeker als je nog niet met python overweg kan is dat te moeilijk.

het idee van david is geweldig, daarmee houd je alles in python.

het makkelijkste is dus om python te starten met -v erachter. dan vertelt hij welke versie je hebt, zodat je dat aan ons kan vertellen.

als dat werkt, kun je een .py bestand maken in nano. dat kun je vervolgens aanroepen via de shell, (python mijnbestand.py) en dan kun je kijken of je dat onder de knie krijgt.

om te beginnen wil ik je dus vragen hoe je nu werkt. via een hdmi scherm en toetsenbord? of via SSH (putty) of via telnet (putty/puttytel), of nog een andere optie?

welke OS heb je op de SD staan? Raspian? XMBC?

Ik gebruik putty en ik heb raspbian op de sd-kaart staan