Re: arduino suivi temp et action

トップ ページ

このメッセージに返信
著者: frederic bressy
日付:  
To: guilde
題目: Re: arduino suivi temp et action
Bonjour

Le 03/07/2024 à 22:16, Edgar Bonet a écrit :
> Bonjour !
>
> Frédéric Bressy a écrit :
>> [...] Voir le fichier capteur_armoire.ino joint zippé.
>
> Je ne suis pas sûr de bien comprendre ce que tu veux faire. En général,
> quand tu veux transmettre des données par le réseau, tu as deux choix :
>
>    – soit tu les tires, auquel cas le producteur est serveur et le
>      consommateur est client ;

>
>    – soit tu les pousses, auquel cas le producteur est client et le
>      consommateur est serveur.

>
> Dans le code que tu as partagé, l'Arduino pousse périodiquement des
> données. Si tu es satisfait de cette approche, pourquoi est-ce que tu
> voudrais maintenant tirer les données ? Est-ce que tu veux changer
> d'approche ? Est-ce que tu voudrais que les données soient poussées *et*
> tirées ?


effectivement je voudrais (mais est-ce trop demandé :-) ) que l'arduino
envoi les données température humidité et accessoirement vitesse de
rotation ( en se basant sur un tuto de https://www.carnetdumaker.net) à
une api sur un serveur et que ce dernier, en fonction si des seuils de
température sont dépassés (réglage par utilisateur via une interface
web), renvoi des données ou plutôt ordres pour activer ou non des
ventilo et modifier leur vitesse.

>
>> le code exemple W5100_web_server (que l'on trouve avec l'IDE de
>> l'arduino).
>
> Je ne l'ai pas trouvé... Est-ce que c'est ça ?
>
>      https://www.tala-informatique.fr/wiki/index.php/Arduino_W5100_web_server

>
> Ça a l'air très complet, et selon tes besoins peut-être un peu overkill.


oui c'est ça
et effectivement plus complet et semble mieux que l'exemple donnée par
l'IDE de l'arduino.
en plus il y a une progression dans le tuto et des commentaires et des
exemples de requêtes

je vais donc repartir pas à pas sur ce tuto

>
>> Ou celui de zestedesavoir.com
>
> J'ai un peu regardé. Vu de loin, ça a l'air fonctionnel, mais c'est du
> « vite fait, mal fait ». En particulier, le serveur envoie sa réponse
> dès qu'un client se connecte, sans attendre qu'il ait formulé sa
> requête. C'est pas joli ! Après, si ton Arduino est trop petit pour
> héberger un code qui parse proprement la requête, une telle approche à
> la hache peut se justifier...


c'est vrai que le "parsement" (parsing?) propre me sied plus.

il est certain que cumuler le code du tuto plus complet cité plus haut
et celui en place pour renvoyer les données température, etc m'obligera
peut-être à prendre une carte "adruino" plus "costaud" comme la méga.

>
> Personnellement, j'essayerais au moins d'attendre la séquence (CR, LF,
> CR, LF), ce qui n'est pas coûteux à détecter avec une petite machine à
> états. Si jamais tu veux avoir plus d'un point d'entrée dans ton API
> (plus d'une URL visible), il faudra parser un minimum.
>
>> Et avec l'outil Postman j'ai fait des tests en envoyant une requête.
>
> Connais pas Postman. Tu as essayé un truc plus simple, genre curl ? Tu
> peux même essayer le bon vieux telnet, qui te permet de voir
> *exactement* ce qui passe dans le tuyau, sans les couches
> d'interprétation des outils avancés. Ou alors tu gardes Postman et tu
> renifles la connexion avec, par exemple, Wireshark.


effectivement pas penser à curl ni telnet

Postman c'est suite à une formation sur Symfony que j'avais découvert
cet outil graphique pour faire du get, post, etc

et hier trouvé httpie en ligne de commande sous linux, sympa aussi
>
> Aussi, si tu te bases sur un exemple trouvé en ligne, il faudrait tester
> l'exemple tout seul avant de l'intégrer dans ton programme.


c'est ce que j'avais fait mais l'exemple manquait de clarté

>
>> http://192.168.1.180/testafaire/listetruca/?moteur0001=3&moteur0002=42
>> Déjà est-ce que la requête est correcte pour faire du GET?
>
> Oui.
>
>> Ou alors si vous avez un morceau de code plus adéquat ?
>
> J'ai cherché « Arduino Web server library » sur GitHub. La première
> réponse :
>
>      https://github.com/lasselukkari/aWOT

>
> L'API a l'air sympa : propre et facile à utiliser. Et il y a pas mal
> d'exemples.


je vais regarder ça

je vais avoir du temps vu que j'attaque une période d'intercontrat
(depuis lundi dernier) au moment des vacances ça risque d’être long

Après 3 ans à faire du Cobol sous linux unix et du NS-DK en front et du
PL/SQL dans une ambiance MCO, ça va me changer.

Peut être vais-je pouvoir avoir le temps relancer ma station météo qui
est en arrêt suite à des travaux extérieurs ou j'ai profité d'enlever
l'abri météo pour le repeindre.

>
> À+,
>
> Edgar.
>


Merci Edgar d'avoir pris de ton temps pour ce retour.

--

Cordialement
Bressy Frederic

Pensez ENVIRONNEMENT : n'imprimer que si nécessaire

Think ENVIRONMENT: print only if necessary