Eric MILLOZ

            

Débuter avec la carte COMIO.

Sommaire

1 - Hardware

2 - Software

3 - Expérimentation:

4 - Téléchargement Comio pour Linux.

5 - Fichier tar à télécharger :


1 - Hardware

Pour l'instant j'utilise une carte Entrées/Sorties COMIO (on en trouve dans le catalogue Conrad dans les librairies ou sur l'internet à chez ITC
Cette carte est maintenant introuvable dans le commerce internet, d'autres cartes l'ont remplacées.

Doc PDF de la carte COMIOLien vers Conrad.fr
Code article 063552-62, qui pour 41 Euros (en 2001) permet de disposer de 8 sorties digitales et 4 entrées digitales (tout ou rien).
Cette carte s'interface sur le port parallèle du micro-ordinateur par la prise DB25 (sur la photo tout en haut).

Photo de la carte

Récapitulons les Entrées/Sorties de votre micro-ordinateur avec la carte COMIO et une carte son.


La carte Comio :

  • les 4 entrées (à gauche sur la photo, repérées ABCD).
  • 8 Sorties.
  • La carte Son :

  • 4 entrées numériques sur le port joystick.

  • 2 entrées analogiques joystick. (utilisation thermomètre, hygromètre, asyouwantmètre)

  • total : 10 entrées dont 2 analogiques et 8 sorties

    Tout cela ouvre une perspective de branchement assez importante et si cela ne suffit pas on peut rajouter le même dispositif sur un autre port parallèle, c'est-à-dire que l'on multiplie par deux ces chiffres.
    (on peut brancher jusqu'à trois cartes ports parallèles sur un micro-ordinateur de type PC.)

    2 - Software

    Je me suis orienté vers un système d'exploitation libre de type Linux pour plusieurs raisons.

    Fiabilité et robustesse du système.
    Facilité de mise en oeuvre et documentation.(Système ouvert, il y a de la documentation sur tout, partout !)
    Système sous GPL (GRATUIT lire la GPL sur linux.org)

    Faculté de déclencher des événements à des heures précises et/ou à des intervalles réguliers.
    Il n'est pas utile de se servir d'un système gérant le temps réel. (Qnx, Os9, Linux RT...)

    Le langage utilisé pour gérer l'interface est évidemment le C et le shell.
    Mais si vous ne connaissez pas le C ou que vous n'êtes pas informaticien rompu au langage C, vous pourrez néanmoins utiliser et configurer le tout.

    Il y a 2 moyens d'utiliser la carte :

    Une librairie C d'utilisation de cette carte avec Linux. Vous pourrez faire des logiciels en C utilisant cette librairie.

    Fonction de la librairie.
    // renvoi le type d'erreur rencontrée quand la variable erreur>0
    char *io_comio_erreur(int num_erreur)

    // Initialise la carte. à faire au début d'utilisation.
    Init_Es();
    // renvoi l'état de l'entrée du canal d'une entrée (A,B,C,D)
    Lit_entree(char canal);

    // Met à l'état 1, la sortie canal n (1 à 8)
    Sortie_on(int canal);

    // Met à l'état 1, la sortie canal n (1 à 8)
    Sortie_off(int canal);

    Un logiciel (main.c fourni dans l'archive) permettant de donner des ordres à la carte. On peut s'en servir à partir d'un shell de commande. Utilisation avec Perl, Php, TclTk ..

    3 - Expérimentation:

    Aujourd'hui les essais sont fait, sans modification (4 entrées et 8 sorties) de la carte, branchée sur le port parallèle.
    Le tout fonctionne parfaitement, autant le hardware que le software.
    C'est une bonne approche si on veut quelque chose de simple pour débuter avec une carte Entrées/Sorties.

    Ce logiciel ne pilote que la carte COMIO.

    4 - Téléchargement Comio pour Linux.

    Pour la carte Comio, voici une librairie de gestion des entrées/sorties de la carte COMIO.
    Ce programme fonctionne avec le compte root de votre machine.

    Après le téléchargement faire :

    tar xvf comio.tar

    Aprés décompression (tar) du fichier vous avez à l'écran en faisant :
    ls -l
    Warning: Undefined variable $debutTableau in /volume1/web/www/inc/all.php on line 324 Warning: Undefined variable $debutTableau in /volume1/web/www/inc/all.php on line 324 Warning: Undefined variable $debutTableau in /volume1/web/www/inc/all.php on line 324 Warning: Undefined variable $debutTableau in /volume1/web/www/inc/all.php on line 324 Warning: Undefined variable $debutTableau in /volume1/web/www/inc/all.php on line 324 Warning: Undefined variable $debutTableau in /volume1/web/www/inc/all.php on line 324
    Fichier Contenu 
    es Nom du programme exécutable 
    main.c Sources C de pilotage de la carte. C'est ce fichier que vous devez modifier pour adapter le programme de pilotage de la carte à vos besoins. 
    io_comio.h Fichier include qui permet de déclarer les fonctions de la librairie et de pouvoir s'en servir. 
    Libcio_comio.a Librairie d'entrées/sorties. 
    makefile Fichier des règles de compilation pour le programme de pilotage de la carte (compilation de main.c en fichier cible es).  

    La compilation de l'exécutable sur votre machine se fait par :
    make es

    L'exécution se fait en lançant le programme es par :
    ./es X X

    Les paramètres sont :


  • Pour connaître l'état d'une entrée A,B,C ou D de la carte :

  • ./es e a

    Le résultat de la commande sera renvoyé au shell.
    0 pour OK , autre chose en cas d'erreur.

    Pour afficher l'état de l'entrée il faut que le dernier paramètre 1 permet l'affichage de l'état de l'entrée.
    ./es e a 1

  • Pour actionner une sortie de 1 à 8 de la carte :

  • ./es s numéro_de_la_sortie sa_valeur
    Numéro de la sortie de 1 à 8.
    Valeur 0 ou 1 (0 volt ou 5 volts).

    Exemple :
  • ./es 4 1 (sortie 4 à 5 Volts)
  • ./es 3 0 (sortie 3 à 0 Volt)
  • 5 - Fichier tar à télécharger :

    Telechargement de la librairie
    Articles
    La i-Girouette (09/12/2017)TER St-Etienne Ambérieux (15/04/2018)Nouveau Titre (16/05/2018)Nouveau Titre (18/05/2018)Titre test DU 10 index (24/05/2018)Titre test indexé (25/05/2018)