Bon, j'ai progressé. En faisant un mixte de plusieurs sites et training, cela marche. j'affiche en permanence(maj toutes les secondes) le statut du port GPIO 23 grâce à Ajax. J'aimerais maintenant afficher le status de plusieurs ports. Si j'ai bien compris, je peux utiliser un fichier json pour contenir les numéros de ports.
Quelle serait la meilleure façon de programmer cela? faire une boucle de lecture et appeler la fonction ajax(cheque) plusieurs fois? ou boucler dans la fonction ajax cheque? A ce moment là, je ne sais pas comment faire plusieurs "return xxx"
Pour ceux que cela intéresse, voir ci dessous les fichiers index.html(+ajax) et server.py
---------------------------- index.html ---------------------------------------
<html>
<head>
<script src="
http://code.jquery.com/jquery-1.5.2.min.js"></script>
</head>
<body>
<div id = "content">
</div>
<script type="text/javascript">
$(function(){
cheque();
});
function cheque(){
var jContent = $( "#content" );
$.ajax({type: "GET",
url: "test",
dataType : 'html',
success: function( strData ){;
jContent.html( strData );
setTimeout('cheque()', 1000);
}
});
};
</script>
</body>
</html>
------------------------ server.py ---------------------------------------------
#!/usr/bin/env python
# coding: utf-8
from twisted.web import server, resource, http, static
import RPi.GPIO as GPIO
GPIO.setmode(GPIO.BCM)
GPIO.setwarnings(False)
GPIO.setup(23, GPIO.OUT)
class TestHandler(resource.Resource):
isLeaf = True
def __init__(self):
resource.Resource.__init__(self)
def render_GET(self, request):
func = GPIO.input(23)
if (func == 0):
return "GPIO 23 is LOW !!"
else:
return "GPIO 23 is HIGH !!"
if __name__ == "__main__":
import sys
from twisted.internet import reactor
testHandler = TestHandler()
root = static.File('/home/pi/web3')
root.putChild('test', testHandler)
reactor.listenTCP(8082, server.Site(root))
reactor.run()
-------------------------------------------------------------------------------------
Merci de vos réponses
Gilles