Projets talk:Application multimètre parlant
Description du projet OWON_v2
Brève description des fonctionnalité du programme sur smartphone énonçant vocalement les mesure faites par un multimètre OWON 16B ou 18B
Les multimètres OWON 16B ou 18b ont la capacité d’émettre en Bluetooth les données affichées.
L’application OWON_v2 développée sous App Inventor se connecte donc automatiquement au multimètre lorsque celui-ci est allumé et que sa fonction Bluetooth est activée. Elle est destinée aux personnes mal-voyantes pour lesquelles la lecture de l’écran du multimètre est impossible.
Elle affiche les informations qui permettent cette connexion automatique.
Il s’agit de l’adresse mac du multimètre ainsi que les UUID du service et de sa caractéristique effectuant la notification des données en BLE.
L’écran affiche le détail des données transmises dans le flot de données BLE. Ce sont :
- Le nombre de décimales de la valeur mesurée,
- Si cette mesure est en dépassement de capacité ou non
- La position du sélecteur ou le type de mesure effectué
- Si le mode « Hold » est activé ou non
- Si le mode relatif est activé ou non
- Si le mode « range auto » est activé ou non
- Si la batterie est faible ou non
- Le résultat signé de la mesure
La moitié inférieure de l’écran constitue un énorme bouton (accessible de ce fait facilement par une personne mal voyante).
Si on presse brièvement sur ce bouton on entend l’énoncé de la mesure en cours.
Si cette mesure est en dépassement de capacité, un message vocal le signalant se substitue à la valeur.
Si on presse plus longuement ce même bouton, la liste des champs listés ci-dessus sont énumérés avec la valeur de leur état actuel.
Tout changement de position du sélecteur sur le multimètre déclenche automatiquement l’énoncé du type de mesure. (millivolts, volts, ohms, hertz, ...etc).
Tout appui sur un bouton du multimètre modifiant le type de mesure ou son état provoque automatiquement l’annonce vocale de ce changement avec son nouvel état.
Si la batterie et faible un message d’alerte vocale se fait entendre automatiquement toutes les 5 minutes.
Nb : si par erreur on tourne le sélecteur dans le mauvais sens et qu’on éteint le multimètre, il suffit de le rallumer et de réactiver la fonction BLE pour que le smartphone s’y reconnecte automatiquement.
Annexe 1 : Transmission BLE
Le multimètre est identifié par son adresse MAC. (Par exemple : A6:C0:80:90:2D:DB) Il suffit de donc changer celle-ci pour utiliser un autre multimètre. Par contre les identifiants de service et de notification sont toujours les mêmes. C’est cet ensemble MAC / UUID service / UUID caractéristique qui permet la connexion automatique du smartphone au multimètre.
UUID du service : 0000fff0-0000-1000-8000-00805f9b34fb
UUID de la caractéristique de notification : 0000fff4-0000-1000-8000-00805f9b34fb
Les données émises par le multimètre sont constituées d’un ensemble de 6 octets au format Little endian par groupes de 2 octets avec dans chaque octet le bit de poids le plus faible à droite.
En voici la description :
pos. | début | longueur | Contenu |
---|---|---|---|
Octet 0 : | 0 | 5 | Pos.sélecteur / type de mesure partie 2 |
Octet 0 : | 5 | 1 | Dépassement de capacité |
Octet 0 : | 6 | 2 | Nombre de décimales |
Octet 1 : | 0 | 8 | Pos.sélecteur / type de mesure partie 1 |
Octet 2 : | 0 | 4 | inusité |
Octet 2 | 4 | 1 | Batterie faible |
Octet 2 | 5 | 1 | Range auto |
Octet 2 | 6 | 1 | Mode relatif |
Octet 2 | 7 | 1 | Mode "hold" |
Octet 3 | 0 | 8 | inusité |
Octet 4 | 0 | 8 | Valeur mesurée partie 2 |
Octet 5 | 0 | 1 | Signe |
Octet 5 | 1 | 7 | Valeur mesurée partie 1 |
Pour accéder au type de mesure, il faut donc intervertir les octet 0 et 1 afin d’obtenir un mot de 16 bits en appliquant le calcul suivant : (octet1 * (2^8)) OR octet0
Cela nous donnera un mot de 16 bits en Big endian (bit de poids le plus faible à droite) ainsi formé :
Pos. début | Longueur | Contenu |
---|---|---|
0 | 13 | Pos.sélecteur / type de mesure |
13 | 1 | Dépassement de capacité |
14 | 2 | Nbre de décimales |
On applique la même transformation aux octets 4 et 5 pour accéder à la valeur de la mesure.
(octet5 * (2^8)) OR octet4
Ce qui nous donne le mot de 16 bits suivant :
Pos. début | Longueur | Contenu |
---|---|---|
0 | 1 | Signe |
1 | 15 | Valeur mesurée |
NB : Pour obtenir le signe, il faut tester la valeur de l’octet 5 avant transformation.
Si celui-ci est inférieur à 128, c’est une mesure positive. Sinon il faut multiplier par -1 le résultat.
Exemple :
Si octet 5 < 128 valeur = ((octet5 * 2^8) OR octet4) / 10^NbDecimales Sinon valeur = ((((octet5 - 2^7) * 2^8) OR octet4) / 10^NbDecimales) * -1
Annexe 2 : Nouveau multimètre
Si c’est la première connexion au multimètre ou si on a changé d’appareil, l’application ne trouvant pas l’appareil par défaut propose après sa tentative de connexion avortée de choisir le nouvel appareil en faisant un SCAN des dispositifs accessibles en BLE.
Il faut allumer le multimètre et activer sa fonction Bluetooth avant d’appuyer sur le bouton SCAN.
Dans la liste proposée, il faut cliquer ensuite sur l’adresse MAC correspondant au multimètre puis d’appuyer sur le bouton CONNEXION.
Le multimètre peut être reconnu par son nom qui contient par défaut les lettres « BDM ».
Si l’appareil n’apparaît pas immédiatement dans la listes des dispositifs BLE, il faut faire STOP SCAN puis relancer le scan en appuyant à nouveau sur le bouton SCAN.
Ce nouvel appareil est alors mémorisé et la connexion à celui-ci se fera par la suite de façon toujours automatique sans avoir à refaire de SCAN.
Cahier des charges
- Rendre un multimètre parlant pour qu'une personne malvoyante puisse établir des mesures
Analyse de l'existant et liens utiles
Matériel
- Multimètre Owon 16B ou 18B
- Téléphone Android
Outils
Coût
- Gratuit
Fichiers source
Télécharger le pdf de la documentation figurant sur cette page
Télécharger le fichier .aia et .apk
Le fichier .aia est le fichier source pour ouvrir le projet dans Appinventor
Le fichier .apk est le fichier pour installer l'application