Gérer un lave linge en co-propriété - Réalisation du parfait NOOB

Bonjour,
Ce fil de discussion est directement lié au projet de @yohann74 et de tous ses contributeurs majeurs (@lesept , @hbachetti , @fdufnews , @J-M-L , etc), pour la création d'un système de partage et de gestion d'un lave-linge en petite résidence ou colocation (avec l'option de pouvoir également utiliser les badges RFID pour de la gestion d'accès).

Dans cette histoire, je suis le noob sorti de nulle-part qui veut commencer par recréer ce projet, et qui sait peut-être un jour pouvoir y contribuer, mais chaque chose en son temps!

Ce fil est pour moi le moyen de cheminer vers la réalisation du projet de @yohann74 en partageant mon cheminement, mes interrogations, mes découvertes, et autres informations potentiellement utiles à d'autres... tout en évitent de saturer sont projet à cause de mon inexpérience sur tout un tas de choses...

Ca pourra aussi faire office de mémo et recueil de notes...

Le code et les discussions de pros c'est sur le sujet d'origine,
La réalisation et les infos/questions pratiques, c'est ici!!

Et merci d'avance à tous ceux qui contribueront en questions et en solutions! :nerd_face:

Pour moi tout part du code, quand le projet est maintenant fonctionnel et en utilisation, même si il y a toujours matière à améliorer:

Liste du matériel dans l'état actuel du projet:
-ESP32
-lecteur RFID RC522 et des badges
-écran 20x4 I2C
-carte relais (à déterminer)

Pour en savoir plus sur le ESP32 il y a cette très bonne vidéo qui vient avec son tableau comparatif (merci @lesept )

Pour l'ESP32 du coup j'ai opté pour un ESP32-WROOM-32D DevKitC V4 (remplacez le D par un U pour avoir un connecteur d'antenne extérieur)

Attention, à ce stade je ne dis pas que c'est ce qu'il faut prendre, juste que c'est ce que j'ai commandé et qui me semble le plus adapté, la réponse bientôt, après réception de l'équipement, et les premiers essais

Andreas Spiess a une chaîne Youtube avec plein de tutoriels notamment sur l'esp32. Je crois qu'il a fait un comparatif des divers modules équipes d'esp32, il faut compter sur son site.

Sinon, moi je prends régulièrement le lyligo t-display qui est équipé d'un écran tft couleur et de deux boutons. Ça permet de faire pas mal de choses sans rien ajouter. Il est aux alentours de 10€chez Aliexpress.

http://www.lilygo.cn/prod_view.aspx?TypeId=50044&Id=1126&FId=t3:50044:3

Merci @lesept ,
Je vais regarder ça avec grand intérêt... Je suis en mode formation accélérée là..

Pour l'instant je m'oriente vers un ESP32 node-mode 32pin devkitc avec un wroom 32D pour avoir l'antenne built-in. Je pense que ce sera un 4MB.

J'ai aussi pris l'écran et le lecteur de badges.
Je vais aussi regarder à cet écran que tu me conseilles!

L'idée de départ c'est de reproduire, faire fonctionner, tester et j'espère plus tard contribuer à votre projet à tous.

Pour info j'ai aussi pris un bouton encodeur, un clavier matriciel, et une interface i2c pour le clavier... Mais chaque chose en son temps..!

Là je suis en découverte de l'IDE Arduino.. (lol j'ai presque honte...:rofl:).
J'ai rajouté les cartes ESP à l'IDE.. j'ai sélectionné l'ESP32 DEV KIT..
Ça coince au compilage, ligne 1, AsyncFTP.h..
J'ai retrouvé et ajouté la librairie asynchttp qui semblait contenir le asyncftp.h mais je ne le vois pas et ça ne compile toujours pas...

Je me dis que j'ai peut-être foiré ou beugé un truc à l'instal'...
Alors je vais surement faire ça :

Ah okay, la Lilygo c'est carrément un ESP32 avec un écran dessus..
C'est pas celle là qui est moins sensible en wifi?

EDIT: non ce serait la Heltec WiFi Kit 32 (#592), mais y'a quand même une sacrée ressemblance.

Pour référence, le lien vers la vidéo et tableau comparateur d'ESP32:

Merci pour le lien
Je ne te conseille pas de prendre cette carte, je dis juste que je l'utilise car elle est pratique. Mais pour ton besoin, l'écran est probablement trop petit.

Pour ton problème, est-ce que tu arrives à compiler et exécuter un programme tout simple comme un blink par exemple ?
Si oui, ton problème vient de l'installation des bibliothèques nécessaires à ce projet.
Si non, c'est un problème d'installation de l'ESP32 dans l'IDE Arduino.

Installer les librairies :
AsyncTCP
ESPAsyncWebServer
MFRC522 : (voir gestionnaire de bibliothèques)
LiquidCrystal_I2C : laquelle ? voir avec yohann74

Super les gars, grand merci pour votre soutien!

@hbachetti là je me sens dans la peau de celui à qui on vient d'offrir un lance-roquettes... tout excité à l'idée de vouloir l'essayer... mais qui cherche dans tous les coins la notice d'utilisation histoire de ne pas faire une c-nnerie... :upside_down_face:

@lesept j'ai trouvé Blink dans les exemples de base. Il me donne 'LED_BUILTIN' not declared in this scope. C'est peut-être par ce qu'il n'est pas dans la section specifique des exemples pour le ESP32..

J'ai essayé SimpleTime dans la section des exemples ESP32 et là ça compile jusqu'au bout..

Probablement que la carte choisie ne possède pas de LED.
Connecter une LED (avec résistance 1K en série) entre pin 23 (par exemple, le choix est large) et GND.
Remplacer LED_BUILTIN par 23.

J'ai déplacé ici les messages qui polluaient l'autre fil de discussion.

Pour le RC522, ça devrait être du standard... J'ai pris ça:

Et pour l'écran j'ai pris ça

Il y a eu une très bonne suggestion pour un écran identique, mais sur platine équipée de 4 boutons... comme on en voit pour les kits d'imprimantes 3D... mais pas moyen d'en trouver.

Super @fdufnews , merci, je pense que c'est bien mieux comme ça!
Ca m'évitera de vous polluer avec mes questions sans rapport direct avec le sujet principale de dev' de votre projet.. :+1:

Ça par exemple avec un codeur incrémental

ou ça avec des boutons

ben oui ça c'est top, mais le souci pour moi c'est que je ne sais pas trop ce que c'est comme interfaçage (I2C, matriciel, ou un combinaison des deux) et le souci avec aliexpress c'est de réussir à trouver la doc et les infos... et comme pour moi la route vat être longue et les premiers pas bien assez difficiles comme ça... :sweat_smile:

Dans l'immédiat je veux faire simple et m'en tenir au hardware qui va avec le code actuel.

ah j'ai aussi pris un buzzer actif en 3V

Et pour plus tard si tout va bien / si besoin:
Un bouton encodeur

Un petit clavier matriciel 4x4

Et une interface I2C qui doit aller avec

Donc pour résumer, j'ai le code, et ma commande est passée, il me faut maintenant me familiariser avec l'IDE d'Arduino qui permet de consulter et changer le code puis de le téléverser...

Pour que l'IDE fonctionne avec l'ESP et son code, il faut le rajouter:
'Fichiers, Paramètres, URL de gestionnaire de cartes supplémentaires', et là c'est un copier coller de ce qui me semble être le repo du constructeur de la puce Espressif..

https://dl.espressif.com/dl/package_esp32_index.json

Après ça, il faut aller dans 'Outils, Type de carte, Gestionnaire', attendre qu'il se mette bien à jour, faire une recherche pour 'ESP32', et installer la dernière version.

Un deuxième sous-menu c'est maintenant créé dans pour la sélection de la carte 'ESP32 Arduino', mais il y a un sacré choix,... comme je n'ai pas encore ma carte, je sélectionne 'ESP32 Dev Module' qui semble être un équivalent générique... je verrais bien plus tard...

Pour mémo, le Git d'Espressif pour l'ESP-32.. Attention le Json links to the development version.

Avant de 'jouer' avec le compilateur, il faut retourner dans les réglages (Fichiers, Préférences, ..) pour indiquer où l'on va vouloir travailler, où sera situé le code..

Perso, je n'aime pas travailler dans le répertoire 'Mes Documents' de windows, je préfère que les choses (croquis, code) soient ordonnées, surtout pour un nouveau projet, alors je lui indique ce chemin..

Tout ça peut paraître secondaire mais ça semble cependant important car dans ce dossier de travail seront installées les librairies essentielles à la compilation du code...
Il y aurait une sorte de logique de priorité dans l'IDE, qui cherche d'abord dans le répertoire de travail (d'où l'intérêt d'indiquer le bon), puis ailleurs je ne sais plus trop où,... mais l'idée est de mettre les bonnes choses au bon endroit, pour que ça fonctionne et que ce soit compilé avec les bonnes librairies et qui seront à la bonne version selon les besoins du code...
(Edité pour corriger mes fautes)

Puisque tu commences autant bien commencer

Non, c'est compilateur

Non, c'est compilation

Pour ça, l'IDE Arduino est ordonnée. Dans les préférences, on lui indique un répertoire de travail.
Dans ce répertoire, il va créer un sous-répertoire pour chaque projet.
Si tu ajoutes des librairies à la main tu peux les placer dans un sous-répertoire nommé libraries

2 possibilités

  • la librairie en question est connue du gestionnaire de librairie. Dans ce cas tu la trouves dans le gestionnaire de librairie et tu choisis "installer" et elle sera installée correctement
  • tu charges le .zip sur github. Dans ce cas tu décompresses le zip dans le répertoire libraries qui est situé dans le répertoire de travail (s'il n'existe pas, il faut le créer)

Il y a une troisième solution si git est installé sur ta machine mais je sens que ce n'est pas le cas :wink: