Le but est de montrer comment utiliser unE carte Discovery B-L475E-IOT avec un esp01 pour se connecter au réseaux et faire un serveur web avec l'IDE Arduino
Grace au projet stm32duino, on peut utiliser l'IDE Arduino pour programmer ces cartes
Il faudra installer les cartes ST dans l'IDE Arduino en suivant les indications du lien ci-dessus
Matériel nécessaire :
une carte STM32 Discovery B-L475E-IOT :
un ESP-01 :
Le Câblage :
On connecte l' ESP01 ainsi :
- On alimente en 3V3 le pin 3.3, le RST et le EN de l' ESP
- On connecte le GND du STM32 au GND de l' ESP
- On connecte D0 (RX) du STM32 au TX de l' ESP
- On connecte D1 (TX) du STM32 au RX de l' ESP
Vous aurez besoin de cette librairie pour le wifi :
- https://github.com/bportaluri/WiFiEsp
WiFiEsp :
Serveur web GPIO :
Pour copier le programme, on clic dans le cadre du programme, puis Ctrl a, pour tout sélectionner, et Ctrl C pour copier
Ensuite vous pouvez le coller dans l'IDE Arduino
Il faut renseigner votre ssid et mdp du réseau wifi en début de programme a la place de XXXX et YYYY
Discovery_iot_ESP01.ino :
cela donne dans la com série :
au démarrage du programme :
on se connecte au serveur par l'adresse mentionné dans la com série :
un client se connecte sans utiliser les boutons :
On utilise les boutons :
quand on utilise les boutons :
Serveur web AJAX :
Vous aurez besoin de ces librairies pour les capteurs de la carte, HTS221 (température,humidité) et LPS22HB (température et pression):
- https://github.com/stm32duino/HTS221/
- https://github.com/stm32duino/LPS22HB/
HTS221 :
LPS22HB :
Je n'est pas apporté la correction des mesures des capteurs car c'est juste pour l'exemple
Pour copier le programme, on clic dans le cadre du programme, puis Ctrl a, pour tout sélectionner, et Ctrl C pour copier
Ensuite vous pouvez le coller dans l'IDE Arduino
Il faut renseigner votre ssid et mdp du réseau wifi en début de programme à la place de XXXX et YYYY
Discovery_iot_ESP01_AJAX.ino :
toutes les 10s la div qui a pour ID "data" sera rafraîchie avec les nouvelles datas des capteurs
on se connecte au serveur par l'adresse mentionné dans la com série :
Envoi en BDD :
Sur un raspberry pi, sur un serveur distant ou sur un NAS il vous faudra la suite logiciel PHP APACHE MYSQL, tout du moins un serveur web, une BDD, PHP et phpmyadmin
On créer une base de donnée, moi je l'ai appelé discovery
puis on exécute le code suivant dans phpmyadmin, ou dans mysql pour créer la table meteo et 3 champs
Puis on créer un dossier test à la racine de son serveur web distant, ici un NAS Synology 716+ II (de la bombe comme machine)
dans ce dossier on crée notre page meteo.php qui va récupérer les datas envoyer par la méthode GET de l'ESP.
Il faut renseigner votre login et mdp de la bdd en début de programme à la place de XXXX et YYYY
meteo.php :
Maintenant, le programme qui envoie en BDD :
Il faut renseigner votre ssid et mdp du réseau wifi en début de programme a la place de XXXX et YYYY et changer l'adresse du serveur distant par la votre
Discovery_iot_ESP01_BDD.ino :
voila toutes les x seconde selon l' intervalle, la disco va envoyer sur la page meteo.php les datas, et cette page meteo.php va envoyer ces data dans la base de données.