Salut,
omikron a écrit :Me lançant dans la manipulation des GPIO pour le faire avancer/reculer/tourner... J'ai souhaité gérer cette partie, modification des états GPIO, par un démon qui sera écrit en C++. Le PHP ne fessant pas l'affaire...
Beau projet
Par contre, je ne vois pas en quoi PHP ne ferait pas l'affaire : il est autant connecté que les autres langages et permet aussi de faire des scriptes en ligne de commande.
Mais bon, j'aime autant les C/C++.
Concernant ton problème de communications, rapidement, je vois 3 solutions plus ou moins évidentes, de la plus simple à la plus compliquées :
- Passer par des WebServices REST : c'est natif coté PHP et facile à implémenter coté C en utilisant la librairie Curl par exemple. L’inconvénient est que ton client C doit pooler régulièrement le serveur web pour savoir s'il doit faire quelque chose. Relativement ... crade d'un point de vue architecture.
- En utilisant un broker MQTT : Ton code PHP publie des messages de contrôle auxquels à souscrit ton C.
- Tu fais de la programmation bas niveau au niveau des Sockets réseau : Les primitives existe en PHP et il y a beaucoup d'exemples sur Internet ... mais comme je le disais, c'est du bas niveau donc relativement complexe.
Ma favorite va vers la solutions #2 : moins complexe que la #3 tout en étant plus élégante que la #1. En plus, tu découples fortement la partie commande de la partie drone.
Par exemple, si un jour tu décide de faire une télécommande sur ton téléphone, ça sera totalement transparent pour le drone et facile à faire.
Par contre, la #3 te permet de toucher les sockets, version "geek barbus", mais il faut avoir quand même qq connaissances réseau pour se lancer la dedans.