J’ai réalisé de nombreux projets sous RPI3, avec serveur Web + PHPMyAdmin monté sur le RPI.
et je communique avec les entrées/sorties du GPIO pour effectuer des foncions diverses (allumer lampe, imprimer, prendre photo, video…)
Aujourd’hui je souhaiterais héberger tous ces systèmes sur un seul et même hébergement (externe OVH par exemple)
et pouvoir en fonction de la navigation sur les page php de cette hébergement « externe », pouvoir faire fonctionner mon gpio
Afin d’être plus clair
Pour exemple:
En lançant des pages php avec un navigateur d’un site qui n’est pas hébergé sur mon RPI est-il possible d’activer une sortie du gpio en local ?
Bonjour,
Oui , c’est très simple en théorie. En pratique, il y a quelques portes à franchir et un peu de sécurité à mettre en place.
1 - Il faut que le serveur web ait accès au Raspberry PI ou bien que le Raspberry PI ait accès au serveur web.
2 - Il faut qu’un service soit à l’écoute sur une machine et un client qui se connecte dessus.
3 - A la réception d’une requête définie, et formatée adhoc une commande correspondante est exécutée.
4 - Pour éviter que quelqu’un sache ce qui se passe entre le client et le serveur, il est de bon ton d’ajouter une couche de sécurité SSL ou autre.
Voici 3 possibilités par ordre de préférence pour moi
ssh - le serveur web envoi directement au PI une commande SSH
API web sur le Raspberry PI - le serveur web envoi une requête (voir du coté des micro framework Python pour développer ça)
mqtt - le logiciel de communication des IOT. Soit le serveur mqtt est sur le PI ou la machine hébergée ou n’importe où ailleurs au choix. Le serveur web publie un message, le PI s’inscrit pour recevoir tous les messages. Ajouter une couche SSL et brider un poil la conf pour éviter que le port soit accessible à d’autres machines.
N.B. : Une fois que l’on a pigé comment fonctionne ce MQTT on ne peut plus s’en passer.