wio:wiopi-fr
no way to compare when less than two revisions
Differences
This shows you the differences between two versions of the page.
— | wio:wiopi-fr [2025/03/18 16:22] (current) – created - external edit 127.0.0.1 | ||
---|---|---|---|
Line 1: | Line 1: | ||
+ | [[: | ||
+ | ====== WIOpi ====== | ||
+ | [[: | ||
+ | **[[: | ||
+ | * [[: | ||
+ | * [[: | ||
+ | * [[: | ||
+ | * [[: | ||
+ | * [[: | ||
+ | * [[: | ||
+ | \\ | ||
+ | |||
+ | {{: | ||
+ | \\ | ||
+ | | Avant de monter le connecteur sur le Zero, vérifier ceci [[: | ||
+ | |||
+ | < | ||
+ | \\ | ||
+ | =====Versions PiOS===== | ||
+ | ^ Version ^ Remarque ^ Date ^ | ||
+ | | PiOS 11 ' | ||
+ | | PiOS 12 ' | ||
+ | --></ | ||
+ | |||
+ | |||
+ | \\ | ||
+ | |||
+ | =====Introduction===== | ||
+ | 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 __**[[: | ||
+ | En faisant fonctionner le programme WIOpi sur le Raspberry Pi, il se comportera et traitera comme un WIO sur base ESP.\\ | ||
+ | |< >| | ||
+ | ^ WIOpi s' | ||
+ | // | ||
+ | **Note**: Le type mobile devra fonctionner dans le contexte root pour être capable marcher dans un processus moteur haute performance.\\ | ||
+ | < | ||
+ | $ groups | ||
+ | pi adm dialout cdrom sudo audio video plugdev games users input netdev gpio i2c spi | ||
+ | </ | ||
+ | Les fichiers suivants et les répertoires sont extraits: | ||
+ | < | ||
+ | . | ||
+ | ├── cam | ||
+ | │ | ||
+ | ├── reboot.sh | ||
+ | ├── scripts | ||
+ | │ | ||
+ | ├── startwiopi.sh | ||
+ | ├── update.sh | ||
+ | └── wiopi | ||
+ | </ | ||
+ | |||
+ | Les commandes pour démarrer et arrêter le script Python cam.py peuvent être spécifiées dans le fichier wiopi.ini.\\ | ||
+ | Les valeurs par défaut sont: | ||
+ | < | ||
+ | <var name=" | ||
+ | <var name=" | ||
+ | </ | ||
+ | |||
+ | \\ | ||
+ | |||
+ | =====Cartes supportées===== | ||
+ | * Raspberry ZeroW 1 et 2 | ||
+ | * Raspberry Pi 1, 2, 3 et 4 | ||
+ | |||
+ | |||
+ | \\ | ||
+ | |||
+ | =====Installation===== | ||
+ | Activer **l' | ||
+ | < | ||
+ | cd | ||
+ | mkdir WIOpi | ||
+ | cd WIOpi | ||
+ | wget https:// | ||
+ | tar xf WIOpi-ARMHF.tar.gz | ||
+ | rm WIOpi-ARMHF.tar.gz | ||
+ | </ | ||
+ | Ajouter une tâche crontab: | ||
+ | < | ||
+ | @reboot / | ||
+ | </ | ||
+ | //La version ARMHF fonctionne également sous PiOS 64bit. (ARM64)//\\ | ||
+ | |||
+ | |||
+ | ====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 / | ||
+ | </ | ||
+ | Changer la taille du swap à 1024: | ||
+ | <code bash> | ||
+ | CONF_SWAPSIZE=1024 | ||
+ | </ | ||
+ | Redémarrer le service: | ||
+ | <code bash> | ||
+ | sudo / | ||
+ | sudo / | ||
+ | </ | ||
+ | \\ | ||
+ | |||
+ | |||
+ | =====Options en Ligne de Commande===== | ||
+ | ^ Option ^ Description ^ | ||
+ | | -info | définir les informations de niveau de suivi | | ||
+ | | -t < | ||
+ | | -server <ip> | Adresse IP du serveur Rocrail ou nom DNS ¹| | ||
+ | | -id < | ||
+ | | -softpwm | Utilisation PWM logiciel des servos pour être capable de jouer des sons. | | ||
+ | |||
+ | |||
+ | \\ | ||
+ | ¹ Si WIOpi et le serveur Rocrail fonctionnent sur le même Raspberry pi, entrez **localhost**. Pour le démarrage automatique, | ||
+ | =====Brochage===== | ||
+ | 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.\\ | ||
+ | Voir les informations sur le brochage du Raspberry Pi: https:// | ||
+ | Ou émettez dans un terminal la commande pinout.\\ | ||
+ | |||
+ | \\ | ||
+ | =====Matériel supporté===== | ||
+ | * __**[[: | ||
+ | * __**[[: | ||
+ | * __**[[: | ||
+ | * __**[[: | ||
+ | * __**[[: | ||
+ | * __**[[: | ||
+ | * __**[[: | ||
+ | * __**[[: | ||
+ | * __**[[: | ||
+ | * __**[[: | ||
+ | * __**[[: | ||
+ | * __**[[: | ||
+ | * __**[[: | ||
+ | * Logiciel mobile PWM pour contrôler un moteur à courant continu, MOSFET ou pont en H. ((//WIOpi doit être démarré avec " | ||
+ | * WS2801 RGB LEDs sur SPI (Adresse de sortie > 128) | ||
+ | * Support LEDScript en cas ou le type de port est réglé à Macro. | ||
+ | * 2 Servos sur les broches PWM matériel (physiquement 32 & 33 - adresse 129 et 130). ((//WIOpi doit être démarré avec " | ||
+ | * Entrées analogiques: | ||
+ | |||
+ | **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.//\\ | ||
+ | |||
+ | \\ | ||
+ | =====Son===== | ||
+ | Les sorties servo, PWM0 et PWM1, peuvent également être utilisé pour l' | ||
+ | < | ||
+ | dtoverlay=pwm-2chan, | ||
+ | </ | ||
+ | Le filtre est assez simple: (L' | ||
+ | < | ||
+ | 1µ | ||
+ | || | | ||
+ | Servo0 -+---+----|| |----+ | ||
+ | | | ||
+ | | ||
+ | |1| --- | ||
+ | |5| --- 33n | ||
+ | | ||
+ | | ||
+ | | | ||
+ | GND -+---+------------+ | ||
+ | |||
+ | </ | ||
+ | |||
+ | |||
+ | |||
+ | \\ | ||
+ | =====Pi01===== | ||
+ | ==== Les fonctions LED ==== | ||
+ | Les deux LED clignotent rapidement sur une commande **show** pour s' | ||
+ | Une autre commande **show** arrêtera le clignotement.\\ | ||
+ | |||
+ | ^ LED1 (vert) | ||
+ | | Off | WIOpi ne fonctionne pas, ou pas d’accès autorisé GPIO. | | ||
+ | | Clignotement lent | Fonctionnement normal. | ||
+ | | Clignotement rapide | ||
+ | \\ | ||
+ | |||
+ | ^ LED2 (rouge) | ||
+ | | Off | Communication inactive. | ||
+ | | Clignotement | ||
+ | \\ | ||
+ | ==== Bouton poussoir ==== | ||
+ | Au cas où les deux voyants clignotent pour s' | ||
+ | Sinon, il envoie une réponse de requête au serveur.\\ | ||
+ | |||
+ | \\ | ||
+ | =====Signaux sur Pi02/ | ||
+ | Le __**[[: | ||
+ | |||
+ | **Pi08**: 1...128 \\ | ||
+ | **Pi02**: 1...128 \\ | ||
+ | **WS2801**: 129...256 (mappé sur 1...128) \\ | ||
+ | |||
+ | \\ | ||
+ | |||
+ | ===== Lecteur RFID ID12LA ===== | ||
+ | Le périphérique série par défaut est ''/ | ||
+ | < | ||
+ | serialdev="/ | ||
+ | </ | ||
+ | |< >| | ||
+ | ^ Modèle de Raspberry pi ^ PiOS 10 ^ PiOS 11 ^ | ||
+ | | Zero 1 | / | ||
+ | | Rpi 1 | / | ||
+ | | Zero 2 | /dev/ttyS0 | / | ||
+ | | Rpi 2...4 | /dev/ttyS0 | | ||
+ | |||
+ | **Note:** //Semble dépendre de la version de PiOS; Vérifier le système.// | ||
+ | |||
+ | \\ | ||
+ | =====Contrôle moteur pas à pas===== | ||
+ | Voir pour le réglage du pont tournant: __**[[: | ||
+ | {{ : | ||
+ | |< >| | ||
+ | | 4 fils ||| | ||
+ | ^ Fonction ^ Connecteur ^ GPIO ^ | ||
+ | | IN1 (Bobine 1) | 27 | 0 | | ||
+ | | GND | 9 | - | | ||
+ | | IN2 (Bobine 2) | 29 | 5 | | ||
+ | | IN3 (Bobine 3) | 31 | 6 | | ||
+ | | IN4 (Bobine 4) | 35 | 19 | | ||
+ | | HALL (Calibration) | 37 | 26 | | ||
+ | \\ | ||
+ | |||
+ | {{ : | ||
+ | |< >| | ||
+ | | 3 fils ||| | ||
+ | ^ Fonction ^ Connecteur ^ GPIO ^ Exemple TB6600 ^ | ||
+ | | STEP(Horloge) | 27 | 0 | CLK+ | | ||
+ | | GND | 9 | - | EN-, DIR-, CLK- | | ||
+ | | DIR | 29 | 5 | DIR+ | | ||
+ | | ENABLE | 31 | 6 | EN+ | | ||
+ | | HALL (Calibration) | 37 | 26 | | ||
+ | {{ : | ||
+ | |||
+ | |||
+ | \\ | ||
+ | =====WS2801===== | ||
+ | |< >| | ||
+ | ^ WS2801 ^ Connecteur ^ I/O1 ^ Fonction ^ | ||
+ | | DI | 19 MOSI | 6 | Entrée Numérique | | ||
+ | | CI | 23 SCLK | 8 | Entrée Horloge | | ||
+ | | GND | 25 GND | 2 | Masse | | ||
+ | |||
+ | ====Réglages de sortie pour LEDScript==== | ||
+ | Adresse > 128 ou compteur, Paramètre ON, est réglé à zéro.\\ | ||
+ | Options Couleur, Type Macro.\\ | ||
+ | |||
+ | \\ | ||
+ | =====WIOpi-01===== | ||
+ | * [[https:// | ||
+ | * [[https:// | ||
+ | |||
+ | ====Fichiers==== | ||
+ | * https:// | ||
+ | |||
+ | |||
+ | \\ | ||
+ | =====CAM===== | ||
+ | Le CAM peut être utilisé en parallèle avec WIOpi comme documenté ici: | ||
+ | * __**[[: | ||
+ | |||
+ | < | ||
+ | top - 11:54:34 up 26 min, 2 users, | ||
+ | Tasks: | ||
+ | %Cpu(s): | ||
+ | MiB Mem : 368.4 total, | ||
+ | MiB Swap: 0.0 total, | ||
+ | |||
+ | PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND | ||
+ | 527 root 20 | ||
+ | 435 pi 20 | ||
+ | 301 pi 20 | ||
+ | 526 root 20 | ||
+ | 521 pi 20 | ||
+ | </ | ||
+ | |||
+ | Lien vers la diffusion: | ||
+ | < | ||
+ | http://< | ||
+ | </ | ||
+ | |||
+ | ====Mobile==== | ||
+ | La fonction 8 peut être utilisée pour activer et désactiver le CAM.\\ | ||
+ | |||
+ | |||
+ | \\ | ||
+ | =====Esclaves I2C===== | ||
+ | WIOpi prend en charge jusqu' | ||
+ | Les adresses du dispositif I2C réservé sont0x7C, 0x7D, 0x7E et 0x7F.\\ | ||
+ | |||
+ | Pour adresser une broche sur un esclave, les paramètres suivants sont appliqués: | ||
+ | * Identifiant du nœud: L' | ||
+ | * Adresse: numéro de broche | ||
+ | * Port: Identifiant esclave I2C | ||
+ | |||
+ | Les objets Rocrail supportés: | ||
+ | * Sortie numérique | ||
+ | La trace du moniteur DOUT(0x0A) sur la broche 5(data[0]) off(data[1]): | ||
+ | < | ||
+ | opc=0x0A dlc=5 data=05 00 00 00 7C 00 00 00 | ||
+ | </ | ||
+ | |||
+ | |||
+ | |||
+ | \\ | ||
+ | Dix fois par seconde, les esclaves sont interrogés pour l' | ||
+ | < | ||
+ | 20210105.083513.532 w9999I main | ||
+ | 20210105.083513.542 w9999I main | ||
+ | ... | ||
+ | 20210105.083513.886 w9999I doManage OManager 0101 read reg array slave 0x7C rc=2: opc=0x99 11 66 | ||
+ | </ | ||
+ | |||
+ | |||
+ | * **Note 1:** // | ||
+ | |||
+ | =====Esclaves CAN===== | ||
+ | L' | ||
+ | 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' | ||
+ | * 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==== | ||
+ | {{: | ||
+ | {{: | ||
+ | |||
+ | ====Adressage Rocrail==== | ||
+ | ^ Objet ^ Identifiant du Nœud ^ Adresse ^ Port ^ | ||
+ | | Détecteur | Identifiant du nœud WIOpi | Numéro d' | ||
+ | | Sortie/ | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | \\ | ||
+ | |||
+ | =====Définitions des broches utilisateur===== | ||
+ | Pour réassigner les broches pour Pi01, du Contrôle pas à pas et Mobile, les nœuds enfant suivants dans le '' | ||
+ | |||
+ | <code xml> | ||
+ | <wiopi server=" | ||
+ | <pindef fn=" | ||
+ | <pindef fn=" | ||
+ | </ | ||
+ | </ | ||
+ | L' | ||
+ | |||
+ | ^ Nom(fn) ^ Description ^ Remarque ^ | ||
+ | | LED1 | Sortie LED1 Pi01 | | ||
+ | | LED2 | Sortie LED2 Pi01 | | ||
+ | | Button | Entrée du bouton Pi01 | | ||
+ | | IN1 | Sortie pas à pas IN1 | Horloge 3W | | ||
+ | | IN2 | Sortie pas à pas IN2 | Direction 3W | | ||
+ | | IN3 | Sortie pas à pas IN3 | Activer 3W | | ||
+ | | IN4 | Sortie pas à pas IN4 | | ||
+ | | CAL | Entrée calibration pas à pas | | ||
+ | | PWM | Sortie PWM Mobile | | ||
+ | | FWD | Sortie impulsion relais Mobile avant | | ||
+ | | REV | Sortie impulsion relais Mobile inversé | | ||
+ | | LIGHTS1 | Sortie éclairage Mobile cab 1 | | ||
+ | | LIGHTS2 | Sortie éclairage Mobile Cab 2 | | ||
+ | |||
+ | \\ | ||
+ | |||
+ | =====Connexion automatique au serveur===== | ||
+ | WIOpi utilise le service __**[[: | ||
+ | Ce service doit être __**[[: | ||
+ | \\ | ||
+ | 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=" | ||
+ | </ | ||
+ | WIOpi devra être arrêter avant d' | ||
+ | < | ||
+ | sudo killall wiopi | ||
+ | </ | ||
+ | |||
+ | |||
+ | \\ | ||
+ | |||
+ | =====Niveau d' | ||
+ | Vous pouvez éditer le fichier startwiopi.sh avec sudo nano startwiopi.sh \\ | ||
+ | Ajoutez -info derrière ./wiopi pour plus d' | ||
+ | < | ||
+ | #!/bin/sh | ||
+ | cd / | ||
+ | sudo ./wiopi -info | ||
+ | </ | ||
+ | Cela doit être fait uniquement pour tester à cause de la charge d' | ||
+ | =====Moteur Double Mobile===== | ||
+ | Les locomotives avec deux moteurs nécessite le supprt de deux pont en H.\\ | ||
+ | Réglez l' | ||
+ | Le second pont en H branché au connecteur I/O2 sur les broches 4, 5 et 6.\\ | ||
+ | Le __**[[: | ||
+ | |< >| | ||
+ | ^ 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.txt · Last modified: 2025/03/18 16:22 by 127.0.0.1