Bonsoir,
Toute mes excuses si le topic est mal placé, mais il m'a semblé que cette section était la plus opportune (le plus gros de mon code étant la programmation de l'Atmel en #C)
Je vais tenter d'annoncé les faits simplement :
Je possède un µc ATmega32 qui récupère certaines informations de différents capteurs (intrusion, alarme, ...). Le but est de visualiser ces informations depuis un navigateur. L'ATmega fait office de serveur embarqué. J'ai un composant qui se charge de faire le transfert entre l'ATmega et le réseau ethernet).
Le client envois une requête HTTP (de type GET) en entrant l'adresse IP du module qui fait la liaison entre l'µc et le réseau. Si l'ATmega détecte une en-tête GET (programme AVR en #C, qui gère également la liaison série (avec USART)) il envoi alors requête de réponse (HTTP/1.0 200 OK) suivis d'une page HTTP généré. Pour résumer :
Mais cette solution est vite limité : l'ATmega générant la page je suis limité à une toute petite page html (adieu PHP...).
J'ai donc décidé de passer un serveur apache+php :
- le client se connecte au serveur apache (qui contient le site de visualisation)
- le serveur envoi alors une requête HTTP GET au serveur embarqué (à l'µc) via la fonction header() en PHP.
- le serveur embarqué détecte le GET, et génére / envois alors l'en-tête de réponse (qui contient le "OK" + les valeurs de mes variables).
La page envoyé ne contiendrais que des valeurs, par exemple : "125-12-1-0", et avec une fonction de parsage je créé des variables.
Le soucis : l'ATmega envoyant une un en-tête de réponse, il est forcément destiné au client qui l'a envoyé (en l'occurrence le serveur apache). Or c'est le navigateur qui est sensé analyser cet en-tête et l'exploiter. Une fois l'en-tête de réponse envoyé, si personne ne la lis, c'est foutu... :/
- Est-ce que le serveur apache peut récupérer cette en-tête de réponse ?
- Je me demande si mon analyse de la situation est juste ?
En vous remerciant,
Guicara
Partager