User Tools

Site Tools


wio:firststeps-fr

Version allemandeVersion anglaiseVersion française

Premiers pas sur WIO ESP/Pico

Introduction

WIO est l'abréviation de Wireless I/O (E/S sans fil).

Sur la base de petites cartes à microcontrôleur (également à piles) les solutions matérielles peuvent être construites pour de nombreuses tâches de modélisme ferroviaire. La famille de matériel GCA peut être utilisé pour des tâches plus importantes. Si aucune connexion de données filaire n'est possible, les mises à jour logiciel peuvent être emportées via OTA (Over The Air=A travers les airs). Les fichiers de configuration peuvent être mis à jour à tout moment à l'aide d'un navigateur web.

UIO peut également être utilisé pour des microcontrôleurs sans WLAN (par exemple d'anciens Arduinos); le trafic de données s'effectue alors via une interface USB. Voir également WIOhub.

Avec l'aide des modules WIO, presque toutes les tâches de contrôle et de retour d'information pour le modélisme ferroviaire peuvent être couvertes:

  • Sorties pour LED ou relais avec optocoupleur
  • Entrées pour retour d'information, par exemple barrières lumineuse et détecteurs d'occupation
  • Servos
  • Moteurs pas à pas
  • RFID
  • NeoPixel RGB LED
  • Afficheurs par exemple afficheur OLED I2C 128 x 32/64 pixels
  • Charlyplexing pour signaux (multiplexage)
  • Générateur de signaux DCC
  • Manette pour locomotive
  • Sons


Pour des processus plus complexes, les scripts pour le démarrage avec Crontab, pour les sorties IOScript et pour NeoPixel LEDScript peuvent être créés, qui seront ensuite exécutés sur le WIO.

Matériel

Il y a deux plateformes matériel pour WIO:
- les microcontrôleurs de Espressif ESP8266, ESP32 et
- le RP2040(Pico W) de la fondation Raspberry Pi.

Microcontrôleurs supportés par le forum Rocrail

  • ESP8266 D1 Mini
  • ESP32 D1 Mini
  • LOLIN D32 V1.0.0
  • Raspberry Pi Pico W RP2040


Espressif Fondation_Raspberry_Pi
ESP8266 ESP32 RP2040(Pico W)
D1 Mini avec ESP8266-12F ESP32 D1 Mini Raspberry Pi Pico W RP2040
16 broches (2 x 20) 40 broches 40 broches
34,0 x 25,0 x 6,0 mm 39,0 x 31,0 x 4,9 mm 21,0 x 51,0 mm
9 E/S; UART, GPIO, ADC, PWM, SPI, I2C 15 E/S; UART, GPIO, SPI, I2C, I2S, CAN 26 E/S; UART, GPIO, SPI, I2C
802.11b/g/n (2,4GHz) 802.11b/g/n (2,4GHz) 802.11b/g/n (2,4GHz)
LOLIN D32 V1.0.0
32 broches
X x Y x Z mm
23 I/O; UART, GPIO, SPI, I2C
802.11b/g/n (2,4GHz)


Cartes GCA pour WIO

Ces cartes et kits sont disponibles à partir de GCA pour les modules WIO. GCA contient également une bonne vue d'ensemble de la famille WIO.

Fonction WIO-01 WIO-02 WIO-03 WIOpico
puce Lolin D1 ESP8266 Lolin D32 ESP32 D1 Mini Pico W
16 E/S embarqués x x
32 E/S avec MCP23017 x x
4 servos embarqués x x x seulement 12 E/S x
2x RFID avec RC522 x x
2x afficheurs embarqués via I2C;
16 afficheurs avec multiplexage (en) I2C.
x x x x
Railcom via GCA214 x
NeoPixel
une alimentation externe peut être nécessaire.
x 64/192 embarqué x 64/192 embarqué x 64/192 embarqué x 200/600 embarqué
Stepper sur la carte pilote x x seulement 12 E/S x seulement 12 E/S
Connecteur I2C embarqué;
possibilité avec un amplificateur de signal.
x x x x
4x charlyplexing embarqués avec 3.3 volts;
5 volts avec changement de niveau
x
pas de NeoPixel
x
pas de NeoPixel
Détecteur de batterie Lipo
voir les schémas pour les cartes respectives
x x
DCC;
via pont en H
x x
RCAN/MBUS embarqué x
Son embarqué x

¹ comme le pilote_WIO, WIO_Boost et le WIO-VC-1
² comme le WIO_CAN interface WiFi MBUS/RCAN pour la MS2 track box.
³ seulement l' ID-12LA

L'affectation des broches des cartes respectives peut être trouvée ici :


Logiciel

ESP - Installation du logiciel

Dépendant du système d'exploitation et des compétences de l'utilisateur, il y a plusieurs chemins pour transférer le logiciel WIO dans un ESP.
Cette description est adaptée pour tous les systèmes d'exploitation et demande le moins de connaissances possible.

Les utilisateurs du Raspberry Pico W peut s'asseoir et aller directement là Raspberry Pi Pico W - Installation du logiciel.

Le logiciel WIO est transféré à l'ESP en deux étapes:
- premièrement le Sketch OTA Sketch (Logiciel OTA) (Over-The-Air) est transféré à l'ESP et
- alors l'installation proprement dite du logiciel WIO a lieu.

Pour charger le sketch OTA, nous avons besoin de l'IDE Arduino IDE sur un ordinateur; cela peut être téléchargé ici pour le système d'exploitation correspondant (Windows, macOS, LINUX, …).

Après l'installation, le "board administrators" pour les ESP doit être ajouté à partir de "File / Settings",



La suite doit être entrée dans le champ "Additional board manager URLs".


https://arduino.esp8266.com/stable/package_esp8266com_index.json
https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json


Maintenant les propriétés de la carte pour l'ESP8266 et l'ESP32 doivent être ajoutées à "Tools / Board:" en cliquant sur "Board Management".



Maintenant les données pour les nouvelles cartes seront téléchargées par l'IDE Arduino en premier; cela peut prendre quelques minutes.
La progression est affichée dans le coin inférieur droit.

Une fois ceci terminé, l'ESP8266 et l'ESP32 peuvent être ajoutés aux cartes.
Cherchez "8266" et cliquez sur "INSTALL".


Répétez cela avec l'"esp32".

Avec cela, la configuration de base de l'IDE Arduino IDE est terminée.

ESP - Transférer le Sketch OTA

D'abord le fichier compressé "WPS-OTA-Sketch" est téléchargé, décompressez le et alors le fichier "RROTA.ino" sera ouvert par un double clic.

Confirmez la question:
- "Le fichier "RROTA.ino" doit être dans un dossier de sketch appelé "RROTA". Voulez-vous créer le dossier, déplacez le fichier et alors continuez?"
Par OK.

Les lignes 1,2 et 4 nécessitent d'être ajustées:

#define WIFI_SSID "MYWLAN" // Accesspoint name
#define WIFI_PWD "topsecret" // Password
#define WIFI_HOSTNAME "RROTA" // ESP hostname
#define WIFI_WPS false // true or false for ESP8266 for using WPS

Entrez le SSID du WLAN (WiFi) à la ligne 1.
Entrez le mot de passe associé à la ligne 2.
Désactiver WPS changez true à false à la ligne 4. *

En option, WPS peut être utilisé pour l'ESP8266, pour cela laisser la ligne 4 réglée à "true".
Cependant, cela peut aussi entraîner des problèmes, la recommandation est donc de remplacer la ligne 4 par "false" et entrer la donnée sur les lignes 1 + 2.

Veuillez noter!
Le nom du SSID et le mot de passe, sans espaces, pour utiliser la connexion WiFi.
La longueur maximale est de 32 caractères incluant la terminaison zéro.
:!: Seulement 7 bit ASCII est pris en charge.

À "Tools / Board: / esp32 /" sélectionner la carte utilisée (dans cet exemple la "ESP32 D1 Mini").
(Pour l'"esp8266" utiliser "Tools / Board: / esp8266 /" et sélectionner "LOLIN(WEMOS)D1 R2 & mini").



Maintenant connecter l'ESP avec un câble USB-data à l'ordinateur.
Le port USB doit maintenant être sélectionné dans l'IDE Arduino; avec Linux c'est généralement "/dev/ttyUSB0".
Avec MS Windows vérifier le gestionnaire de périphérique.
Avec macOS cela devrait être "/dev/cu.usbserial-110".



Maintenant utiliser le bouton de droite avec la flèche en haut à gauche pour compiler et téléverser le sketch.

Après avoir téléverser le sketch, ouvrir le "Moniteur série" avec un débit en bauds de 115200.
Si tout a été réussi, ce qui suit va apparaître:

WiFi waiting to connect: MYWLAN...
WiFi connected to MYWLAN
setup OTA...192.168.0.109

L'ESP est maintenant en mode OTA.

Transférer le logiciel ESP-WIO avec Rocview

Premièrement, le fichier BIN pour l'ESP utilisé peut être trouvé à Daily & Regular Builds à "RaspberryPi / WIO".
Dans cette exemple, le fichier "WIO ESP32 D1 Mini32" est utilisé et sauvegardé sur l'ordinateur.

Démarrer Rocrail, ouvrir la fenêtre de dialogue et sélectionner l'onglet "Update". Avec le bouton "Binary WIO file:" ouvrir le fichier BIN venant juste d'être téléchargé.
Entrer l'adresse IP du moniteur de l'IDE Arduino dans le champ "IP" et remplir le champ "Port", dans cet exemple entrer "3232" pour la carte ESP32.
Maintenant cliquer sur "Start OTA"; le fichier BIN sera transféré vers l'ESP. Si "9999 OTA: OK [OK]" apparaît dans la fenêtre du serveur, le transfert a été couronné de succès.



Fermer l'IDE Arduino, ou au moins fermer le moniteur série, cela empêchera toute autre configuration.

Raspberry Pi Pico W - Installation du logiciel

(Les utilisateur d'ESP peuvent lire ceci brièvement, mais ce n'est pas pertinent pour eux.)

Appuyer sur le bouton Pico W's "BOOTSEL" et connecter le Pico W à l'ordinateur avec un câble USB-data.

Le Pico W apparaît comme un support de stockage sur l'ordinateur et est afficher avec l'identifiant "RPI-RP2".

Télécharger le fichier "WIO Pico-W USB" à partir de Daily & Regular Builds et sauvegardé le sur le Pico W.
Le Pico W redémarrera alors et ne sera plus visible en tant que lecteur.

Le Pico W est maintenant chargé avec le logiciel WIO et peut être configuré davantage.

Connecter WIO à Rocrail

Aller à l'onglet "Maintenance" dans la fenêtre de dialogue WIO Rocrail.

Le WIO connecté à l'ordinateur avec Rocview est reconnu à partir du bouton "Scan devices".

Quand "Connect" est cliqué, quelque chose de similaire doit apparaître dans la fenêtre de la boite de dialogue:

Rocrail - Model Railroad Software
Copyright (c) 2002-2022 Robert Jan Versluis, Rocrail.net
All rights reserved.
WIO 664
.......

Les SSIDs WLAN existants sont maintenant affichés à "WLAN" via "Search".
Sélectionner le WLAN et entrer le mot de passe pour ce WLAN. La connexion est établie à partir du bouton "Set".

Veuillez noter!
Le nom SSID et le mot de passe, sans espaces, à utiliser pour la connexion WiFi.
La longueur maximale est de 32 caractères incluant la terminaison zéro.
:!: Seulement 7 bit ASCII est supporté.


Le WIO devrait maintenant être connecté au serveur Rocrail et devrait apparaître dans l'onglet "Query". Sinon il faudra appuyer sur le bouton  "Query".

Une autre possibilité est d'entrer manuellement l'adresse IP du "Server"dans l'onglet "Maintenance". Dans ce cas, la coche de la case à cocher "Automatic" devra également être retirée.


Avec cela, la configuration initiale est terminée.

Configuration WIO

Configurer WIO comme un Contrôleur

Ajouter WIO à partir de "Fichier / Propriétés Rocrail" dans l'onglet "Centrale" et fermer la fenêtre de dialogue avec "OK".



Redémarrer alors Rocrail.

Réglages de base

Au début, les réglages suivants devront être fait à partir de la fenêtre de dialogue WIO à l'onglet "Query":

Premièrement changer l'identifiant (ID) du WIO; l'identifiant par DÉFAUT pour les WIOs nouvellement mis en place est 33. Si cela n'est pas changé, aucun autre WIO ne pourra être ajouté.

Maintenant le nom peut être changé; cela est utilisé pour l'identification à travers le réseau et dans les fenêtres de dialogue Rocrail. L'identifiant (ID) est utilisé pour le contrôle actuel. La longueur maximale pour le nom est de 8 caractères.

Les changements sont sauvegardés avec le bouton "Set".



Régler le type de WIO

Le type de WIO doit maintenant être défini pour les ESPs. Cette documentation est limitée au types "LED", "Servo" et "I/O16". D'autres types de WIO peuvent être trouvés dans le wiki: WIO - Set - Type.

Rien ne doit être réglé sur le Raspbery Pi Pico W, car il n'est disponible qu'en type "I/O16".

Dans cet exemple, le type WIO "I/O16" est réglé pour l'"ESP32 D1 mini".
Les autres paramètres ne sont pas nécessaire parce que le type WIO "I/O16" détermine automatiquement le type réel basé sur la première commande après le redémarrage.

Avec WIO-01 et WIO-02 il faut définir si "Servo" ou NeoPixel "LED"s (WS2812,WS2811) doit être contrôlé avec le WIO.

Le type WIO est sauvegardé en utilisant le bouton "Set".

Configurer les entrées/sorties


Sélectionner le WIO à être configuré dans le fenêtre de dialogue WIO et basculer vers l'onglet "Settings".



Sur la gauche se trouve le port de configuration (Port Configuration):



L'utilisation des broches entrée/sortie d'un WIO peuvent être définies ici; il y a 4 options disponibles:

  • "i" entrée / entrée
  • "o" sortie / sortie
  • "p" impulsions / sortie avec extinction par exemple pour les articles magnétiques
  • "b" bloc / entrée anti-rebond pour les retours tels que les rails de contact, barrières lumineuses, ….
  • Invert (o,p) inversion des sorties; l'état par défaut d'une sortie est "Bas" (moins); quand activé, ce changement à l'arrêt est "haut" (+ 3.3 volts).


Les 8 premières des 16-32 E/S peuvent seulement être vues. Les touches flèches dans la zone inférieure peuvent être utilisées pour basculer vers les autres E/S.
Attention: sauvegarder tout changement avec le bouton "Set" avant de quiter les 8 E/S actuelles.

Utilisation de WIO

Sortie Rocrail avec WIO

Dans l'exemple suivant, la première sortie du WIO est réglée avec l'identifiant WIO 1.
Dans le plan Rocrail, faite un clic droit sur le symbole de sortie pour ouvrir les réglages et basculer sur l'onglet "Interface".



Sélectionner "WIO" pour l'identifiant d'interface, entrer l'identifiant du WIO dans cet exemple"1" dans "Node ID" et entrer également le "1" dans le champ "Address" pour la première broche de sortie.

Détecteurs Rocrail par WIO

Dans cet exemple, le capteur est connecté au port 3 du WIO-ID 1; la configuration de ce port est réglée à "b" = "bloc".


Cependant, il est plus facile de faire le réglage à partir du Moniteur de détecteurs:
- cliquer sur "Delete all" dans le moniteur de détecteurs,
- déclencher le capteur.



- glisser et déposer l'entrée dans le capteur Rocrail,
- la capteur Rocrail est alors configuré comme à la suite.

Articles magnétiques par WIO

Un article magnétique peut être un signal sémaphore ou un point (commutateur, aiguillage, …).
Dans cet exemple les numéros de port 4 et 5 sont utilisés.
En premier la "Configuration" doit être réglée à p = "Pulse" dans la fenêtre de dialogue WIO. Par conséquent, la sortie s'éteint à nouveau; la durée est réglée à 500 ms ("Pulse" = 50 x 10 ms correspond à 500 ms). Cela devrait empêcher la bobine de brûler.



Dans les réglages du signal Rocrail dans l'onglet interface, sélectionner l'identifiant d'interface "WIO", entrer l'identifiant du WIO, entrer l'adresse 4 pour ROUGE et activer "Switch" comme type.
Il n'y a pas besoin d'entrer la seconde adresse; l'adresse IO suivante (5) est utilisée.



La procédure est identique pour un point (commutateur, aiguillage, …).

Signaux lumineux par WIO

Signal principal allemand
HP0 stop feux rouge
HP1 passer feux vert
HP2 ralentir feux vert + jaune

Dans cet exemple les ports 6, 7 et 8 sont utilisés pour le signal lumineux 3 aspects. Ils doivent être définis comme o="Output".



Entrer les adresses 6, 7 et 8 dans les réglages pour RED, GREEN et YELLOW.
Invert doit être activé pour les signaux avec une anode commune.


Pour être capable d'afficher HP2 ("ralentir", vert/jaune, …), "Aspect numbers" doit être activé dans "Interface / Contrôle". Ce n'est pas nécessaire pour un signal avec 2 aspects.
Ouvrir l'onglet "Details" pour les paramètres supplémentaires de HP2. Entrer "Aspect numbers" ici.
RED = 0, GREEN = 1 et YELLOW = 2


À "Patterns / Aspects" cliquer sur le champ "value" avec les 3 points de suspension "…" derrière le champ "Number".

Quand RED régler LED 2 à "On" Si vert, régler LED 1 à "On" Régler YELLOW LED 1+3 à "On"

Info:
WIO supporte également Charlieplexing pour les signaux Viessmann multiplexés.

NeoPixel par WIO

Un WIO peut piloter jusqu'à 64 (128 PicoW) LEDS RGB NeoPixel WS2812/WS2811, qui peut être utilisé pour les signaux, l'éclairage normal et ainsi de suite.
Utilisant le GCA WIO-01 et le WIO-02, Le type "LED" doit être activé.

Configurer une sortie Rocrail

Faire les réglages suivants dans l'onglet “Interface”:

Sortie / Interface
champ valeur plage
Identifiant Interface "WIO"
Identifiant du nœud le numéro d'identifiant WIO
Adresse numéro d'index des LEDs du WS2812/2811 (1-64)
Valeur la luminosité des LEDs (1-255)
Options "Color"
Accessoire non
Type "LED"


Faire les réglages suivants de l'onglet "Couleur":

Sortie / Couleur / RGB
champ RGB "WS 2812" GRB "WS 2811" plage
rouge couleur rouge couleur verte (0-255)
vert couleur verte couleur rouge (0-255)
bleu couleur bleue couleur bleue (0-255)

"Type" = "RGB" pour le protocole "WS 2812" ou
"Type" = "GRB" pour le protocole "WS 2811".


Les options supplémentaires dans l'onglet "Interface":

Sortie / Interface
champ valeur plage
Paramètre activé nombre de LEDs consécutives (0-64)
Retard s'estomper et disparaître (0-15)

Si "Blink" est activé, les LEDs clignoteront. La fréquence est réglée via "Dim" dans l'onglet “Interface”.

Réglages des signaux NeoPixel

Le réglage pour les cartes WS2811 est expliqué ci-dessous.
Il est important de noter que le rouge et le vert sont permutées dans le protocole WS2811.
Donc: Rouge est Vert, Vert est Rouge et Jaune est Bleu sur la puce.

WS2811-R WS2811-G WS2811-B
LED verte LED rouge LED jaune


Faire les réglages suivants dans l'onglet "Interface":

Signal / Interface
champ valeur plage
Interface ID "WIO"
Node ID le numéro d'identifiant WIO
Address numéro d'index des LEDs WS2812/2811 (1-64)
Brightness la luminosité des LEDs (1-255)
Control "numéros d'aspect"
Type "LED"
Dim apparition/disparition optionnel (0-50)



Dans l'onglet "Détails", procéder comme suit pour un signal avec 3 aspects:

  • Premièrement remplissez le champ "Number" avec les valeurs 0, 1 et 2


À "Patterns / Aspects" cliquez sur le champ "Value" avec 3 points de suspension "…" derrière le champ "Number".

Patterns/Aspects
valeur d'aspect:
LED 1 LED 2 LED 3 Signaux principaux allemand
RED A1 off ON off HP0 (stop; feux rouge)
GREEN A2 ON off off HP1 (passer; feux vert)
YELLOW A3 ON off ON HP2 (ralentir; feux vert + jaune)
HP0 HP1 HP2
Quand il est ROUGE régler la LED 2 à "On" Si vert, régler la LED 1 à "On" Régler la LED JAUNE 1+3 à "On"

Si "Blink" est activé, les LEDs clignoteront. La fréquence est réglée via "Dim" dans l'onglet “Interface”.


Pour construire un signal avec plus de 3 LEDs ajoutez un autre WS2811 à la configuration et continuez avec les LEDs 4, 5 et 6 dans la valeur d'aspect.
Les sorties à partir de la carte WS2811 suivante sont alors utilisées.
Veuillez noter: même si seulement une LED supplémentaire (No. 4) est connectée, il n'est pas possible d'utiliser les sorties LED inutilisées (5 et 6) pour quelque chose d'autre.

Motifs/Aspects
Valeur d'aspect:
LED 1 LED 2 LED 3 LED 4 LED 5 LED 6 Signal lumineux allemand
ROUGE A1 off ON off off - - HP0 (stop; feux rouge)
VERT A2 ON off off off - - HP1 (passer; feux vert)
JAUNE A3 ON off ON off - - HP2 (ralentir; feux vert + jaune)
BLANC A4 off ON off ON - - HP0/SH1 (manœuvre; feux rouge + blanc)
WS2811 #1 WS2811 #2
HP0 HP1 HP2 HP0/SH1
Quand il est ROUGE réglez la LED 2 à "On" Si vert, réglez la LED 1 à "On" Réglez la LED JAUNE 1+3 à "On" SI rouge+blanc, réglez la LED 2 et 4 à "On"

Si "Blink" est activé, les LEDs clignoteront. La fréquence est réglée via "Dim" dans l'onglet “Interface”.

Configuration des servomoteurs

Avec WIO, jusqu'à 4 servomoteurs embarqués peuvent être contrôlés; cela peut être fait à partir des objets "sortie", "aiguillage", "signal" et "pont tournant".
Avec le GCA WIO-01 et WIO-02, le type "Servo" doit être activé pour cela.
Avec l'ESP32 du type "I/O16" les adresses E/S 1 à 4 sont omises, car celles-ci sont utilisées pour contrôler les servos.

Dans cet exemple, le réglage est expliqué en utilisant l'objet "Aiguillage", les différents champs pour "Sortie", "Signal" et "Pont tournant" peuvent être trouvés ici adressage des objets servomoteur.

Entrez l'identifiant d'interface "WIO" et l'identifiant du nœud du WIO dans l'interface de l'aiguillage.
Indiquez le numéro du servomoteur (1 à 4) dans le champ "Adresse".
La première et la deuxième position du servomoteur sont réglées dans les champs "Paramètre" et "Valeur".
La vitesse (1 à 10) peut être réglée dans le champ "Switch time".
Désactivez l'option "Accessoires" et sélectionnez le type = "Servo".



Une fenêtre pour le réglage du servomoteur peut être appelée à partir du bouton élément avec les 3 points de suspension à droite du champ "Valeur".
Cet élément est seulement disponible pour le type "Aiguillage".

Finalité

wio/firststeps-fr.txt · Last modified: 2024/06/05 17:19 by phil45