User Tools

Site Tools


wio:wiopi-fr

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
wio:wiopi-fr [2021/01/27 17:52] – [Définitions des broches utilisateur] phil45wio:wiopi-fr [2023/11/03 10:14] (current) phil45
Line 1: Line 1:
-====== WIOpi ====== 
 [[:france|{{ :hardware.png}}]][[:france|{{ :rocrail-logo-35.png}}]] [[:france|{{ :hardware.png}}]][[:france|{{ :rocrail-logo-35.png}}]]
-  * [[:wio:overview-fr|Vue d'ensemble WIO]] [[:arduino:wio-setup-fr|Configuration WIO]] | [[:arduino:wioctrl-fr|Contrôle WIO]] | [[:arduino:amp-fr|Bitmaps utilisateur]] | [[:arduino:wio-fr|Firmware WIO]] | [[:arduino:wio-cam-fr|CAM WIO]] | [[:arduino:wio-mobile-fr|WIO Mobile]] | [[:arduino:wio-cable-fr|Câble]] | [[:wio:wio-ledscript-fr|LEDScript]] | **[[:wio:wiopi-fr|WIOpi]]** +====== WIOpi ====== 
-    * [[:wio:wiopi-01-fr|WIOpi-01]]+[[:wio:overview-fr|{{ :wio:wiologo.png}}]] 
 +**[[:wio:overview-fr|Vue d'ensemble WIO]]** 
 +  * [[:arduino:wio-setup-fr|Configuration WIO]] | [[:arduino:wioctrl-fr|Contrôle WIO]] | [[:arduino:amp-fr|Bitmaps utilisateur]] | [[:arduino:wio-fr|Firmware WIO]] | [[:arduino:wio-mobile-fr|WIO Mobile]] | [[:arduino:wio-cable-fr|Câble]] | [[:wio:wio-ledscript-fr|LEDScript]] | **[[:wio:wiopi-fr|WIOpi]]** 
 +    * [[:wio:wiopi-01-fr|Circuit imprimé WIOpi-01]] 
 +    * [[:wio:wiopico-fr|SIOpico]] //Esclave E/S I2C pour WIOpi//
     * [[:rocnet:headless-cam-fr|Configuration du Raspberry Pi sans écran]]     * [[:rocnet:headless-cam-fr|Configuration du Raspberry Pi sans écran]]
 +    * [[:rpi:interfaces-fr|Vitesse I2C]]
 +    * [[:wiopi:zero-server-fr|Serveur Rocrail Zero]]
  \\  \\
  
-|  Travail en cours  | 
 {{:wio:zero.jpg?0x120}} {{:wio:zero.jpg?0x120}}
 + \\
 +|  Avant de monter le connecteur sur le Zero, vérifier ceci [[:wio:wiopi-01-fr|WIOpi-01]]  |
 +
 +<html><!--
 + \\
 +=====Versions PiOS=====
 +^ Version ^ Remarque ^ Date ^
 +| PiOS 11 'Bullseye' | OK |
 +| PiOS 12 'Bookworm' | L'I2C n'apporte qu'une erreur d'E/S (5) | Oct. 2023 |
 +--></html>
 +
 +
  \\  \\
  
 =====Introduction===== =====Introduction=====
-WIOpi est un programme ciblé pour le Raspberry Pi et ses GPIO.\\+WIOpi est un programme ciblé pour le Raspberry Pi et ses GPIO. (Modèle 1, 2, 3, 4 et ZeroW.)\\
 Les exigences matérielles et le support sont les même que pour le __**[[:rocnet:rocnetnode-fr|RocNetNode]]**__.\\ Les exigences matérielles et le support sont les même que pour le __**[[:rocnet:rocnetnode-fr|RocNetNode]]**__.\\
 En faisant fonctionner le programme WIOpi sur le Raspberry Pi, il se comportera et traitera comme un WIO sur base ESP.\\ En faisant fonctionner le programme WIOpi sur le Raspberry Pi, il se comportera et traitera comme un WIO sur base ESP.\\
Line 17: Line 33:
 ^ WIOpi s'exécute dans le contexte de l'utilisateur **pi**. ^\\ ^ WIOpi s'exécute dans le contexte de l'utilisateur **pi**. ^\\
 //L'utilisateur **pi** est par défaut dans les groupes **gpio**, **i2c** et **spi**, donc pas besoin d'exécuter WIOpi dans un contexte de super utilisateur.// \\ //L'utilisateur **pi** est par défaut dans les groupes **gpio**, **i2c** et **spi**, donc pas besoin d'exécuter WIOpi dans un contexte de super utilisateur.// \\
 +**Note**: Le type mobile devra fonctionner dans le contexte root pour être capable marcher dans un processus moteur haute performance.\\
 <code> <code>
 $ groups $ groups
Line 42: Line 59:
  
  \\  \\
 +
 +=====Cartes supportées=====
 +  * Raspberry ZeroW 1 et 2
 +  * Raspberry Pi 1, 2 et 3
 +
 +//Le Raspberry Pi 4 n'est pas supporté.//\\ 
 + \\
 +
 =====Installation===== =====Installation=====
 Activer l'I2C, le SPI et l'UART dans l'utilitaire raspi-conf.\\ Activer l'I2C, le SPI et l'UART dans l'utilitaire raspi-conf.\\
Line 59: Line 84:
  
  
 +====Taille du Swap====
 +La taille du fichier swap par défaut est de 100MB pour un Zero avec 512MB de mémoire n'est pas suffisant.\\
 +<code bash>
 +sudo nano /etc/dphys-swapfile
 +</code>
 +Changer la taille du swap à 1024:
 +<code bash>
 +CONF_SWAPSIZE=1024
 +</code>
 +Redémarrer le service:
 +<code bash>
 +sudo /etc/init.d/dphys-swapfile stop
 +sudo /etc/init.d/dphys-swapfile start
 +</code>
  \\  \\
- 
  
  
 =====Options en Ligne de Commande===== =====Options en Ligne de Commande=====
 ^ Option ^ Description ^ ^ Option ^ Description ^
 +| -info | définir les informations de niveau de suivi |
 | -t <filename> | nom du fichier de suivi | | -t <filename> | nom du fichier de suivi |
 | -server <ip> | Adresse IP du serveur Rocrail ou nom DNS | | -server <ip> | Adresse IP du serveur Rocrail ou nom DNS |
 | -id <1...255> | Identifiant du Nœud WIOpi | | -id <1...255> | Identifiant du Nœud WIOpi |
 +| -softpwm | Utilisation PWM logiciel des servos pour être capable de jouer des sons. |
  
  
Line 75: Line 115:
 Le brochage et la cartographie est affiché dans la console après le démarrage.\\ Le brochage et la cartographie est affiché dans la console après le démarrage.\\
 Cela dépend de la configuration trouvée dans le fichier wiopi.ini.\\ Cela dépend de la configuration trouvée dans le fichier wiopi.ini.\\
-Voir l'information du brochage du Raspberry Pi: https://de.pinout.xyz \\ +Voir les informations sur le brochage du Raspberry Pi: https://www.raspberrypi.com/documentation/computers/raspberry-pi.html \\ 
 +Ou émettez dans un terminal la commande pinout.\\
  
  \\  \\
Line 83: Line 123:
   * __**[[:rocnet:pi01can-fr|Pi01CAN]]**__   * __**[[:rocnet:pi01can-fr|Pi01CAN]]**__
   * __**[[:gca_pi02-fr|Pi02]]**__ (max. 4 = 128 E/S)   * __**[[:gca_pi02-fr|Pi02]]**__ (max. 4 = 128 E/S)
-  * __**[[:gca-pi03-fr|Pi03]]**__ (max. 64 Servo)+  * __**[[:gca-pi03-fr|Pi03]]**__ (max. 128 Servos - adresse 1-128)  ((Le WIOpi enregistre uniquement les positions des servos en cas d'un arrêt.))
   * __**[[:gca-pi06-fr|Pi06]]**__ (Alimentation & Patch)   * __**[[:gca-pi06-fr|Pi06]]**__ (Alimentation & Patch)
   * __**[[:gca-pi08-fr|Pi08]]**__ (max. 8 = 128 LED. Adresse de sortie < = 128)   * __**[[:gca-pi08-fr|Pi08]]**__ (max. 8 = 128 LED. Adresse de sortie < = 128)
Line 92: Line 132:
   * __**[[:arduino:wio-fr#detecteurs|BMx280]]**__ (max. 2 Environnements)   * __**[[:arduino:wio-fr#detecteurs|BMx280]]**__ (max. 2 Environnements)
   * __**[[:gca214-fr|GCA214]]**__ Lecteur RailCom sur le Pi01 (PiOS 32bit seulement à cause du débit non standard de 250000.)   * __**[[:gca214-fr|GCA214]]**__ Lecteur RailCom sur le Pi01 (PiOS 32bit seulement à cause du débit non standard de 250000.)
-  * __**[[:arduino:wio-fr#son|Lecteur de son]]**__ avec "omxplayer" (Sans préfixe barre oblique) +  * __**[[:arduino:wio-fr#son|Lecteur de son]]**__ avec "mplayer" (Sans préfixe barre oblique) 
-  * Logiciel mobile PWM pour contrôler un moteur continu (Alimentation MOSFET et relais de direction bistable)+  * Logiciel mobile PWM pour contrôler un moteur à courant continuMOSFET ou pont en H. ((//WIOpi doit être démarré avec "sudo" pour générer une bonne qualité PWM.//))
   * WS2801 RGB LEDs sur SPI (Adresse de sortie > 128)   * WS2801 RGB LEDs sur SPI (Adresse de sortie > 128)
     * Support LEDScript en cas ou le type de port est réglé à Macro.      * Support LEDScript en cas ou le type de port est réglé à Macro. 
-  * 2 Servos sur les broches PWM matériel (physiquement 32 & 33). ((//Note: WIOpi doit être démarré avec sudo pour être capable d'utiliser les sorties PWM.//)) +  * 2 Servos sur les broches PWM matériel (physiquement 32 & 33 - adresse 129 et 130). ((//WIOpi doit être démarré avec "sudopour être capable d'utiliser les sorties PWM.//)) 
-  * Entrées analogiques: PCF8591 et ADS1115+  * Entrées analogiques: PCF8591 
 + 
 +**Note:** //Le WIOpi enregistre uniquement les positions des servos en cas d'un arrêt.//\\ 
 + 
 + \\
  
 +=====Servos embarqués=====
 +Les deux servos embarqués ont pour adresse 129 et 130.\\
 +Les fonctions mobile 1 et 2 sont mappés à ces adresses de servos embarquées.\\
 +**Note:** //Le WIOpi enregistre uniquement les positions des servos en cas d'un arrêt.//\\
  
  \\  \\
Line 106: Line 154:
 dtoverlay=pwm-2chan,pin=12,func=2,pin2=13,func2=4 dtoverlay=pwm-2chan,pin=12,func=2,pin2=13,func2=4
 </code> </code>
-Le filtre est assez simple: (L'exemple est pour juste un canal.)+Le filtre est assez simple: (L'exemple est juste pour un canal, et non testé.)
 <code> <code>
                   1µ                   1µ
Line 145: Line 193:
  
  \\  \\
-=====Signaux sur Pi02/Pi08===== +=====Signaux sur Pi02/Pi08/WS2801===== 
-Le __**[[:rocnet:rocnetnode-led-fr#support_du_signal|Support des signaux]]**__ est également disponible sur le Pi02, avec décalage d'adresse 129.\\+Le __**[[:rocnet:rocnetnode-led-fr#support_du_signal|Support des signaux]]**__ est également disponible sur le Pi02, dans le cas ou aucun Pi08 n'est connecté.\\
  
 **Pi08**: 1...128 \\ **Pi08**: 1...128 \\
-**Pi02**: 129...256 (mappé sur 1...128) \\ +**Pi02**: 1...128 \\ 
-**WS2801** \\+**WS2801**: 129...256 (mappé sur 1...128) \\ 
 + 
 + \\ 
 + 
 +===== Lecteur RFID ID12LA ===== 
 +Le périphérique série par défaut est ''/dev/ttyS0'', et peut être changé dans le fichier wiopi.ini:\\ 
 +<code> 
 +serialdev="/dev/ttyAMA0" 
 +</code> 
 +|< >| 
 +^ Modèle de Raspberry pi ^ PiOS 10 ^ PiOS 11 ^ 
 +| Zero 1 | /dev/ttyAMA0 | 
 +| Rpi 1 | /dev/ttyAMA0 | 
 +| Zero 2 | /dev/ttyS0 | /dev/ttyAMA0 | 
 +| Rpi 2...4 | /dev/ttyS0 | 
 + 
 +**Note:** //Semble dépendre de la version de PiOS; Vérifier le système.//\\
  
  \\  \\
Line 159: Line 223:
 |  4 fils  ||| |  4 fils  |||
 ^ Fonction ^ Connecteur ^ GPIO ^ ^ Fonction ^ Connecteur ^ GPIO ^
-| IN1 (Bobine 1) |   |   |+| IN1 (Bobine 1) |  27  |   |
 | GND |  9  |  -  | | GND |  9  |  -  |
-| IN2 (Bobine 2) |  11  |  17  | +| IN2 (Bobine 2) |  29  |   | 
-| IN3 (Bobine 3) |  13  |  27  | +| IN3 (Bobine 3) |  31  |   | 
-| IN4 (Bobine 4) |  15  |  22  | +| IN4 (Bobine 4) |  35  |  19  | 
-| HALL (Calibration) |  21  |   |+| HALL (Calibration) |  37  |  26  |
  \\  \\
  
Line 171: Line 235:
 |  3 fils  ||| |  3 fils  |||
 ^ Fonction ^ Connecteur ^ GPIO ^ Exemple TB6600 ^ ^ Fonction ^ Connecteur ^ GPIO ^ Exemple TB6600 ^
-| STEP(Horloge) |   |   | CLK+ |+| STEP(Horloge) |  27  |   | CLK+ |
 | GND |  9  |  -  | EN-, DIR-, CLK- | | GND |  9  |  -  | EN-, DIR-, CLK- |
-| DIR |  11  |  17  | DIR+ | +| DIR |  29  |   | DIR+ | 
-| ENABLE |  13  |  27  | EN+ | +| ENABLE |  31  |   | EN+ | 
-| HALL (Calibration) |  21  |  13  |+| HALL (Calibration) |  37  |  26  |
 {{ :wio:qsh4218-35-10-027.jpg?400}}\\ {{ :wio:qsh4218-35-10-027.jpg?400}}\\
  
Line 182: Line 246:
 =====WS2801===== =====WS2801=====
 |< >| |< >|
-^ WS2801 ^ Connecteur ^ Fonction ^ +^ WS2801 ^ Connecteur ^ I/O1 ^ Fonction ^ 
-| DI | 19 MOSI | Entrée Numérique | +| DI | 19 MOSI |  6  | Entrée Numérique | 
-| CI | 23 SCLK | Entrée Horloge | +| CI | 23 SCLK |  8  | Entrée Horloge | 
-| GND | 25 GND | Masse |+| GND | 25 GND |  2  | Masse |
  
 ====Réglages de sortie pour LEDScript==== ====Réglages de sortie pour LEDScript====
-Adresse > 128.\\ +Adresse > 128 ou compteur, Paramètre ON, est réglé à zéro.\\ 
-Options Coleur, Type Macro.\\+Options Couleur, Type Macro.\\
  
  \\  \\
Line 195: Line 259:
   * [[https://pinout.xyz|Pinout]]   * [[https://pinout.xyz|Pinout]]
   * [[https://www.raspberrypi.org/documentation/hardware/raspberrypi/mechanical/README.md|Dessins mécaniques RaspberryPi]]   * [[https://www.raspberrypi.org/documentation/hardware/raspberrypi/mechanical/README.md|Dessins mécaniques RaspberryPi]]
 +
 +====Fichiers====
 +  * https://gitlab.com/rocrail/wio/-/tree/master/hardware/WIOpi
 +
 +
  
 <code> <code>
Line 249: Line 318:
 http://<zero-name>:8081 http://<zero-name>:8081
 </code> </code>
 +
 +====Mobile====
 +La fonction 8 peut être utilisée pour activer et désactiver le CAM.\\
  
  
  \\  \\
 =====Esclaves I2C===== =====Esclaves I2C=====
-WIOpi prend en charge jusqu'à 4 esclaves Arduino.\\+WIOpi prend en charge jusqu'à 4 esclaves I2C.\\
 Les adresses du dispositif I2C réservé sont0x7C, 0x7D, 0x7E et 0x7F.\\ Les adresses du dispositif I2C réservé sont0x7C, 0x7D, 0x7E et 0x7F.\\
-Le WIOnano peut être utilisé comme skeleton:\\ 
-  * https://gitlab.com/rocrail/wio/-/blob/master/WIOnano/WIOnano.ino 
  
 Pour adresser une broche sur un esclave, les paramètres suivants sont appliqués: Pour adresser une broche sur un esclave, les paramètres suivants sont appliqués:
Line 283: Line 353:
  
   * **Note 1:** //L'Arduino Nano ne peut pas gérer des vitesses I2C sans erreur au-dessus des 100 kHz par défaut.//\\   * **Note 1:** //L'Arduino Nano ne peut pas gérer des vitesses I2C sans erreur au-dessus des 100 kHz par défaut.//\\
 +
 +=====Esclaves CAN=====
 +L'adaptateur CAN [[https://www.fischl.de/usbtin/|USBtin]] peut être utilisé pour inclure les modules [[:can-gca2-fr|CANGC2]] et [[:can-gc6-fr|CANGC6]].\\
 +Les modules CANGC doivent être programmés comme suit:
 +  * Évènements longs (désélectionner les évènements courts)
 +  * Le numéro de nœud doit réglé de façon à être égal au module son identifiant CAN
 +  * Le numéro d'évènement doit être réglé de façon à être égal au numéro de port correspondant (1...16)
 +  * SoD 4711
 +:!: //La programmation doit être faite par la bibliothèque RCAN dans Rocrail; Il n'est pas possible de programmer le CANGCx à travers le WIOpi. Le même USBtin peut être utilisé à cette effet.//\\
 + \\
 +
 +====Exemples de configuration====
 +{{:wio:cangc2-setup-wiopi-slave.jpg?600}}\\
 +{{:wio:cangc6-setup-wiopi-slave.jpg?600}}\\
 +
 +====Adressage Rocrail====
 +^ Objet ^ Identifiant du Nœud ^ Adresse ^ Port ^
 +| Détecteur | Identifiant du nœud WIOpi | Numéro d'évènement + (Numéro du nœud * 256) | - |
 +| Sortie/Servo | Identifiant du nœud WIOpi | Numéro d'évènement | Numéro du nœud |
 +
 +
 +
 +
 +
 + \\
  
 =====Définitions des broches utilisateur===== =====Définitions des broches utilisateur=====
Line 305: Line 400:
 | CAL | Entrée calibration pas à pas | | CAL | Entrée calibration pas à pas |
 | PWM | Sortie PWM Mobile | | PWM | Sortie PWM Mobile |
-| FWD | Sortie impulsion relais avant Mobile | +| FWD | Sortie impulsion relais Mobile avant 
-| REV | Sortie impulsion relais inversé Mobile |+| REV | Sortie impulsion relais Mobile inversé |
 | LIGHTS1 | Sortie éclairage Mobile cab 1 | | LIGHTS1 | Sortie éclairage Mobile cab 1 |
 | LIGHTS2 | Sortie éclairage Mobile Cab 2 | | LIGHTS2 | Sortie éclairage Mobile Cab 2 |
Line 312: Line 407:
  \\  \\
  
-=====ESC===== +=====Connexion automatique au serveur===== 
-  * [[https://de.wikipedia.org/wiki/Bürstenloser_Gleichstrommotor|BLDC]] (DE)+WIOpi utilise le service __**[[:networking-fr|R2RNet]]**__ pour détecter le serveur Rocrail sur le réseau.\\ 
 +Ce service doit être __**[[:networking-fr#configuration|activé dans les réglages du serveur]]**__.\\ 
 +\\ 
 +Si la connexion automatique au serveur ne fonctionne pas (par exemple le routeur ne supporte pas le Multicast UDP) l'IP du serveur Rocrail ou le Nom peuvent être ajoutés au fichier wiopi.ini:\\ 
 +<code xml> 
 +<wiopi server="insert the server ip here" nid="99" nodename="WIOpi"> 
 +</code> 
 +WIOpi devra être arrêter avant d'éditer ce fichier: 
 +<code> 
 +sudo killall wiopi 
 +</code> 
 + 
 + 
 + \\ 
 + 
 +=====Niveau d'information===== 
 +Vous pouvez éditer le fichier startwiopi.sh avec sudo nano startwiopi.sh \\ 
 +Ajoutez -info derrière ./wiopi pour plus d'information: 
 +<code> 
 +#!/bin/sh 
 +cd /home/pi/WIOpi 
 +sudo ./wiopi -info 
 +</code> 
 +Cela doit être fait uniquement pour tester à cause de la charge d'utilisation du processeur. 
 +=====Moteur Double Mobile===== 
 +Les locomotives avec deux moteurs nécessite le supprt de deux pont en H.\\ 
 +Réglez l'option "dualmotor" à "true" dans le fichier wiopi.ini pour activer cela.\\ 
 +Le second pont en H branché au connecteur I/O2 sur les broches 4, 5 et 6.\\ 
 +Le __**[[:gca-wiodrive-fr|WIO-Drive]]**__, sans ESP, peut être utilisé comme second pont en H. Montez seulement ces éléments nécessaire pour contrôler le pont en H. Ne pas mettre le redresseur, mais le cabler.\\ 
 +|< >| 
 +^ I/O2 ^ Pont en H ^ Rpi Conn ^ WIODrive ^ 
 +|  2  |  GND  |  25  | IBB1-3 | 
 +|  4  |  IN2  |  29  | IBB1-2 | 
 +|  5  |  IN1  |  31  | IBB1-1 | 
 +|  6  |  ENA  |  35  | ESC1-3 |
  
  
wio/wiopi-fr.1611766351.txt.gz · Last modified: 2021/01/27 17:52 by phil45