Skip to content

Latest commit

 

History

History
136 lines (98 loc) · 7.28 KB

README.md

File metadata and controls

136 lines (98 loc) · 7.28 KB

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.zip 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

unzip pcre7.7.zip
cd pcre-7.7
chmod 777 ./configure
./configuresudo make i
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 ..
unzip ivy.zip
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 :)