Simulateur de Télé-Information Client (TIC) Linky pour ESP32-C3, supportant les modes Historique (1200 baud) et Standard (9600 baud), avec interface web de configuration et mode producteur (injection solaire).
- Mode TIC Historique — 1200 baud, 7E1, format ERDF-NOI-CPT_02E (compteur Bleu CBEMM ICC)
- Mode TIC Standard — 9600 baud, 7E1, format Enedis-NOI-CPT_54E (compteur Linky)
- Interface web de configuration avec deux onglets dédiés (Historique / Standard)
- Contrôle Start/Stop de l'émission série depuis la page web
- Mode producteur optionnel en TIC Standard (EAIT, ERQ1-4, SINSTI, SMAXIN, CCAIN)
- Bouton BOOT physique pour incrémenter IINST par pas de 5A (0→50A)
- LED RGB : verte pendant émission historique, bleue pendant émission standard, éteinte en pause
- Pause automatique de l'émission série pendant le traitement web (meilleure réactivité)
- Checksum TIC calculé et vérifié conformément aux spécifications officielles
| Composant | Référence |
|---|---|
| Microcontrôleur | ESP32-C3 DevKitM-1 |
| LED RGB | NeoPixel WS2812B intégrée GPIO8 |
| Bouton | BOOT GPIO9 (intégré) |
| Port TIC | HardwareSerial(1) — RX=GPIO18, TX=GPIO19 |
ESP32-C3 GPIO19 (TX1) ──────► Récepteur TIC (RX)
ESP32-C3 GND ──────► Récepteur TIC (GND)
Note : Câblage direct fil à fil entre deux ESP32 (pas d'optocoupleur nécessaire pour un simulateur de développement). Sur un vrai compteur Linky, la sortie TIC passe par un optocoupleur qui isole galvaniquement le circuit.
Modifier dans src/linky_sim_v2.ino :
const char* ssid = "votre_ssid";
const char* password = "votre_password";
IPAddress local_IP(192, 168, 1, 150); // IP fixe du simulateur
IPAddress gateway(192, 168, 1, 1); // Passerelle
IPAddress subnet(255, 255, 255, 0);
IPAddress dns(8, 8, 8, 8);- Installer le support ESP32 via le Gestionnaire de cartes :
- URL :
https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json
- URL :
- Sélectionner la carte : ESP32C3 Dev Module
- Ouvrir
src/linky_sim_v2.ino - Modifier les paramètres WiFi
- Compiler et téléverser
| Paramètre | Valeur |
|---|---|
| Board | ESP32C3 Dev Module |
| Upload Speed | 921600 |
| Flash Size | 4MB |
| Partition Scheme | Default |
- Alimenter l'ESP32-C3
- Accéder à l'interface web :
http://192.168.1.150 - Choisir l'onglet Historique ou Standard
- Configurer les valeurs souhaitées
- Cliquer 💾 Envoyer & Démarrer — l'émission TIC démarre automatiquement
- Le bouton ⏹ Arrêter stoppe l'émission à tout moment (la page web reste accessible)
Conforme à la spécification ERDF-NOI-CPT_02E v4 — Compteur Bleu électronique monophasé multitarif (CBEMM évolution ICC).
| Étiquette | Description | Nb car. |
|---|---|---|
| ADCO | Adresse compteur | 12 |
| OPTARIF | Option tarifaire (HC.. / BASE / EJP. / BBRx) | 4 |
| ISOUSC | Intensité souscrite (A) | 2 |
| BASE | Index option Base (Wh) | 9 |
| HCHC | Index HC Heures Creuses (Wh) | 9 |
| HCHP | Index HC Heures Pleines (Wh) | 9 |
| EJPHN | Index EJP Heures Normales (Wh) | 9 |
| EJPHPM | Index EJP Heures Pointe Mobile (Wh) | 9 |
| BBRHCJB..BBRHPJR | Index Tempo (6 registres, Wh) | 9 |
| PEJP | Préavis début EJP (min) | 2 |
| PTEC | Période tarifaire en cours | 4 |
| DEMAIN | Couleur du lendemain | 4 |
| IINST | Intensité instantanée (A) | 3 |
| ADPS | Avertissement dépassement puissance (A) | 3 |
| IMAX | Intensité maximale appelée (A) | 3 |
| PAPP | Puissance apparente (VA) | 5 |
| HHPHC | Horaire HP/HC | 1 |
| MOTDETAT | Mot d'état compteur | 6 |
STX
LF <étiquette> SP <valeur> SP <checksum> CR
...
ETX
- Vitesse : 1200 baud
- Format : 7 bits, parité paire, 1 bit stop (7E1)
- Checksum : somme des octets de
"étiquette valeur ",& 0x3F + 0x20 - Intervalle entre trames : 1500 ms
Conforme à la spécification Enedis-NOI-CPT_54E v3 — Compteur Linky monophasé.
| Étiquette | Description | Nb car. | Horodaté |
|---|---|---|---|
| ADSC | Adresse secondaire compteur | 12 | |
| VTIC | Version TIC | 2 | |
| DATE | Date/heure courante | 0 | ✓ fixe |
| NGTF | Nom calendrier tarifaire | 16 | |
| LTARF | Libellé tarif en cours | 16 | |
| EAST | Energie active soutirée totale (Wh) | 9 | |
| EASF01..10 | Index fournisseur 1 à 10 (Wh) | 9 | |
| EASD01..04 | Index distributeur 1 à 4 (Wh) | 9 | |
| IRMS1 | Courant efficace phase 1 (A) | 3 | |
| URMS1 | Tension efficace phase 1 (V) | 3 | |
| PREF | Puissance app. référence (kVA) | 2 | |
| PCOUP | Puissance app. coupure (kVA) | 2 | |
| SINSTS | Puissance app. inst. soutirée (VA) | 5 | |
| SMAXSN | Puissance app. max soutirée n (VA) | 5 | ✓ fixe |
| SMAXSN-1 | Puissance app. max soutirée n-1 (VA) | 5 | ✓ fixe |
| CCASN | Point n courbe charge soutirée (W) | 5 | ✓ fixe |
| CCASN-1 | Point n-1 courbe charge soutirée (W) | 5 | ✓ fixe |
| UMOY1 | Tension moyenne phase 1 (V) | 3 | ✓ fixe |
| STGE | Registre de statuts | 8 | |
| DPM1..3 / FPM1..3 | Début/Fin pointe mobile 1-3 | 2 | ✓ fixe |
| MSG1 | Message court | 32 | |
| MSG2 | Message ultra court | 16 | |
| PRM | PRM | 14 | |
| RELAIS | Relais | 3 | |
| NTARF | Numéro index tarifaire en cours | 2 | |
| NJOURF / NJOURF+1 | Numéro jour calendrier | 2 | |
| PJOURF+1 | Profil prochain jour calendrier | 98 | |
| PPOINTE | Profil prochain jour de pointe | 98 |
| Étiquette | Description | Nb car. |
|---|---|---|
| EAIT | Energie active injectée totale (Wh) | 9 |
| ERQ1..4 | Energie réactive Q1 à Q4 (VArh) | 9 |
| SINSTI | Puissance app. inst. injectée (VA) | 5 |
| SMAXIN / SMAXIN-1 | Puissance app. max injectée n/n-1 (VA) | 5 |
| CCAIN / CCAIN-1 | Point n/n-1 courbe charge injectée (W) | 5 |
STX
LF <étiquette> HT [horodate HT] <valeur> HT <checksum> CR
...
ETX
- Vitesse : 9600 baud
- Format : 7 bits, parité paire, 1 bit stop (7E1)
- Séparateur : 0x09 (tabulation HT)
- Horodate fixe :
H081225223518(hiver, 25/12/2008 22:35:18) - Checksum : même algorithme que le mode historique
- Intervalle entre trames : 500 ms
esp32-linky-simulator/
├── src/
│ └── linky_sim_v2.ino # Code source principal
├── hardware/
│ └── pinout.md # Mapping des GPIO
├── docs/
│ ├── ERDF-NOI-CPT_02E.pdf # Spec TIC Historique (ERDF 2010)
│ └── Enedis-NOI-CPT_54E.pdf # Spec TIC Standard (Enedis 2018)
├── README.md
├── CHANGELOG.md
└── LICENSE
- ERDF-NOI-CPT_02E v4 — Sorties TIC compteurs électroniques ERDF (2010)
- Enedis-NOI-CPT_54E v3 — Sorties TIC compteurs Linky (2018)
MIT — voir LICENSE
Projet Papymakers — support@papymakers.com
- Bug / question technique → ouvrir une Issue
- Discussions générales → onglet Discussions
- Contact → support@papymakers.com
Projet Papymakers — support@papymakers.com