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 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
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
La dll ivy pour C# (x86 et x64)
Un exemple de code ivy avec C# et l'exécutable associé
Le lien vers la librairie Java : ivy-java 1.2.18 ou ivy-java 1.2.17
La Javadoc est téléchargeable ici
- Un exemple de programme ivy avec Processing.org* : ivySender et ivyReceiver
La librairie pour nodeJS-javascript : node-ivy ou sur NPM
La librairie pour OCaml : ivy/ocaml
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
La librairie pour Qt : IvyQt
La librairie pour Rust : ivy-rust
Des ponts entre différents protocoles de communication ont été écrits :
- TUIO to ivy (Lien vers le protocole TUIO)
- ivy to ROS2 (installation et compilation du noeud ROS)
- 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