Créez une belle Interface Web pour vos

Créez une belle Interface Web pour vos projets IOT avec Bootstrap

Publish by : arielk The : 02/07/2021 at 10h 52min 49s
0

Comment créer une belle interface Web pour les projets ESP8266 / ESP32 avec Bootstrap

Dans le tutoriel précédent, nous avons vu comment créer une interface web pour accéder au serveur web d'un ESP8266 / ESP32. Dans ce tutoriel, je vous propose de découvrir comment utiliser le framework Bootstrap pour créer une meilleure interface pour vos projets d'objets connectés. On ne va pas aller très loin dans la programmation HTML, il y a de quoi tenir tout un blog sur le sujet.

L'objectif de ce tutoriel est de mettre en place le framework et de tester certains éléments (bouton, tableau, badge, interaction avec le code Arduino depuis l'interface Web). Pour aller plus loin en HTML, voici quelques blogs très bien faits : Alsa Création (en français), w3schools .

Noter. Vous pouvez suivre la même procédure si vous utilisez un Shield Ethernet ou WiFi pour Arduino. Les bibliothèques sont identiques

Qu'est-ce que Bootstrap ?

Bootstrap est un framework HMTL réactif, ce qui signifie que l'affichage s'adapte à la taille de l'écran. Bootstrap est un projet open source très populaire parmi les concepteurs de sites Web et les applications Web (c'était le projet le plus populaire sur GitHub en 2014). Il a été initié par un développeur travaillant chez Tweeter.

 

Cela peut sembler difficile à première vue mais en fait c'est très simple à mettre en œuvre. N'oubliez pas que la puissance d'un ESP8266 est très limitée, nous n'allons pas faire des interfaces très compliquées. L'essentiel de la « programmation » HTML sera d'indiquer les classes (class en anglais) que le moteur de rendu doit utiliser pour afficher un élément.

Prenons l'exemple d'un bouton. Pour afficher un bouton, vous devez le faire en HTML

ON

Ce qui donne ça. Pas difficile de faire mieux !

2 bouton bootstrap sur html classique

Maintenant, allez sur le site d' amorçage et descendez aux exemples dans la section glyphicon . Pour modifier l'apparence d'un élément HTML, vous devez lui affecter des classes Bootstrap.

3 boutons de classe bootstrap

Par exemple, nous ajouterons les classes btn , btn-success (couleur verte), btn-lg (large). Voici ce que cela donne. Plus amusant non !

4 classes de boutons bootstrap

Ce n'est rien de bien compliqué. Le plus difficile est d'avoir une vue d'ensemble de toutes les classes disponibles et du rendu obtenu. Heureusement,.

Comment ajouter le framework Bootstrap à un projet ESP8266 Arduino

Nous allons maintenant rentrer dans le vif du sujet.

Il existe deux façons d'ajouter le framework Bootstrap à un projet Arduino / ESP8266. La première consiste à embarquer tout le nécessaire dans la mémoire de l'ESP8266. Ce sera le thème du prochain tutoriel sur le sujet. Ici, nous allons récupérer les sources sur Internet. Cela oblige l'ESP8266 à se connecter à Internet. Pour que cela fonctionne, il ne peut pas être utilisé comme point d'accès.

Nous indiquerons donc dans l'entête de la page HTML les ressources à télécharger sur Internet.

Noter. Seule la feuille de style bootstrap.min.css est requise, mais si vous devez créer des interactions avec du code Arduino ou utiliser certains composants Bootstrap avec Javascript, vous devez tout installer.


 

https://ajax.googleapis.com/ajax/libs/jquery/ 3.1.1/jquery.min.js https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js "

Si la sécurité est une obsession, vous pouvez même ajouter un contrôle d'intégrité de la source.


 

https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js

Ensuite, vous devez indiquer au navigateur Web que le site est adapté au mobile. Tous les autres réglages sont expliqués ici (voir paragraphe Mobile First).

 

C'est fini pour l'en-tête. Passons au corps de la page HTML. Tout le contenu de la page doit être inclus dans un conteneur. Nous allons donc ajouter un div et indiquer la classe container-fluid. L'option fluide signifie que la page occupe tout l'espace disponible sur l'écran


 
...

Bootstrap a été conçu pour gérer les blocs d'affichage sous forme de grilles. On peut avoir par exemple un affichage sur trois colonnes. Selon le type d'écran, ou si vous redimensionnez la fenêtre du navigateur, les colonnes commenceront à se réduire puis se placeront les unes sous les autres (sur un smartphone). Pour ce faire, nous devons créer une ligne dans laquelle placer nos éléments, par exemple un tableau.

Ici, je suggère de créer une ligne qui contient

  • Un titre pour la page (h1)
  • Une sous-rubrique (h3) pour le bloc station météo
  • Une barre de navigation pour afficher la valeur actuelle de la température, de l'humidité et de la pression atmosphérique. Le premier bouton est actif (classe active), il aura donc un fond coloré. Un badge est placé à droite de l'étiquette (badge, classes pull-right) à l'aide d'une balise span
  • Un tableau avec 4 colonnes : capteur, mesure, valeur actuelle, valeur précédente (voir le code dans le projet final en bas de page)

Le code HTML qui s'affiche. Il reste à intégrer les mesures dans le code final.


 

Serveur Web de démonstration ESP8266 + Bootstrap

Mini station météo