Salut a tous,
Suite a mon post ici, je viens vous poster la manière pour coupler le matériel RFID RC522 (Disponible dans les kit arduino fourni avec deux badges ou vraiment peu cher) et l’ESP32 cam.
Matériels requis :
- ESP 32 CAM, (AliExpress)(Amazon)
- RC 522 (RFID) (AliExpress)(Amazon)
- FTDI USB To TTL (Pour le flash) (AliExpress)(Amazon)
- ESPHome version DEV
ESP 32 CAM.
Voici un vue de cette carte.
Seul les pins 2/4/12/13/14/15/16 sont disponibles pour vos projets, mais attention la pins 4 est réservé au flash intégré.
Si votre appareil a déjà était flashé une fois avec ESPhome alors passer l’étape du flash.
Le Flash.
Je ne vais pas mettre d’image pour le moment mais en gros vous reliez votre FTDI a votre ESP32 CAm comme ceci
FTDI → ESP32 Cam
5v → 5v
GND → GND
RX → U0R
TX → U0T
Une fois votre firmware compilé et récupéré (Article sur ESPHome)
Lancer votre logiciel de Flashage et au moment du flash appuyer sur le bouton RST qui vous permettra de passer en mode flash.
Branchement du module RC522 sur ESP32 Cam.
Un schéma vaut mieux que de long discours.
Comme dit dans la documentation ESPHome la pin RST du RC522 n’est pas obligatoire)
Fichier de configuration.
esphome:
name: poulailler
platform: ESP32
board: esp32cam
spi:
clk_pin: 15
miso_pin: 12
mosi_pin: 13
rc522_spi:
cs_pin: 14
update_interval: 1s
on_tag:
then:
- homeassistant.tag_scanned: !lambda 'return x;'
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_mdp
manual_ip:
static_ip: 192.168.10.200
gateway: 192.168.10.1
subnet: 255.255.255.0
# Enable fallback hotspot (captive portal) in case wifi connection fails
ap:
ssid: "Nodemcu Fallback Hotspot"
password: !secret ap_mdp
captive_portal:
# Enable logging
logger:
# Enable Home Assistant API
api:
ota:
esp32_camera:
name: camera
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
binary_sensor:
# statut
- platform: status
name: "Statut"
sensor:
# Qualité du signal
- platform: wifi_signal
name: "Signal Wifi"
update_interval: 60s
# Temps de fonctionnement
- platform: uptime
name: "Allumé depuis (s)"
id: uptime_sec
switch:
# Bouton de redémarrage
- platform: restart
name: "Redémarrage"
text_sensor:
- platform: template
name: "Allumé depuis (j)"
lambda: |-
int seconds = (id(uptime_sec).state);
int days = seconds / (24 * 3600);
seconds = seconds % (24 * 3600);
int hours = seconds / 3600;
seconds = seconds % 3600;
int minutes = seconds / 60;
seconds = seconds % 60;
return { (String(days) +"d " + String(hours) +"h " + String(minutes) +"m "+ String(seconds) +"s").c_str() };
icon: mdi:clock-start
update_interval: 60s
Ce code vous permet simplement d’envoyer le badge, dés qu’il est scanné, dans votre Home Assistant, ‹ Configuration ›, ‹ Balises ›. vous maintenant d’en faire ce que vous voulez.