Table of Contents
Premiers pas sur WIO ESP/Pico
- WIOpi Raspberry Pi 1…4 et Zero
- Prospectus WIO (DE-2019)
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 | 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 | x | |
RCAN/MBUS embarqué | x² | 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
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".
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) (1-200)* |
Valeur | la luminosité des LEDs | (1-255) |
Options | "Color" | |
Accessoire | non | |
Type | "LED" |
* Pico
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 | (1-64) (1-200)¹ |
Retard | s'estomper et disparaître | (0-15) |
Porte Sortie/Simple | Sélection de LEDs individuelles sur la puce² | r/g/b |
Si "Blink" est activé, les LEDs clignoteront. La fréquence est réglée via "Dim" dans l'onglet “Interface”.
¹ Pico
² Les réglages de luminosité, retard et clignotement sont appliqués pour toutes les LEDs, la luminosité peut être ajustée dans l'onglet Couleur.
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) (0-200) * |
Brightness | la luminosité des LEDs | (1-255) |
Control | "numéros d'aspect" | |
Type | "LED" | |
Dim | apparition/disparition optionnel | (0-50) |
* Pico
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".
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.
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é
Dans le Wiki Rocrail et sur le forum Rocrail quelques solutions WIO peuvent être trouvées:
Wiki: WIO G-Semaphore Signal
Wiki: G Servo Adapter
Forum: Das G-Fundament
Wiki: Plateforme WIO
Wiki: Drucktastenstellpult, ZBL, ...
Amusez-vous avec WIO et explorez d'autres possibilités.