81
Présentez vous ! / Hello
« Dernier message par lady-br20 le mai 13, 2025, 02:07:34 pm »Je suis nouvelle sur ce forum et je débute avec Arduino. Je vis dans la région de Gironde.
Le forum LOCODUINO est consacré aux discussions ayant trait à l'utilisation de l'Arduino dans les automatismes et les animations pour le train miniature. Nous avons eu récemment quelques inscriptions de personnes ayant des projets plus généraux mais surtout inapplicables au train miniature. Si votre projet ou vos questions ne concernent pas le modélisme ferroviaire, ne vous inscrivez pas, vous perdriez votre temps et nous aussi.
J'imagine qu'il faut reprendre le schéma de l'article "Détection RailCom© avec ESP32 (ou Arduino)" ?
On peut intégrer directement un ESP32 sur la carte (1 ESP32 correspond à 1 détecteur avec ce sketch) ?
Sur quelle broche UART doit être connectée la sortie Railcom avec ce sketch ?
/*
Programme de test pour envoi d'une adresse Railcom à Rocrail
christophe.bobille 05/2025 - LOCODUINO - www.locoduino.org
*/
#include <WiFi.h>
#include <WiFiClient.h>
// === Configuration Wi-Fi ===
const char* ssid = "SSID";
const char* password = "PASSWORD";
// Adresse de Rocrail
const char* serverIP = "192.168.xxx.xxx"; // IP du PC avec Rocrail
const uint16_t serverPort = 8051; // Port LAN configuré dans Rocrail
WiFiClient client;
void sendFB(const char* fbMsg) {
String header = String("<xmlh><xml size="") + String(strlen(fbMsg)) + ""/></xmlh>";
String fullMessage = header + String(fbMsg);
client.print(fullMessage);
Serial.println("Message envoyé :");
Serial.println(fullMessage);
}
void setup() {
Serial.begin(115200);
delay(500);
// === Connexion Wi-Fi ===
Serial.print("Connexion à : ");
Serial.println(ssid);
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println("\nWi-Fi connecté !");
Serial.print("Adresse IP : ");
Serial.println(WiFi.localIP());
// === Connexion à Rocrail ===
Serial.print("Connexion à Rocrail : ");
Serial.print(serverIP);
Serial.print(":");
Serial.println(serverPort);
if (client.connect(serverIP, serverPort)) {
Serial.println("Connexion TCP OK");
// Activation du capteur avec RailCom
const char* msgOn = "<fb id="sb2e" identifier="78" state="true" bididir="1" actor="user"/>";
sendFB(msgOn);
delay(2000); // 2 secondes
// Désactivation du capteur
const char* msgOff = "<fb id="sb1e" identifier="0" state="false"/>";
sendFB(msgOff);
client.stop();
Serial.println("Connexion fermée");
} else {
Serial.println("Connexion échouée");
}
}
void loop() {}
// === Configuration Wi-Fi ===
const char* ssid = "SSID";
const char* password = "PASSWORD";
const char* serverIP = "192.168.yyy.yyy"; // IP du PC avec Rocrail
const uint16_t serverPort = 8051; // Port LAN configuré dans Rocrail
const char* msgOn = "<fb id="sb1e" identifier="78" state="true" bididir="1" actor="user"/>";