Outils pour utilisateurs

Outils du site


projet_europ

Ceci est une ancienne révision du document !


Vélos interactifs

Gestion du DMX

Pour Utiliser le boîtier Enttec sous Linux, il faut autoriser l'utilisateur principal à accéder au port USB. Il faut saisir dans un terminal la commande suivante :

sudo nano /etc/udev/rules.d/11-usbuser.

Puis, il faut écrire à l'intérieur la règle

rulesACTION=="add", SUBSYSTEMS=="usb", GROUP:="usbuser", MODE:="0666"

Sauvegarde le tout avec le raccourci Ctrl + X ; et reboote le PC.

Create the file /etc/udev/rules.d/10-ftdi.rules

Write on it:

SUBSYSTEM==“usb_device”, GROUP=“dialout”, MODE=“0664”

SUBSYSTEM==“usb”, ENV{DEVTYPE}==“usb_device”, GROUP=“dialout”, MODE=“0664”

https://getdlight.com/wiki/index.php/Interfaces_DMX#Linux

Installation du driver FTDI

Tous les boîtiers ENTTEC utilisent une puce FTDI pour la communications à travers le port USB. Voici la procédure pour l'installer sur une RPI4 :

wget https://ftdichip.com/wp-content/uploads/2022/07/libftd2xx-arm-v8-1.4.27.tgz
tar -xvf libftd2xx-arm-v8-1.4.27.tgz
sudo cp release/build/lib* /usr/local/lib
cd /usr/local/lib
ls
sudo ln -s libftd2xx.so.1.4.27 libftd2xx.so
sudo chmod 0755 libftd2xx.so.1.4.27

Brancher le boîtier ENTTEC

sudo rmmod ftdi_sio
sudo rmmod usbserial
cd
cd release/examples
make
cd EEPROM/read
ls
sudo ./read

Installation du addon ofxGenericDmx

Installation de la librairie ftdi :

sudo apt-get install libftdi-dev

Pour certaines distributions, il pourrait être nécessaire d'autoriser l'utilisateur à accéder à l'interface via son port USB. Des solutions diverses sont détaillées ici

wget https://github.com/woutgg/ofxGenericDmx/archive/refs/heads/master.zip

cd openFrameworks/addons/ofxGenericDmx/ofxGenericDmx_EnttecDmxUsbProExample
make
startx ./bin/ofxGenericDmx_EnttecDmxUsbProExample -- -s off

Si vous souhaitez partir d'un projet vierge, il faudra ajouter des instructions pour le linker lors de la compilation : Dans le fichier config.make du projet :

sudo nano config.make

Vérifiez les lignes suivantes :

PROJECT_LDFLAGS=-Wl,-rpath=./libs
PROJECT_LDFLAGS+=-lftdi

Code

// g++ -Wall -o compteur compteur.c -l wiringPi
// ./compteur
 
#include <wiringPi.h>
#include <stdio.h>
#include <stdlib.h>
 
#define COMPTEUR 26
#define TEMOIN 19
 
int drapeau = 0;
 
int main()
{
	wiringPiSetupGpio();
    pinMode (COMPTEUR, INPUT); 
    pullUpDnControl(COMPTEUR, PUD_UP);
    pinMode (TEMOIN, OUTPUT); 
    digitalWrite(TEMOIN, LOW);
    while(1) {
        if ((digitalRead(COMPTEUR) == LOW) && (drapeau == 0)) {
            digitalWrite(TEMOIN, HIGH);
            delay(20);
            drapeau = 1;
        }
        if (digitalRead(COMPTEUR) == HIGH) {
            drapeau = 0;
        }
    }
 
	return 0;
}
projet_europ.1719869052.txt.gz · Dernière modification : de Mushussu