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