Outils pour utilisateurs

Outils du site


start:projets:thierrylpr

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
start:projets:thierrylpr [2020/12/14 14:37] – [Le coût pour une ruche(en cours)] thierrypstart:projets:thierrylpr [2023/01/27 16:08] (Version actuelle) – modification externe 127.0.0.1
Ligne 371: Ligne 371:
  
 Dans cette fenêtre vous trouverez les codes nécessaires et qui fonctionnent pour un ESP32. Dans cette fenêtre vous trouverez les codes nécessaires et qui fonctionnent pour un ESP32.
-il y a beaucoup d'informations sur internet qui ne fonctionnent pas pour un ESP32.+Il y a beaucoup d'informations sur internet qui ne fonctionnent pas pour un ESP32. 
 + 
 +  * Write et read pour écrire et lire un octet. 
 +  * put et get pour écrire et lire des variables typées. 
 +  * update n'est pas implémenté pour l'ESP32 (write et put suffisent). 
 + 
 +Nombre d'octets selon le type de variable (sizeof(variable) permet de le donner) 
 + 
 +  * CHAR: 1 octet 
 +  * BYTE: 1 octet 
 +  * INT: 2 octets ou 4 octets 
 +  * DOUBLE: 4 ou 8 octets 
 +  * FLOAT: 4 octets 
 +  * LONG: 4 octets 
 +  * SHORT: 2 octets
  
 <code css utilisation EEPROM> <code css utilisation EEPROM>
Ligne 626: Ligne 640:
 </code> </code>
  
-==== Passage en paramétrage (en cours) ====+==== Passage en paramétrage ====
 Le module **ESP32** est en veille quasi permanente. Le module **ESP32** est en veille quasi permanente.
 Il faut donc convenir du passage en paramétrage. Il faut donc convenir du passage en paramétrage.
-J'ai choisi de démarrer le paramétrage en positionnant un cavalier connecté sur un **GPIO** de l'**ESP32** et au redémarrage de celui-ciil passe en programmation par Bluetooth serial+J'ai choisi de démarrer le paramétrage avec un fil sur le GPIO15 (T3)de l'ESP32 grâce à la fonctionnalité "Touch Pad". Sur simple touché du fill'ESP32 sort de son sommeil et passe en mode programmation par Bluetooth serial
 + 
 +Voici le principe de la gestion du mode veille, du mode paramétrage et du mode mesures:
  
 <code css Passage en paramétrage> <code css Passage en paramétrage>
 +//Define touch sensitivity. Greater the value, more the sensitivity.
 +#define Threshold 40
 +#define uS_TO_S_FACTOR 1000000  /* Conversion factor for micro seconds to seconds */
 +#define TIME_TO_SLEEP  10        /* Time ESP32 will go to sleep (in seconds) */
 +
 +touch_pad_t touchPin;
 +
 +void callback(){
 +  //placeholder callback function: on arrive ici quand on est pas en mode sleep
 +  Serial.println ("-------------------------------------callback");
 +}
 +
 +void setup(){
 +  Serial.begin(115200);
 +  delay(1000);
 +
 + //débranchement
 + touch_pad_t pin;
 + touchPin = esp_sleep_get_touchpad_wakeup_status();
 + switch(touchPin)
 +  {
 +    case 3  : configuration(); break;
 +    default : mesures(); break;
 +  }
 +}
 +
 +void configuration(){
 +  Serial.println("-------------Configuration");
 +      //Go to sleep now
 +
 +         //Setup interrupt on Touch Pad 3 (GPIO15)
 +touchAttachInterrupt(T3, callback, Threshold);
 +  //Configure Touchpad as wakeup source
 +esp_sleep_enable_touchpad_wakeup();
 +esp_sleep_enable_timer_wakeup(TIME_TO_SLEEP * uS_TO_S_FACTOR);
 +
 +  Serial.println ("Configuration: go to sleep");
 +  esp_deep_sleep_start();}
 +void mesures(){
 +  Serial.println("-------------Mesures");
 +    //Setup interrupt on Touch Pad 3 (GPIO15)
 +touchAttachInterrupt(T3, callback, Threshold);
 +  //Configure Touchpad as wakeup source
 +esp_sleep_enable_touchpad_wakeup();
 +esp_sleep_enable_timer_wakeup(TIME_TO_SLEEP * uS_TO_S_FACTOR);
 +//Go to sleep now
 +  Serial.println ("Mesures: go to sleep");
 +  esp_deep_sleep_start();
 +
 +  }
 +void loop(){
 +  Serial.println("-->loop");
 +  delay (5000);
 +  Serial.println("<--loop");
 +}
 </code> </code>
 +
 +E la fin des mesures, on doit repasser en mode sleep.
 +En ce qui concerne le paramétrage, il faut rajouter une ligne pour repasser en mode sleep.
 +Pour sécuriser, il convient de tester un temps maximum de paramétrage si oublie d'actionner le menu.
 +
 +enfin, il faut merger l'ensemble des programmes précédent en un seul pour avoir un code final dans la ruche avec toutes les fonctionnalités embarquées.
 +
  
 ===== Le code final V02 (en cours) ===== ===== Le code final V02 (en cours) =====
Ligne 640: Ligne 718:
  
 </code> </code>
-====== L'alimentation (en cours) ======+====== L'alimentation ====== 
 +Le sujet est très compliqué. L'alimentation doit être entre 2,3V à 3,6V 
 +Les piles pertinentes sont en 3,7V. 
 +Sans doute faudra-t-il un renfort de panneaux solaires. 
 +Les régulateurs 3,3V existants demande une tension d'entrée minimum de 4,5V. 
 +etc... 
 + 
 +Il est possible de vérifier la charge de la  batterie et de l'envoyer en tant que données afin d'anticiper le changement de la pile.  
 + 
 +Je vais porter l'ensemble du code et du montage sur ce kit avec une pile 18650 intégrée. 
 +Dans un premier temps des tests de durée de la pile sont nécessaires. 
 + 
 +{{ :start:projets:18650.jpg?direct&200 |}} 
 +Après de longs échanges et de longues recherches, je vais m'arrêter sur ce montage: 
 +{{ :start:projets:alimentation.jpg?direct&400 |}} 
 + 
 +Dans une version future, la pile sera branchée également sur une GPIO de l'ESP32 afin de mesurer le pourcentage de charge et de l'envoyer également comme donnée afin d'anticiper le changement de cette pile.
  
 ====== Le schéma électronique (en cours) ====== ====== Le schéma électronique (en cours) ======
Ligne 650: Ligne 744:
 ====== Le coût pour une ruche(en cours) ====== ====== Le coût pour une ruche(en cours) ======
 **__Liste des composants:__** **__Liste des composants:__**
-  * un ESP32 (**5**€) +  * un **ESP32** (**5**€) 
-  * un HX711 et 4 pesons (**15**€) +  * un **HX711** et **4 pesons** (**15**€) 
-  * un DS18DB20 (**2**€) +  * un **DS18DB20** (**2**€) 
-  * un DHT11 (**2**€) +  * un **DHT11** (**2**€) 
-  * une pile 18650 (**2**€) +  * une pile **18650** (**2**€) 
-  * un boitier de pile (**1**€) +  * un **boitier** de pile (**1**€) 
-  * Un boitier étanche pour le montage () +  * Un **boitier étanche** pour le montage () 
-  * Quelques résistances et circuit () +  * Quelques **résistances** et circuit () 
-  * fil, vis ()+  * fil, vis, etc. ()
   * **Total**:    * **Total**: 
  
/home/chanteri/www/fablab37110/data/attic/start/projets/thierrylpr.1607953023.txt.gz · Dernière modification : 2023/01/27 16:08 (modification externe)