Senseur barométrique Bluetooth

Bonjour à toutes et à tous,

Connaissez-vous ce composant ?

Si oui, quel est le type de données qu'il génère. Est-ce un ensemble de phrases, un bloc de données, quel format ?

Edit : Je pense que je me suis trompé de sous-forum. Merci de remettre ce message à sa place.

Merci pour vos informations.

Cordialement.

Pierre.

Bonjour

belle petite carte !!
il faudrait tomber sur un vendeur donnant davantage d'informations
le nRF51822 est avant tout un soc BLE.
En Bluetooth BLE rien n'est évident !!! (manière dont les infos sont logées dans des trames)
peut être faut-il interroger la carte avec une application sur smartphone ....

Vu le prix et les fonctionnalités (un nRD51822 entrouré d'une floppée de capteurs) cette carte ne peut que susciter de l'intérêt !!

Avec un moteur de recherche et 'nRF51 sensor tag' on peut déjà trouver des pages dans ce genre :

on y trouve des infos sur les 'services' et 'caractéristiques' portant les infos, c'est du 'pur' BLE

Avec un peu de savoir faire en Bluetoooth BLE on peut avec un ESP32 ou un Raspberry PI 'faire parler' cette carte, juste une question de motivation et d'investisement .....

Merci pour cette réponse et ce lien.

Mon but est de l'intégrer à une application GPS que je développe pour smartphone Android et d'utiliser le baromètre pour corriger l'altitude GPS.

Cordialement.

Pierre.

Les composants nRF5x, ce sont des processeurs ARM (M0 dans cette carte) avec le Bluetooth ajouté. On trouve des tas de cartes compatibles arduino construites autour. J'ai fait des essais avec la carte adafruit nRF52840. Mais pour le composant que tu vises, est-ce que tu as trouvé de la documentation? Comment ça se configure (par BT)? C'est pré-programmé? Est-ce qu'on peut le reprogrammer?

Bonjour

le lien que j'ai donné au message #1 donne des élémenst de réponse :

-la carte serait vendue programmée avec les diverses grandeurs physiques accessibles dans des couples services/caractéristique identifiés, donc utilsable telle quelle

-elle serait programmable comme toute carte nRF5x avec un ARM , les pins SWD sont facilement accessibles

Vu son prix et ses fonctionnaliéts il ne serait pas étonnant de voir apparaître des exploitations variées de cette carte, y compris des reprogramations sous MBED ou même sous IDE Arduino !!

Nordic Semiconductor c'est du sérieux et bien documenté.
(le nRF51822 est répandu, il est présent par exemple sur la première version des cartes BBC MIcro:bit.... programmable également sous IDE Arduino !!)

Ambigüité par contre sur le soc : on lit parfois nRF51822 , parfois nRF51802 !!

J'ai commandé cette carte. Je devrais la recevoir vers la fin du mois. Dès lors, j'essaierai de voir ce qu'on peut en tirer simplement.

Cordialement.

Pierre.

Je viens de recevoir le petit module. J'y ai mis une pile neuve et l'ai mis sous tension : une petite LED s'allume pendant une seconde.

J'essaie maintenant de l'appairer avec mon smartphone (Samsung A41 Android 10). Il est détecté sous le nom de SENSOR_PRO. Si j'essaie de l'appairer, "appairage en cours" s'affiche et un message m'informe que "Une application est requise pour utiliser cet appareil". L'appairage ne se fait pas.

Avec un autre smartphone (XIAOMI Redmi 7A Android 9), même problème, mais un message différent : "Association rejetée par SENSOR_PRO".

Partant de là, je ne sais pas quoi faire. Des idées ?

NOTA : sur ce petit module, il y a deux boutons. Je ne suis pas arrivé à savoir à quoi ils servent.

Cordialement.

Pierre.

Bonjour

BLE est une version de Bluetooth très différente des précedentes, c'est totalement 'à part', autre protocole.
Bien souvent l'appairage n'est pas requis contrairement au Bluetooth Classique.

L'utilitaire nRFConnect devrait pouvoir renseigner sur le périphérique et peut être même permettre d'accéder à certains infos . Autre utilitaire : BlueFuit Connect d'Adafruit.
ils peremetternt de 'sonder' un

En général on récupère les infos en accédant (par lecture ou souscription) à une structure bien définie de 'services' et de 'catactéristiques' . Dans le lien donné au message #1 on a quelques informations à ce sujet.

cas particuliers : certains capteurs BLE diffusent spontanément des données d mesure dans leur trame de 'signalement' (advertizing) La place y est comptée il est donc peu probable que ce capteur multiple y diffuse des valeurs de pression, température.....

Dans celui là il y a une application Android : Bluetooth 4.0 BLE Sensor Tag/iBeacon Station NRF51822 - LinkSprite Playgound

ChPr:
Je viens de recevoir le petit module. J'y ai mis une pile neuve et l'ai mis sous tension : une petite LED s'allume pendant une seconde.

J'essaie maintenant de l'appairer avec mon smartphone (Samsung A41 Android 10). Il est détecté sous le nom de SENSOR_PRO. Si j'essaie de l'appairer, "appairage en cours" s'affiche et un message m'informe que "Une application est requise pour utiliser cet appareil". L'appairage ne se fait pas.

Avec un autre smartphone (XIAOMI Redmi 7A Android 9), même problème, mais un message différent : "Association rejetée par SENSOR_PRO".

Partant de là, je ne sais pas quoi faire. Des idées ?

NOTA : sur ce petit module, il y a deux boutons. Je ne suis pas arrivé à savoir à quoi ils servent.

Cordialement.

Pierre.

Bonjour
regarde sur le github nordic si il n'y a pas un apk pour le tag nrf52

MarsaMatruh:
Les composants nRF5x, ce sont des processeurs ARM (M0 dans cette carte) avec le Bluetooth ajouté. On trouve des tas de cartes compatibles arduino construites autour. J'ai fait des essais avec la carte adafruit nRF52840. Mais pour le composant que tu vises, est-ce que tu as trouvé de la documentation? Comment ça se configure (par BT)? C'est pré-programmé? Est-ce qu'on peut le reprogrammer?

Bonjour
Oui le dongle Nordic nRF52840 est bien sympa pour jouer avec les BT
et c'est directement exploitable en sniffer avec wireshark

al1fch:
... Dans celui là il y a une application Android : https://www.linksprite.com/wiki/index.php5?title=Bluetooth_4.0_BLE_Sensor_Tag/iBeacon_Station_NRF51822

J'avais vu ce lien, mais comme il y avait 6 applications *.apk, je n'avais rien fait.

Je les ai installées sur mon smartphone (Android 10) et il m'a été dit que la version de ces apk n'était pas à ce niveau et que cela risquait de ne pas fonctionner : je confirme, quelque soit l'application lancée, il y a bien un scan, mais rien n'est trouvé.

J'ai tenté une installation sur mon ancien smartphone Android 4.2 : rien n'a voulu s'installer.

Je n'ai pas réussi à savoir si mon smartphone Samsung A41 est compatible avec le BLE, il faut que je cherche.

Cordialement.

Pierre.

regarde ce lien ce lien , il semble y avoir qq réponses

Artouste:
Bonjour
regarde sur le github nordic si il n'y a pas un apk pour le tag nrf52
Nordic Semiconductor Playground · GitHub

Sur ce site, j'ai téléchargé la seule application (de ce que j'ai vu) qui soit du code java. J'ai réussi à la compiler avec Android Studio et le résultat est le même que l'une des 6 applications vues précédemment (nrfUARTV2.apk). Le résultat est le même, ça scan et ne trouve rien.

Le point positif est que ayant le code source, j'ai pu voir que mon smartphone est compatible BLE. Je n'ai pas eu le droit au "finish" :

       if (!getPackageManager().hasSystemFeature(PackageManager.FEATURE_BLUETOOTH_LE)) {
            Toast.makeText(this, R.string.ble_not_supported, Toast.LENGTH_SHORT).show();
            finish();
        }

Mais bon, tout ce code est vraiment très difficile à comprendre. Si ça avait fonctionner, j'aurais peut-être insisté.

Cordialement.

Pierre.

Artouste:
regarde ce lien ce lien , il semble y avoir qq réponses

Merci pour ce lien, j'ai téléchargé le code source et le fichier apk. Pour l'instant, j'ai installé le fichier apk qui cherche ... mais ne trouve pas.

J'essaierai de compiler le code pour essayer de comprendre.

Cordialement.

Pierre.

on peut ebvisafer cette petite carte comme :

-un capteur prêt à l'emploi qu'il faut interrpoger à partir d'une application sur smartphone, d'un ESP32 ou autre soc BLE... le tout est de trouver le bon code ....pour exploiter la carte dotée de son firmware d'usine

-une carte de développement pour soc NRF5108 et là il faut développer son propre firmware avec MBED, Arduino..... Jlink....

Un des vendeurs vendeur reproduit l'ensemble de services/caractéristiques que le firmware d'usine met en place (c'est vérifiable avec nRFConnect, 'couteau suisse du BLE')
https://fr.aliexpress.com/item/4000420947841.html?spm=a2g0o.productlist.0.0.4c1530bcuu692Y&algo_pvid=94a7e567-79b7-45e7-b46e-5ac10a4aed52&algo_expid=94a7e567-79b7-45e7-b46e-5ac10a4aed52-0&btsid=2100bdd016166123268886667e8882&ws_ab_test=searchweb0_0,searchweb201602_,searchweb201603_

Nordic Semiconductor propose pour ses puces BLE un autre utilitaire qui pourrait peut être récupérer une partie des mesures :
nRF Toolbox

al1fch:
... Un des vendeurs vendeur reproduit l'ensemble de services/caractéristiques que le firmware d'usine met en place (c'est vérifiable avec nRFConnect, 'couteau suisse du BLE')
https://fr.aliexpress.com/item/4000420947841.html?spm=a2g0o.productlist.0.0.4c1530bcuu692Y&algo_pvid=94a7e567-79b7-45e7-b46e-5ac10a4aed52&algo_expid=94a7e567-79b7-45e7-b46e-5ac10a4aed52-0&btsid=2100bdd016166123268886667e8882&ws_ab_test=searchweb0_0,searchweb201602_,searchweb201603_ ...

C'est exactement cette carte que j'ai., mais ce vendeur ne donne aucun lien pour les fichiers apk, je les ai trouvés avec d'autres vendeurs.

al1fch:
... Nordic Semiconductor propose pour ses puces BLE un autre utilitaire qui pourrait peut être récupérer une partie des mesures :
nRF Toolbox ...

nrfToolbox, comme les autres "apk" et sources que j'ai pu installer ou compiler et exécuter ne réussissent à trouver ma carte.

En recherche, mon smartphone la trouve difficilement mais ne peut pas l'appairer.

Par contre, j'ai l'application "Oruxmap" qui détecte sans problème ma carte, me donne son adresse MAC et, je suppose, l'utilise (je n'ai pas pu vérifier car je ne sais pas bien me servir de cette application).

Si vous avez trouvé d'autres sources java que je pourrais compiler ...

Cordialement.

Pierre.

Bon, j'avance un peu. J'ai trouvé pourquoi les applications que j'ai essayées ne trouvaient pas ma carte : sous Android, il faut que l'application ait la permission d'accès au GPS. Ce que je viens de faire pour une des applications dont j'ai le code source : Ma carte est reconnue.
Pour autant, je ne peux guère aller plus loin car j'ai l'impression que pour y recueillir des infos, il faut lui donner des identifiants relatifs au données du genre :

    public static String HEART_RATE_MEASUREMENT = "00002a37-0000-1000-8000-00805f9b34fb";
    public static String CLIENT_CHARACTERISTIC_CONFIG = "00002902-0000-1000-8000-00805f9b34fb";

    static {
        // Sample Services.
        attributes.put("0000180d-0000-1000-8000-00805f9b34fb", "Heart Rate Service");
        attributes.put("0000180a-0000-1000-8000-00805f9b34fb", "Device Information Service");
        // Sample Characteristics.
        attributes.put(HEART_RATE_MEASUREMENT, "Heart Rate Measurement");
        attributes.put("00002a29-0000-1000-8000-00805f9b34fb", "Manufacturer Name String");
    }

Malheureusement, l'application que j'ai semble assez incohérente en ce sens ou elle se veut afficher des températures alors que les identifiants sont relatifs à la fréquence cardiaque.

Des connaisseurs du BLE et de ces identifiants ?

Cordialement.

Pierre.

Bonjour

les identifiants , dans le vocabulaire du BLE concernent des 'attributs' : 'services' et leurs 'caractéristiques'. tous définis par identifiant unique : UUID

-nombre de 16 bits pour un certain nombre de services prédéfinis
-nombre de 128 bits pour tous les autres

voilà une première approche du BLE : https://blog.groupe-sii.com/le-ble-bluetooth-low-energy/

C'est pas compliqué mais complexe !
Très loin d'être un spécialiste je n'ai fait qu'effleurer le sujet et n'ai traité que quelques cas simples de balises (beacons diverses) , capteur de température et hygrométrie , capteur de pression de pneumatiques.

al1fch:
... C'est pas compliqué mais complexe !
Très loin d'être un spécialiste je n'ai fait qu'effleurer le sujet et n'ai traité que quelques cas simples de balises (beacons diverses) , capteur de température et hygrométrie , capteur de pression de pneumatiques. ...

Merci al1fch pour ces documents. Je vois un peu mieux la structure de ces échanges.

L'application Android que j'ai semble bien gérer l'ensemble de ces données pour autant que je les ai.

Donc, à moins que je me trompe, il me faut alors les UUID pour les services et les caractéristiques que je souhaite utiliser. Ce sont la température et la pression atmosphérique. Je lis que tu as utilisé certains d'entre eux.

Peux-tu donc me les fournir ou me donner un lien où je pourrais les trouver.

Cordialement.

Pierre.

Il n'y a pas de 'profil' générique 'pression' ou 'température' mais une multitude de 'profils' très spécialisés ,
-certains définis par l'organisme Bluetooth avec des UUID de 16 bits
-les autres définis, chacun de leur côté, par les fabriquants de bidules BLE (UUID de 128 bits)
(un maker peut définir lui même sa structure de services/caractéristiques avec des UUID de son cru !)

Pour la pression des pneumatiques c'est dans un échange sur ce forum concernant le système TPMS (pression de pneumatiques ) système particulier

Pour la température il s'agissait de petits capteurs XIAOMI de références LYWSD03MMC et MJ_HT_V1 que j'interroge périodiquement avec un Raspberry Pi
De mémoire ces capteurs ont eux aussi ont leur structure services/caractéristiques particulière pour accéder à la température ambiante et à l'hygrométrie relative.
je vais rechercher les infos qui ne sont peut être pas sur ce forum mais dans une suite de mails à mon voisin @lesept !

Si tu utilises les ESP32 tu y verras quelques exemples de code fournis avec la librairie BLE
J'avais trouvé une piste pour interroger mes capteurs LYWSD03MMC (en firmware d'usine) avec un ESP32

Tu y trouveras peut être de l'inspiration pour te connecter puis traiter avec une caractéristique particulière d'un service particulier :esp32-snippets/Mijia-LYWSD03MMC-Client.ino at master · karolkalinski/esp32-snippets · GitHub
Ce code ne va pas lire la caractéristique porteuse de l'information (UUID : ebe0ccc1-7a0a-4b0c-8a1a-6ff2997da3a6) il s'enregistre auprès d'elle pour être notifié d'une valeur.

Il me semble que ça fonctionnait mais n'ai pas poursuivi .
Un raspberry PI étant chez moi chargé des collectes d'info je lui ai également confié l'acoute ou l'interrogation de ces capteurs BLE Xiaomi en plus du reste.

attributs.png

attributs.png