Logiciels d’acquisition de données scientifiques : vers plus de liberté ? Programas informáticos de adquisición de datos científicos: ¿hacia más libertad? Software for acquisition of scientific data: towards more freedom? programoj por sciencaj mezuroj : al pli da libereco ? Pierre DIEUMEGARD (lycée Pothier, Orléans) Liberté 0 : La liberté d'exécuter le programme — pour tous les usages ; (wikipedia : logiciel_libre) Libereco 0: la libereco por uzi la programon, por iu ajn celo Libertad 0: la libertad de usar el programa, con cualquier propósito. Freedom 0: The freedom to run the program for any purpose.
(L'Ordinateur Individuel, juin 1985) antaŭ 25 jaroj Hace 25 años 25 years ago Evolution dedes ordinateurs personnels depuis 25 ans :
Il y a 25 ans : (L'Ordinateur Individuel, juin 1985) antaŭ 25 jaroj Hace 25 años 25 years ago
Ordinateur A Ecran A Imprimante A Système d'exploitation A logiciel A Ordinateur B Ecran B Imprimante B Système d'exploitation B logiciel B incompatibilité (presque) totale Il y a 25 ans : antaŭ 25 jaroj Hace 25 años 25 years ago ==> Ensemble peu efficace : - matériel et logiciels très coûteux - difficulté pour l'éditeur de logiciels : s'adapter à divers matériels - difficulté pour le constructeur de matériel : il faut aussi programmer les applications - difficulté pour l'utilisateur, prisonnier de ses fournisseurs
Aujourd'hui : choix possible : Nun : ni povas elekti komputilon, operacian sistemon, lingvon, printilon, programojn... Hoy : se puede elegir el ordenador, la impresora, el sistema operativo, la lengua, el programa aplicativo… Today: we can choose computer, printer, operating system, language, application... Ordinateurs variés Systèmes d'exploitation variés Langues variées Imprimantes variées Applications variées 2.jpg
fr.com/data/clipart/voyage/voyage_018.gif fr.com/data/clipart/imprimante/imprimante _040.gif (utilisation de l'application principale) Envoi des signaux spécifiques à l'imprimante, par le pilote de l'imprimante pilotes drivers peliloj controladores Un pilote est un petit programme, permettant à l'application principale de commander le périphérique. Ordinateur application principale pilote utilis ateur périphérique (imprimante)
2010 : EXAO = Acquisition informatisée de mesures scientifiques, très peu libre EXAO = Expérimentation Assistée par Ordinateur ATIDEX : acquisition et traitement informatisé de données expérimentales. Perkomputilaj mezuroj, tre malmulte liberaj Adquisición de datos, muy poco libre Data logging, far from free Ordinateur application principale pilote utilisate ur appareil de mesure un dispositif idéal (libre ?)
Grandes firmes, avec systèmes fermés Jeulin, la référence historique depuis 1985 ==> «L'Atelier Scientifique ne fonctionne qu'avec deux appareils Jeulin Par ailleurs, les appareils Jeulin ne fonctionnent (pratiquement) qu'avec les logiciels Jeulin : ESAO : indications disponibles pour la programmation VTT : rien
Micrelec et les systèmes Orphy (catalogue Pierron ) boîtiers Orphy : indications de programmation disponibles Captos ???
Matériel Sordalab (Pasco) Importation en France de matériel et logiciel traduit, sans aucune indication de programmation. Là aussi, il y a obligation d'utiliser le logiciel Pasco avec le matériel Pasco, et inversement.
Eurosmart DLL disponible ==> programmation possible sous Windows
Matériels spécialisés, sans logiciels dédiés pHmètres Radiometer- Tacussel : bonnes indications de programmation dans le mode d'emploi, pas de logiciel fourni. (catalogue Selectronic) Nombreux matériels de mesure, parfois avec logiciel, parfois sans multimètres, pHmètres, O2mètres, luxmètres balances, conductimètres...
Quelques (rares) logiciels pour ces matériels orphelins Programmes annexes de Regressi (Jean Michel Millet) : michel.millet.pagesperso-orange.fr/telechargement.htmhttp://jean- michel.millet.pagesperso-orange.fr/telechargement.htm Datalyse (Carl Hemmingsens, Danemark) :
Besoin de logiciels polyvalents, utilisant des pilotes d'appareils de mesure Ordinateur application principale pilote utilisate ur appareil de mesure Necesidad de programas informáticos polivalentes, utilizando controladores de medidores Need for general-purpose software, using drivers of measuring devices Neceso de programoj, kiuj uzas pelilojn de mezuraparatoj
Ordinateur application principale pilote utilisate ur appareil de mesure Mesures lentes : plusieurs méthodes sont possibles * (bibliothèques dynamiques, très rapides) * programmes simple de mesure en arrière-plan (lents) * petits programmes lancés par l'application principale (lents)
Bibliothèques dynamiques, pour des mesures rapides ou lentes dynamic libraries bibliotecas dinámicas dinamikaj bibliotekoj MS-Windows :.dll Linux :.so
Pour faire des bibliothèques dynamiques, il faut un langage compilé C++ (C++ Builder) Pascal (Free-Pascal, Delphi) Basic (PureBasic, FreeBasic)
Pour utiliser les bibliothèques dynamiques : (- les langages précédents) - Langages de programmation «normaux» : Python, MSW-Logo - logiciels de bureautique : OpenOffice (OpenBasic), Lotus SmartSuite (Lotus Script), QuattroPro pour Windows, Microsoft Excel... - logiciels de calcul numérique (Matlab, Freemat...)
Proposition de normalisation des fonctions des pilotes 4 groupes de fonctions d'entrée-sortie EA = entrée analogique SA = sortie analogique EB = entrée binaire SB = sortie binaire Identification et réglage du pilote titre detail calibration différentes conventions d'appel stdcall «std = standard» cdecl pascal safecall divers types de paramètres entiers (2 octets) réels simples (4 octets) réels doubles (8 octets) chaînes de caractères (à zéro terminal) Détails de programmation disponibles sur :
Pilotes et applications, faits et à faire Pilotes déjà faits : assez nombreux sous Windows Jeulin ESAO (ESAO3 et ESAO4) Micrelec Orphy GTS, GTI, GTS2, portable 1, portable 2, rando, µOrphy... Eurosmart SYSAM Pierron SMF10, Expert MEP : ADES, PMB Candibus et Candiplus Velleman K8055, Arduino, Phoenix pHmètres Radiometer phn130, lph330, phm210 thermomètres balances Scout, Adam multimètres conductimètre Radiometer Tacussel CDM 210 Spectrophotomètres Jenway 6320D, Secomam Prim Light prise manette de jeu tiroir du CD, diodes lumineuses du clavier... Peliloj kaj programoj, faritaj kaj farotaj Controladore s y programas, hechos y a hacer Drivers and application, made and to make
Linux : peu avancé Pilotes pour appareils documentés (mais impossible pour ceux sans documentation : Velleman, Euromart...) USB_connector.jpg revendeur.fr/images/Image/14/ jpg
Applications déjà faites MGW32 (Mesugraf pour Windows, en Delphi 5) :
Visu32 : pour visualiser les mesures et les enregistrer dans des fichiers (en Delphi 5) :
Et des tests divers : - OOmesures : le tableur d'OpenOffice fait directement les mesures - essais en PureBasic, Freemat, Freepascal, Python...
A faire : D'autres pilotes, pour d'autres appareils, ou bien pour d'autres dispositifs expérimentaux D'autres applications, pour d'autres publics (écoles primaires ?) En plus de Windows, faire pour Linux (et pour Mac ?)
Exemples
Conclusion La liberté est possible aussi pour l'expérimentation scientifique. Pour associer librement les matériels de mesures aux programmes d'application, le mieux est de faire des bibliothèques dynamiques spécialisées par matériel, et des programmes d'application qui appellent ces bibliothèques. Une convention est proposée en En suivant cette convention, divers pilotes sont déjà réalisés, ainsi que quelques applications. Il est possible d'en augmenter le nombre facilement. Libereco ankaŭ eblas en sciencaj mezuroj, per peliloj por ĉiu mezuraparato. Liberdad es posible por medidas científicas, con programas controladores para cada aparato. Freedom is possible for scienfic measurement, by drivers for each device. Pierre Dieumegard, professeur de SVT Lycée Pothier, 2 bis rue Marcel Proust, F Orléans