Skip to content

Pascal-Linssen/esp32s3-8di8ro-controller

Repository files navigation

ESP32-S3-ETH-8DI-8RO Controller

ESP32-S3-ETH-8DI-8RO Controller

📋 Description

SYSTÈME OPÉRATIONNEL - Contrôleur industriel pour carte Waveshare ESP32-S3-ETH-8DI-8RO avec Ethernet, MQTT et contrôle de 8 relais + 8 entrées digitales.

✨ Fonctionnalités

✅ Opérationnelles

  • 🌐 Ethernet W5500 avec IP statique (192.168.1.50)
  • 🔌 8 Relais contrôlables via TCA9554 I2C (pins SDA=42, SCL=41)
  • 📥 8 Entrées digitales avec pull-up (pins 4-11, logique corrigée)
  • 📡 Interface MQTT pour Home Assistant avec authentification (pascal/123456)
  • 🏠 Broker Mosquitto : 192.168.1.200:1883
  • 🔧 Interface série interactive avec commandes complètes
  • 🌡️ Capteur DHT22 température/humidité (pin 1)
  • 🛠️ Système de diagnostic avancé avec mqtttest
  • 📊 Parsing JSON pour commandes MQTT modernes

🔄 En Attente (développement suspendu)

  • 💻 Interface Web responsive
  • ⚡ API REST pour intégration externe
  • 🏭 Modbus TCP pour intégration industrielle

🎮 Commandes Disponibles

help        - Affiche l'aide complète
status      - État du système complet
scan        - Scan des périphériques I2C
testio      - Test des entrées/sorties
pins        - Informations sur les pins
testpins    - Test différentes combinaisons I2C
relay X on  - Active le relais X (1-8)
relay X off - Désactive le relais X (1-8)

🌐 Interfaces Disponibles

Interface Web

  • URL : http://192.168.1.50
  • Contrôle visuel des 8 relais
  • Monitoring des 8 entrées digitales
  • Affichage température/humidité
  • Actualisation automatique toutes les 10s

MQTT

  • Broker : 192.168.1.200:1883 (pascal/123456)
  • Topics :
    • esp32s3/relay/cmd - Commandes relais JSON/simple
    • esp32s3/relay/status - États relais
    • esp32s3/sensor - Température, humidité, entrées
  • Formats supportés :
    • JSON : {"relay": 1, "state": "on"}
    • Simple : 1:ON
    • esp32s3/sensor - Données capteurs
    • esp32s3/status - État système

📌 Configuration Pins

Ethernet W5500

  • CS: Pin 16
  • RST: Pin 39
  • SCK: Pin 15
  • MISO: Pin 14
  • MOSI: Pin 13

TCA9554 I2C (Relais)

  • SDA: Pin 42 ⚡
  • SCL: Pin 41 ⚡

Entrées Digitales

  • IN1-8: Pins 4-11

DHT22

  • Data: Pin 40

🚀 Installation

Prérequis

# Bibliothèques PlatformIO
- Wire @ 2.0.0
- Ethernet @ 2.0.2
- TCA9554 @ 0.1.2+sha.79c8c0b
- DHT sensor library @ 1.4.6
- Adafruit Unified Sensor @ 1.1.15
- modbus-esp32 @ 4.1.0

Configuration PlatformIO

[env:esp32s3]
platform = espressif32
board = esp32-s3-devkitc-1
framework = arduino
monitor_speed = 9600
build_flags = 
    -DARDUINO_USB_CDC_ON_BOOT=1

Compilation et Upload

platformio run --target upload
platformio device monitor --port COM8 --baud 9600

💡 Utilisation

  1. Connexion série : 9600 bauds
  2. Test des relais : relay 1 on, relay 1 off
  3. État système : status
  4. Diagnostic I2C : scan
  5. Contrôle MQTT : Topics esp32s3/relay/cmd

Contrôle MQTT

# Avec Mosquitto clients
mosquitto_pub -h 192.168.1.200 -u pascal -P 123456 -t "esp32s3/relay/cmd" -m "1:ON"
mosquitto_pub -h 192.168.1.200 -u pascal -P 123456 -t "esp32s3/relay/cmd" -m "ALL:OFF"

🔍 Diagnostic

Vérifier l'I2C

scan

Résultat attendu : TCA9554 détecté à l'adresse 0x20

Test des entrées/sorties

testio

Informations sur les pins

pins

🎯 Résolution de Problèmes

TCA9554 non détecté

  • Vérifier les pins I2C : SDA=42, SCL=41
  • Scanner avec testpins pour tester d'autres combinaisons

Ethernet non fonctionnel

  • Vérifier la connexion du câble Ethernet
  • Pins W5500 configurés selon schéma Waveshare officiel

📊 État du Projet

Composant État Notes
TCA9554 Relais ✅ OK Pins officiels Waveshare
Entrées Digitales ✅ OK Pins 4-11 avec pull-up
Interface Série ✅ OK Commandes complètes
Diagnostic I2C ✅ OK Scan et test pins
Modbus TCP ✅ OK Port 502, registres configurés
Ethernet W5500 🔧 Config Nécessite connexion physique
DHT22 🔧 Config Pin 12 configuré

🏗️ Architecture

ESP32-S3-ETH-8DI-8RO
├── TCA9554 (I2C 0x20) → 8 Relais
├── Entrées digitales → Pins 4-11  
├── W5500 (SPI) → Ethernet
├── Modbus TCP → Port 502 (Coils 0-7, Inputs 10000-10007)
├── DHT22 → Pin 12
└── Interface série → Diagnostic

🤝 Contribution

Développé avec la découverte des pins officiels Waveshare via leur démo Arduino.

📜 Licence

Projet libre d'utilisation pour applications industrielles et éducatives.


Version: 1.0 - TCA9554 Fonctionnel
Carte: Waveshare ESP32-S3-ETH-8DI-8RO
Framework: Arduino/PlatformIO

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published