Arduino ethernet + interface web html pour station météo

a marqué ce sujet comme résolu.

bonjour, cette page : https://zestedesavoir.com/tutoriels/686/arduino-premiers-pas-en-informatique-embarquee/1213_internet-of-things-arduino-sur-internet/4848_arduino-et-ethernet-serveur/

est super intéressante, car je souhaite mettre en place une station météo (arduino+shield ethernet, + capteurs de température, de pression, d’humidité, de luminosité, girouette, pluviomètre, anémomètre…)

j’ai compris dans l’ex du lien précédent que la page html (contenant du js) était hébergée sur un site (bon en local ça doit le faire aussi), mais est-ce qu’il est possible de stocker cette page sur la carde SD (du shield éthernet qui contient également un slot sd), et que lorsqu’on appelle l’IP de l’arduino à travers un navigateur celui-ci nous ouvre directement cette page web préfaite (stocké sur la sd). l’intéret est de ne pas générer la page dans l’arduino pour ne pas alourdir la place mémoire ni les ressources) ?

car au final la page web en question sera plus lourde (au début je compte juste afficher les variables en temps réel, ensuite l’arduino stockera les données dans un fichier CSV (car si j’ai bien compris l’arduino ne peut pas écrire dans un fichier sqlite) et c’est la page web qui ira chercher les données dans ce csv (aussi stockeé sur la sd) pour les afficher par ex dans un graphique en utilisant googleChart ou autre…

et pour ceux qui se demandent pourquoi je veux stoker cette page web sur la SD, c’est parceque sur le site de notre collège (on nous a bloqué l’accès admin et je ne pourrai pas y mettre les js. et autres fichiers liés), juste un lien vers l’ip de l’arduino…

merci

2 termes que je ne connais pas : ajax et xhr…

si je pouvais me limiter au basic et html et JS sans y ajouter d’autres langages, car je suis débutant ;-)

sinon une page statique hébergée ailleurs pourquoi pas mais ça implique que cette page ailles récupérer les infos du CSV dans la carte sd; et ça fait 3 endroit à gérer: la carte SD, la page hébergée ailleurs et le liens du site… si je pouvais héberger cette page sur la carte sd ça serait plus pratique.

peut-on faire en sorte que lorsqu’on tape l’IP de l’arduino dans un navigateur on tombe directement sur la page hébergée sur sa carte SD ?

un moment je pensais générer une page du genre :

<html>
<head>
<title>Redirection en HTML</title>
 
<meta http-equiv="refresh" content="5; URL=http://www.manouvelleadresse.com">
</head>
 
<body>
</body>
 
</html>

directement dans le code, mais quel en serait l’adresse de destination? (si ma page hébergée appelée meteo.html est à la racine de ma SD….

+0 -0

Dans le tuto, le xhr c’est la ligne 30 du code : var requete = new XMLHttpRequest();.

Ton code HTML et JS sera hébergé sur une page github https://<nomdudepot>.github.io/, ensuite ton adresse : var adresse = "http://82.143.160.118:4200/"; sera toujours l’url de ton arduino.

je ne souhaite pas héberger ma page web sur le web, car la page sera accessible depuis le web sur le site (oui) mais aussi à partir du site intranet (donc en interne), du coup ça fait sortir du reseau pour y revenir…bref des aller/retour pour rien. et en plus en cas de coupure internet la système fonctionnera toujours en interne si la page est hébergé sur la SD.

peut-être tout simplement un truc du genre :

Serial.println(meteo.htm);

je vais creuser et tester… mais avec cette dernière méthode il me semble que le contenu de la page est chargée en mémoire de l’arduino pour être transférée, donc ça le sollicite pour rien… une simple redirection serait idéale.

+0 -0

justement l’intéret comme expliqué dans ce tuto : https://zestedesavoir.com/tutoriels/686/arduino-premiers-pas-en-informatique-embarquee/1213_internet-of-things-arduino-sur-internet/4848_arduino-et-ethernet-serveur/

c’est que la page est fixe et statique, c’est le code js inclus dans le html qui va demander à l’arduino les info à afficher, donc rien à modifier sur la page web ;-)

donc comme dans ton lien un truc du genre :

webFile = SD.open("index.htm");        // open web page file
                    if (webFile) {
                        while(webFile.available()) {
                            client.write(webFile.read()); // send web page to client
                        }
                        webFile.close();

pourrait le faire… en tout cas c’est une méthode qui prend moins de ressource que je générer la page web directement dans le code arduino je pense…

va falloir maintenant que je teste ces différentes méthodes…

+0 -0
Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte