Skip to content

truillet/ivy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Bus logiciel ivy / ivy middleware

Pour en apprendre plus sur le bus logiciel ivy, regarder la présentation -> ici <- ou l'article publié à IHM 2012

Quelques éléments sont aussi disponibles sur GitLab et/ou gitpub.

Vous pourrez enfin aussi trouver des informations sur le site du projet Paparazzi

Un "superviseur" du middleware (pour suivre l'émission/réception des messages ivy)

Un supervisieur du middleware est disponible en mode CLI - Probe (java) :

java -cp .;ivy-java-1.2.18.jar fr.dgac.ivy.tools.Probe "^(.*)" -b 127.255.255.255:2010

(ou télécharger l'outil Probe ici)

Un superviseur du middleware en mode GUI - visionneur (java) est disponible ici : visionneur.zip v 1.2

librairie ivy/c

compiler et utiliser la livrairie ivy/c sous linux (ou bash ubuntu sous windows)

Ouvrir un nouveau terminal

Au préalable, il faudra installer les paquets : make, g++, gcc, libx11-dev et xorg

Télécharger prcre-7.7 (Perl Compatible Regex Expression) et dézipper les fichiers dans le répertoire pcre-7.7

Télécharger ivy C et dézipper les fichiers dans le répertoire ivy (Vous pouvez aussi trouver le code source ->ici<-

Utiliser les commandes suivantes : compiler la librairie PCRE

./configure
make
sudo make install
export LD_LIBRARY_PATH=/lib:/usr/lib:/usr/local/lib

Les librairies PCRE compilées sont stockées dans le répertoire .libs. Compiler maintenant la librairie ivy

cd ../ivy
make

Vous pouvez maintenant essayer l'outil ivyprobe en lançant la commande

./ivyprobe "^(.*)"

Par défaut, ivy se lance sur l'adresse 127.255.255.255:2010 (adresse de broadcast "127.255.255.255" sur le port 2010). Rien ne vous empêche d'en changer 😉 : adresse IP , adresse de broadcast ou de multicast (Ex : 224.0.0.0:2010) [utile si vous voulez connecter vos applications entre windows et WSL2].

Il est temps maintenant de coder votre première application ivy/C.

Le principe d'usage est assez simple :

  • On initialise l'agent sur le bus (IvyInit)
  • On définit les appels aux fonctions callbacks (IvyBindMsg) à l'aide de regex - Regular Expresssion
  • On enregistre l'agent sur le bus IvyStart) à l'adire d'une adresse ip, de broadcast et un port d'écoute
  • On lance la mainloop (IvyMainLoop)

"et voilà" !

Récupérer le code ici.

Décompresser le fichier, aller dans le répertoire créé (par exemple ivy_exemple).

Recopier les fichiers libivy.a (depuis le répertoire ivy) et libprce.a (depuis le répertoire pcre7.7/.libs) précédemment compilés dans ce répertoire. cd ~/cd ivy_exemple cp ~/prce7.7/.libs/libpcre.a . cp ~/ivy/libivy.a . Compiler le code

gcc Ecoute.c libivy.a libprce.a -o Ecoute

./Ecoute

Ecoute est abonné aux messages suivants : tous '(.*)' et Bye (qui permet de quitter l'application)

Lien 1 vers le code source ou [Lien 2 vers le code source](https://github.com/lii-enac/libivy

librairie ivy/c#

La dll ivy pour C# (x86 et x64)

Un exemple de code ivy avec C# et l'exécutable associé

librairie ivy/java (et Processing)

Le lien vers la librairie Java : ivy-java 1.2.18 ou ivy-java 1.2.17

La Javadoc est téléchargeable ici

Lien vers le code source

librairie ivy/nodeJS

La librairie pour nodeJS-javascript : node-ivy ou sur NPM

librairie ivy/OCaml

La librairie pour OCaml : ivy/ocaml

librairie ivy/python

La librairie pour Python : ivy-python 4.0 (v.4.0 au 05/10/2023) ou lien Gitlab (documentation) ou [ ivy-python 3.3 (v.3.3 au 02/02/2021) [compatible Python 2.7]

Pour installer la librairie (Python3) - version stable 4.0 :

sudo pip3 install ivy-python==4.0

Un exemple de programme ivy avec python3 : ivyfirst3.py

Un exemple de programme ivy avec python2 : ivyfirst.py

librairie ivy/Qt

La librairie pour Qt : IvyQt

libraririe ivy/Rust

La librairie pour Rust : ivy-rust

Passerelles entre middlewares divers

Des ponts entre différents protocoles de communication ont été écrits :

Téléchargement d'agents ivy

  • OneDollarIvy : un agent (Processing.org) de reconnaissance de gestes basé sur l'algorithme "$1 recognizer"
  • ppilot 3.3 : un agent (C#) Text-to-Speech (SAPI5 avec support SSML) windows
  • sra5 : un agent (C#) de reconnaissance vocale (SAPI5, support GrXML) windows
  • SR_Ivy : un agent (python) de reconnaissance vocale (Google Voice) linux, macOS, windows
  • tobiiIvy : un agent (C#) eye-tracker pour Tobii xC windows
  • tobiiP5 : un exemple (Processing.org) d'usage de tobiiIvy

Des projets étudiants :)

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages