Serveur web

Serveur web myEthernet

Le firmware de myEthernet intègre le logiciel du serveur web embarqué. Il supporte l'envoi de fichiers vers tout PC via les réseaux LAN et WAN ainsi que l'assignation et la transmission de conditions, valeurs et configurations vers myEthernet.

Paramètres du serveur web

L'adresse attribuée au serveur web doit en aucun cas être déjà utilisée sur le réseau. Les paramètres sont sauvegardés dans le fichier "config.cfg" de la carte microSD. Les fichiers de la page web et de configuration (config.cfg) doivent être stockés à la racine de la carte. Ce fichier est lu et les paramètres sont pris en compte lors de l'allumage de myEthernet.

Attention : la première ligne du fichier ne doit pas être un commentaire mais la ligne de la variable ip.

Exemple de fichier config.cfg:

# Ceci est un commentaire
; Ceci est également un commentaire
# Adresse IP
ip=192.168.20.98
# Masque réseau
ipMask=255.255.255.0
# Port du serveur web
port=80
# Adresse MAC
macAddr=125.126.124.2.8.99

Si aucun fichier config.cfg n'existe ou si aucune carte microSD n'est insérée, les paramètres par défaut pris en compte sont :
Adresse IP : 192.168.20.96
Port du serveur web : 80
Masque réseau : 255.255.255.0
Adresse MAC : 73.53.133.71.1.34

Variables de remplacement :

Le serveur web myEthernet supporte des commandes et variables de remplacement. Ces commandes euvent être utilisées pour surveiller les valeurs affectées à une, plusieurs ou toutes les broches ainsi que pour lire leur configuration. Interprées directement dans les fichiers htm, elles peuvent être utilisées dans tout élément HTML ou javascript..
Attention : Si vous souhaitez afficher le signe degré, utilisez le code HTML équivalent : °.

syntaxe: °<type><pin-No>°

° ⇒ séparateur (degré)
<type> ⇒ type d'action (lecture configuration ou valeur)
  • c ... configuration actuelle
  • C ... configuration possible
  • v ... valeur actuelle
<pin-No> ⇒ * (toutes), 0...23, 200 et suivantes (virtuelles)

Exemple d'utilisation de variables de remplacement :
var ledVerte="°c20°"; Récupère la configuration actuelle de la broche 20 et l'affecte à la variable "ledVerte" dans le code javascript de la page HTML

<body>°v*°</body> Affichage de la valeur de chacune des broches sur la page HTML

Autres variables de remplacement disponibles
Outre la récupération des valeurs et configuration des broches, vous pouvez récupérer des informations sur le serveur web et sa configuration actuelle.
syntaxe : °i<paramètre>°

° ⇒ séparateur (degré)
i ⇒ indique que la variable de remplacement est une demande d'information
<paramètre> ⇒ type d'information
  • i ... Adresse IP
  • n ... Masque réseau (subnet)
  • m ... Adresse MAC (notation hexadecimale)
  • p ... Port serveur web
  • v ... Version du firmware
  • t ... Nombre de secondes écoulées depuis l'allumage du module
Commentaires :
syntaxe : °!<texte du commentaire>°

° ⇒ séparateur (degré)
! ⇒ signe indiquant un commentaire
Tous le texte entres les séparateurs sera retiré

Commandes :

Comme indiqué précédemment, myEthernet est capable d'interpréter des commandes grâce à son microcontrôleur. Elles permettent d'effectuer des changements sur une ou plusieurs broches (type ou valeur pour une sortie).
A la différence des variables de remplacement, les commandes passent par des requêtes HTTP. Elles peuvent être rentrées depuis la barre d'adresse du navigateur ou bien via le code javascript d'une page web à l'aide d'appel à l'objet javascript XMLHttpRequest-object.

syntaxe : <commande>=°<type><broche-No>~<valeur>°

<commande> ⇒ commande à transmettre à myEthernet
  • myConfigCmd ... effectuer un changement de configuration
  • myChangeCmd ... effectuer un changement de la valeur de sortie
= ⇒ Séparateur
° ⇒ séparateur (degré) à entrer en utilisant le code HTML correspondant «%B0»
<type> ⇒ changement de sortie ou configuration
  • c ... changement de configuration
  • o ... changement de sortie
<broche-No> ⇒ 0...23, 100,101... (virtuelle)
~ = Signe pour association de la valeur (tilde) à entrer en utilisant le code HTML correspondant «%7E»
<valeur> ⇒ nouvelle valeur pour la sortie au format décimal ou hexadécimal, comme par exemple : 0x20

Exemple d'appel de commandes :
http://192.168.20.98/?myConfigCmd=%B0c0%7E0x1%B0 Configure la broche 0 en sortie numérique

http://192.168.20.98/?myChangeCmd=%B0o21%7E0%B0 Eteint la LED rouge connectée à la broche 21

Si votre page web effectue au cours de son utilisation plusieurs requêtes HTTP pour une même broche, il est nécessaire d'ajouter un paramètre supplémentaire aléatoire pour inhiber l'action du cache de votre navigateur. Voici un exemple :

http://192.168.20.98/?myChangeCmd=%B0o21%7E0%B0&423801

Le paramètre supplémentaire en bleu est une valeur aléatoire et peut par exemple être généré en javascript.