ESP8266 serveur Web desservant plusieurs pages (4 / 5 étapes)

Étape 4: Modification des fichier serveur appelé newserver.lua, la clé du multi-pages Web.

J’ai maintenant téléchargé les fichiers appelés newserver.lua, index.htm et bob.htm au module ; Redémarré et entra dans dofile("newserver.lua").

Entrer mon numéro IP module'a doit afficher le fichier index.htm. En cliquant sur le lien pour Bob affiche bob.htm et maison sera de retour à la page d’index.

Une discussion sur newserver.lua :

J’ai codé index.htm que le fichier « atterrissage ». Je veux le module pour desservir index.htm quand je rentre IP du module dans un navigateur.

J’utilise du code LUA pour analyser la requête entrante d’en-tête afin de déterminer si la requête spécifie un fichier ou non. Une demande de juste de mon module IP numéro de 192.168.11.44 ne spécifie pas un fichier particulier.

Une partie d’un index requérant en-tête typique. peut ressembler à :

GET / HTTP/1.1
Hôte : 192.168.11.44 Connection : keep-alive
Accepter : text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
..............etc.

Cette demande pose pour bob.htm :

GET /bob.htm HTTP/1.1
Hôte : 192.168.11.44 connexion : KeepAlive Accept : text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8... etc.

L’analyse du premier exemple, newserver.lua ne trouverait pas un fichier spécifique pour ouvrir. Puisque je veux index.htm à la fichier atterrissage, lorsque tgtfile retourne zéro, j’ai remplacer index.htm. Ligne 6.

L’analyse de l’en-tête de la deuxième demande permettra d’identifier que la demande est de spécifier un fichier, dans ce cas, « bob.htm ». Ainsi, bob.htm est ouvert et envoyés une seule ligne à temps avec le code de client : send(file.read()).

Il est important de file.read() pas les fichiers qui n’existent pas.
Cela entraînera le module à la panique et redémarrer.

Donc, avant la lecture, j’ai tester pour voir si le fichier existe avec file.Open (), lignes 7 et 8.

Si aucun fichier, newserver.lua simplement renvoie « fichier introuvable » et un lien retour vers la page de destination.

Cela se produit lorsque je clique sur Jill ou barbe jusqu'à ce que j’ai télécharger des fichiers htm pour eux.

------------------------------------------------------

  1. --newserver.lua
  2. SRV=net.createServer (net. TCP)
  3. SRV:Listen(80,Function(conn)
  4. Conn : on("receive", function(client,payload)
  5. tgtfile = string.sub (payload,string.find (charge utile, "GET / ») +5,string.find(payload,"HTTP/") -2)
  6. Si tgtfile == "" puis tgtfile = « index.htm » fin
  7. local f = file.open(tgtfile,"r")
  8. Si f ~ = nil then
  9. client : send(file.read())
  10. file.Close()
  11. d’autre
  12. client : send("<html>")
  13. client : send(tgtfile.."not Found-404 error.")
  14. client : send("<a href='index.htm'>Home</a>")
  15. fin
  16. client : close()
  17. CollectGarbage()
  18. f = nil
  19. tgtfile = nil
  20. fin)
  21. fin)

_____________________________________

Articles Liés

La partie de ESP8266 2 - serveur Web Arduino

La partie de ESP8266 2 - serveur Web Arduino

Dans mon précédent instructable The ESP8266 partie 1 - Module WIFI série pour Arduino, j'ai tenté de décrire ce qui est, comment faire pour se connecter, tester et configurer le ESP8266 (appelons-le ESP pour faire court). Ici, nous ferons une vue d'e
SCADA Creating SVG pour serveur Web en ESP8266

SCADA Creating SVG pour serveur Web en ESP8266

Ce tutoriel est divisé en 2, dans lequel il est expliqué comment concevoir un mini SCADA ou sa représentation graphique d'un processus dans ce cas un réservoir qui affiche la variable niveau 0 à 100 % a été créé.Le serveur web se situera dans le Modu
Mettre en place votre propre serveur Web !

Mettre en place votre propre serveur Web !

Vous avez toujours voulu avoir un endroit où vous pouvez garder vos fichiers et y accéder de n'importe où vous obtenez une connexion Internet ? Vous avez voulu dire avoir votre bibliothèque de musique disponible dans le cas où vous avez voulu donner
Installer un serveur web de Raspberry Pi PHP

Installer un serveur web de Raspberry Pi PHP

Lighttpd est un serveur web léger, avec toutes les fonctions essentielles d'un serveur web, PHP est un langage de script côté serveur conçu pour le développement web, mais aussi utilisé comme un langage de programmation généraliste. Il s'agit d'un tu
Serveur Web intégré avec Tiva connecté Launchpad

Serveur Web intégré avec Tiva connecté Launchpad

Salut tout le monde,Dans ce post je vais partager avec vous ma nouvelle application que simple serveur intégré de contrôle et mesure somethings sur internet.De nos jours comme vous le savez l'ITO est sujet populaire et peut devenir plus populaire. Il
Raspberry Pi - serveur Web / Wireless Access Point (WAP)

Raspberry Pi - serveur Web / Wireless Access Point (WAP)

Ce dont vous avez besoinRaspberry Pi modèle B + (ou B) avec alimentationCâble EthernetAdaptateur WiFiCarte SD 4Go + avec RaspbianPréparationCe tutoriel complètement suppose que vous avez votre Pi déjà configuré et prêt à aller. Si elle n'est pas prêt
Mise en place d’un serveur Web local sur votre ordinateur

Mise en place d’un serveur Web local sur votre ordinateur

Si vous travaillez avec la création de sites Web, il est très utile pouvoir modifier des pages directement sur votre ordinateur sans avoir à constamment les télécharger sur un serveur. Malheureusement, beaucoup de technologies côté serveur (comme la
Serveur web de Arduino feu rouge

Serveur web de Arduino feu rouge

à la place je travaille, nous utilisons xymon pour surveiller nos serveurs. Tous les services surveillés sont importants, mais nous voulions un indicateur distinct pour simplement montrer la santé globale des systèmes plus critiques. En outre, nous s
NodeMCU d’accès LED à bord via un serveur web

NodeMCU d’accès LED à bord via un serveur web

Le ESP8266 est le dispositif dans le marché du bricolage. Il a porté une belle grosse tempête dans la communauté amateur. Couplé avec GPIO, un ADC, SPI interface UART interface (et bien sûr la partie WiFi)... il a toutes les caractéristiques requises
Première instance configuration de serveurs virtuels. (Serveur web avec de nombreux sites)

Première instance configuration de serveurs virtuels. (Serveur web avec de nombreux sites)

Quelques notes que j'ai pris pour obtenir virtual hosting pour travailler avec Apache 2.x sur Ubuntu 10.04. J'ai va probablement revenir en arrière et le nettoyer plus tard. Ne dis ne pas cela est la bonne façon de le faire, mais c'est ce qui a été f
Serveur web $59 avec Amazon classe Performance & sécurité

Serveur web $59 avec Amazon classe Performance & sécurité

DRCURZON a fait un travail impressionnant décrivant la façon de construire un serveur complet de Web Pi de framboise s'exécuter sur votre réseau domestique. Cela vous mènera bien au-delà de ce à un site de pi a accueilli avec une performance de class
Serveur Web Python pour votre Raspberry Pi

Serveur Web Python pour votre Raspberry Pi

Remarque : Si vous voulez seulement un serveur web qui ne nécessite pas de Python, consultez ce tutoriel, que j'ai fait pour un serveur web super facile pour le Raspberry Pi.Vous savez certains Python de base ou vous voulez en apprendre un peu et vou
Transformer votre Pi framboise en un serveur web personnel

Transformer votre Pi framboise en un serveur web personnel

LAMP est un acronyme qui signifie LinuxApacheMySQLPHP et composants nécessaires à l'exécution d'une page Web HTML dynamique.Cette instructable démontrera comment vous pouvez transformer votre Pi de framboise dans un serveur web personnel. Les étapes
Station météo DIY Arduino et Raspberry Pi et serveur web

Station météo DIY Arduino et Raspberry Pi et serveur web

Il s'agit d'un projet qui va prendre la température à l'aide de la sonde de température TMP36 IC et une carte Arduino . Ces données seront envoyées au cours de la série-le Raspberry PiConseil, modifier une page web que le Raspberry Pi est l'hôte lui-