Porte poulailler automatique esphome

Merci @emy pour le code et @Argonaute pour le matériel, après pas mal d’essai, cela fonctionne parfaitement. (porte pont levis)

Par contre impossible de faire fonctionner la camera, j’ai l erreur suivante :
[E][esp32_camera:095]: Setup Failed: ERROR
Savez vous si le power down pin doit etre indiqué ? car dans la doc pour le wrover , celui ci n’est pas
indiqué. Et mon GPIO 32 est utilisé pour le moteur…

Mais pour les autres modèles de cam il y est :

image

J’ai bien peur que la cam soit HS, j’ai tenté de déconnecté et reconnecter mais rien.
Si quelqu’un a une idée.
Merci en tout cas à vous pour le partage.

Hello,

As tu mis le bon board ? J’utilise un espCam, et j’ai moi mis le board esp32cam.
Quel est le module que tu utilises ?

Dans la description de ta caméra, il faut retrouver les GPIO.
Perso j’utilise ce module : Nodemcu – carte de développement de caméra WiFi série ESP32, 5V, Bluetooth, Module de caméra OV2640, ESP32 CAM ghz, 2.4 | AliExpress
Et si tu vas dans cette page Aliexpress, il y a bien un tableau avec les GPIO utilisés.

Voici pour info mon code ESPHome

esphome:
 name: esp-cam

esp32:
 board: esp32cam
 framework:
   type: arduino

# Enable logging
logger:

# Enable Home Assistant API
api:
 encryption:
   key: "xxxxxxxxxxxx"

ota:
 password: "xxxxxxxxxxxxx"

wifi:
 ssid: !secret wifi_ssid
 password: !secret wifi_password

esp32_camera:
 name: espcam
 external_clock:
   pin: GPIO0
   frequency: 20MHz
 i2c_pins:
   sda: GPIO26
   scl: GPIO27
 data_pins: [GPIO5, GPIO18, GPIO19, GPIO21, GPIO36, GPIO39, GPIO34, GPIO35]
 vsync_pin: GPIO25
 href_pin: GPIO23
 pixel_clock_pin: GPIO22
 power_down_pin: GPIO32

# Image settings
 vertical_flip: false
 horizontal_mirror: False
 resolution: 1600x1200
 
captive_portal:

`Voici le module ESP32 que j’utilise : esp32
J’ai déja un peu tout essayé board esp32cam /esp32dev… j ai essayé de changé les GPIO, bref c’est pas simple avec ce module :frowning:

Bonjour essaye avec ce code

# Example configuration entry
esp32_camera:
  external_clock:
    pin: GPIO21
    frequency: 20MHz
  i2c_pins:
    sda: GPIO26
    scl: GPIO27
  data_pins: [GPIO4, GPIO5, GPIO18, GPIO19, GPIO36, GPIO39, GPIO34, GPIO35]
  vsync_pin: GPIO25
  href_pin: GPIO23
  pixel_clock_pin: GPIO22

  # Image settings
  name: My Camera
  # ...

Enfin !!! Apres avoir tout repris cela fonctionne avec le dernier code, c est bon j arrive à avoir la camera et tout semble fonctionner !! Merci beaucoup.

Argonaute pour répondre à une ancienne question, pour mq part cela fonctionne bien le wrover board dev kit avec la camera + la sonde température et le fonctionnement du moteur. Je vais commandé la camera de nuit pour voir si cela fonctionne bien car c est juste à ce moment pour voir si les poules sont toutes bien la. En tout cas c’est top.

Quel code je dois ajouter si je souhaite ouvrir la porte 10 min avant le levé du soleil ? car elles se précipitent trop vite pour sortir et la porte met du temps à s’ouvrir à 100% … Un tout grand merci de votre aide.

1 « J'aime »

En lisant un peu je vois que toute les poules ne sont pas forcément rentrées lors de la fermeture de la porte.
Même si je n’ai pas de poules et pas prévu d’en avoir, une solution de comptage par faisceau type laser ne serait-il pas efficace ? Avec 2 faisceaux, si traversé dans un sens ça incrémente un compteur et si traversé dans l’autre sens ça décrémente. Ça a peut-être été essayé (j’ai pas tout lu) ou c’est peut-être nul mais je pose ça là.

Pour connaître le sens de la poule, il faut mettre les 2 capteurs « en série » sur le chemin de la poule. Ils faut bien écarter les capteurs pour qu’ils ne soient jamais coupés en même temps.
Si elle coupe le capteur 1 puis le 2, puis que les 2 capteurs sont à zéro, elle sort.
Si elle coupe le capteur 2 puis le 1,puis que les 2 sont à zéro, elle rentre.
Il faut surtout faire attention à ce que les poules ne puissent pas se croiser sur le chemin sinon les capteurs ne te renverront pas les bonnes infos.
Ensuite, tu comptes le nombre de sorties et de rentrées et tu devrais savoir où sont tes poules.

Une autre proposition (que j’évalue de mon côté), une bague rfid et un lecteur (2 si on souhaite connaître le sens) permet également de servir d’indicateur de présence. Avec « l’avantage » de pouvoir identifier qui est présent ou non :wink:

Content de voir que ce projet avance avec des bonnes améliorations :slight_smile:
SeByDocKy (e-2-nomy)

Est il possible de mettre un temps maximum pour l ouverture ou la fermeture ? car il m est arrivé en cas de gel ou de coupure de fils que le moteur continue de tourner pdt un bon moment et du coup le fil s’enroule dans l’axe et génère un bruit moteur constant.
Merci à vous

Une idée pour faire cela ?

Avec le sun.sun de home assistant, tu peut faire ca ,
voici la documentation associé : Conditions - Home Assistant

Après, c’est a mettre en trigger et pas en condition, ce qui te donnera ce type de code pour une automatisation :


description: ""
mode: single
trigger:
  - platform: sun
    event: sunrise
    offset: "-00:10:00"
condition: []
action: []

Merci beaucoup Roumano pour le retour.

Si cela intéresse des personnes, j’utilise un freenove esp32 wromer cam afin d’avoir l’utilisation de la porte sous forme de ''pont levis" et l’utilisation de la caméra.
J’ai donc utilisé les ports GPIO 13 et 14 pour connaitre la position de la porte en haut et en bas. Le GPIO 32 et 33 pour le moteur et le GPIO 15 pour la sonde de température. On ne voit pas les poules lorsqu’il fait nuit, je dois regarder pour ajouter une lumière afin de checker si elles sont bien rentrées.

Voici le code pour la camera :

esp32_camera:
  name: xxx
  external_clock:
    pin: GPIO21 
    frequency: 20MHz
  i2c_pins:
    sda: GPIO26
    scl: GPIO27
  data_pins: [GPIO4, GPIO5, GPIO18, GPIO19, GPIO36, GPIO39, GPIO34, GPIO35]
  vsync_pin: GPIO25
  href_pin: GPIO23
  pixel_clock_pin: GPIO22
  resolution: 640x480

time:
  - platform: homeassistant
sun:
  latitude: x.xxx
  longitude: x.xxx
  on_sunrise:
    - then:
        - cover.close: porte_poulailler
  on_sunset:
    - then:
        - delay: 30min
        - cover.open: porte_poulailler
binary_sensor:
  - platform: gpio
    pin:
      number: 14
      mode: INPUT_PULLUP
      inverted: True
    id: "poule_bas"
    name: "poule bas"
  - platform: gpio
    pin:
      #number: 22
      number: 13
      mode: INPUT_PULLUP
      inverted: True
    id: "poule_haut"
    name: "poule haut"
switch:
  - platform: gpio
    pin: GPIO33
    inverted: True
    name: "Poule relais 2"
    id: poule_relais_2
    internal: True
  - platform: gpio
    pin: GPIO32
    inverted: True
    name: "Poule relais 1"
    id: poule_relais_1
    internal: True
cover:
  - platform: endstop
    name: "Porte Poulailler"
    id: porte_poulailler
    open_action:
      - switch.turn_on: poule_relais_2
      - switch.turn_off: poule_relais_1
    open_duration: 0.1min
    open_endstop: poule_haut
    close_action:
      - switch.turn_off: poule_relais_2
      - switch.turn_on: poule_relais_1
    close_duration: 0.1min
    close_endstop: poule_bas
    stop_action:
      - switch.turn_off: poule_relais_1
      - switch.turn_off: poule_relais_2

text_sensor:    
  - platform: template
    name: "Statut de la porte"
    lambda: |-
        if((id(poule_haut).state)==(id(poule_bas).state)){
            return {"porte entre ouverte"};
         }else if((!id(poule_haut).state)&&(id(poule_bas).state)){
            return {"porte ouverte"};
         } else {
            return {"porte fermée"};
         }
    update_interval: 5min

sensor:
  - platform: dht
    pin:
     number: GPIO15
    temperature:
      name: "Poule temperature"
    humidity:
      name: "Poule humiditée"
    model: DHT11
    update_interval: 15min`Texte préformaté`

Bonne journée.

1 « J'aime »

Bonjour tout le monde, bon j’ai presque terminé l’aménagement de l’extérieur de la maison et le garage ne va plus tarder non plus à se construire, cependant j’ai dû refaire mon enclos pour les poules suite à l’attaque d’un renard qui m’a tuer toutes les poules.
J’ai donc réaliser un « chicken Forknox » ^_^!!! Rien que ça lol.
Mais du coup j’ai modifier le poulailler de façon à ce qu’il puisse se fermer avec un pont-levis. J’aurais aimer pouvoir motoriser cette fermeture via un moteur pas à pas piloter par un driver SPI de chez trinamic ( TMC2130 ), il existe une librairie pour ces drivers sur le github et j’aurais aimer savoir comment je peu intégrer cette librairie dans esp home ( et surtout si c’était faisable ). Pourquoi cette marque plutôt qu’une autre: fiable, silencieux, détection et arrêt d’urgence automatique si une poule se coince, et le prix assez bas car devenu un standard dans pas mal de domaine.
Quelques photo du poulailler


Est ce possible d’ajouter du code pour esphome afin d’activer ou désactiver l’automatisme avec le lever ou coucher de soleil ? car le renard est passé et la seule survivante est blessée, je souhaite la faire sortir par à coup au moment ou je suis la. Merci à vous :slight_smile:

Bonjour @emy

Je suis entrain de mettre en place un système similaire au tient pour domotiser ma porte de poulailler également.
Côté électronique j’ai effectué les mêmes choix que toi, sans la sonde de température pour le moment.
Voici le schéma que je souhaite mettre en œuvre.

J’utilise le L298N pour me générer le 5V qui va me servir à alimenter L’ESP. Si le L298N est alimenté jusqu’à 12V, le régulateur de tension intégré peut abaisser la tension jusqu’à 5V et agir comme une sortie. L’ESP n’acceptant 5V que sur son port USB, je compte couper un câble usb et connecter les fils correspondants pour l’alimenter.

Du coup, par rapport à ton schéma, ce que je constate comme différence c’est la manière dont tu alimentes ton moteur.
Tu n’as pas d’alimentation externe -de puissance- connectée sur ton L298N, donc c’est l’alimentation de l’ESP qui contrôle le moteur si je comprends bien ? Il est donc alimenté en 5V ?
N’est-ce que pas juste pour ce moteur ? (Si la photo correspond bien à celui que tu as installé évidemment.)
Je possède un moteur qui ressemble à celui sur ta photo et il est possible de l’alimenter en 12v.
Certes il fonctionne sous 6V et j’imagine moins mais n’as tu pas de perte de puissance en faisant ainsi ?

Ou alors il y a quelque chose que je n’ai pas compris :slight_smile:

Leor

Bonjour et merci pour le partage :slight_smile:
Est il possible d’enlever les détecteurs d’ouverture ?
J’aimerais le faire fonctionner avec un temps d’ouverture et un temps de fermeture avec un moteur nema 17 mais je n’y arrive pas au niveau du code …
Merci de pour vos retour et bonne journée :wink:

Bonjour à tous.
J’ai moi aussi attaqué ma porte de poulailler. J’ai reçu tous les composants et je me retrouve coincé avec l’alim du Nodemcu.
J’ai fais le même branchement que @LeorFinacre . J’ai récupéré un câble de chargeur que j’ai branché au 5V du l298.
Mais quand je branche le Nodemcu, je tombe à 3V à peine. Du coup j’aimerais bien savoir comment vous faites ?

Salut,

Quand tu dis que tu tombes à 3v c’est aux bornes de quel composant ?