top of page

Connexion de capteurs externes

Les smartphones sont dotés d'une multitude de capteurs, mais ils présentent parfois des limites lorsqu'il s'agit d'étudier certains phénomènes physiques. C'est pourquoi nous avons étendu les capacités de FizziQ en lui permettant de se connecter à des micro-contrôleurs via Bluetooth. Cette innovation ouvre la porte à une variété de possibilités passionnantes. Vous pouvez désormais utiliser une multitude de capteurs externes pour mesurer des paramètres tels que la température, la pression, le poids, la concentration de CO2, et bien d'autres encore. Notre protocole de connexion est ouvert et facile d'utilisation, ce qui signifie que quiconque peut profiter de la puissance et de la simplicité de l'enregistrement des données et de l'analyse offerts par l'application FizziQ.

Table des matières :

Quels micro-contrôleurs peuvent se connecter à FizziQ ? - Quel service Bluetooth utiliser ? - Structure des messages - Comment connecter FizziQ ? - Cas particulier d'un Arduino - Cas particulier d'un micro:bit - Cas particulier d'une ESP32 - Cas particulier du HM10

Ancre 1

Quels micro-contrôleurs peuvent se connecter à FizziQ ?

Tous les micro-contrôleurs disposant d'une connexion Bluetooth BLE peuvent se connecter à FizziQ. Bluetooth est une technologie de communication sans fil standard, offrant des débits de données plus élevés adaptés aux appareils nécessitant des transferts rapides. Bluetooth Low Energy (BLE), conçu pour une faible consommation d'énergie, est idéal pour les appareils alimentés par batterie et les applications IoT de proximité. BLE offre une portée plus courte et une latence potentiellement plus élevée, tandis que le Bluetooth classique offre une portée plus grande et une latence plus faible.

 

Dans la plupart des cas, les micro-contrôleurs peuvent communiquer au format BLE, comme les appareils micro:bit, ESP32 ou Arduino Nano 33 BLE. Si cela n'est pas possible, il peut être nécessaire d'ajouter un module de connexion Bluetooth BLE au micro-contrôleur pour envoyer les données. Un circuit tel que le BM-HM10 peut alors être utilisé, par exemple.

Quel service Bluetooth utiliser avec FizziQ ?

Dans le protocole Bluetooth, un "service" représente une fonctionnalité spécifique que les appareils peuvent offrir, telle que l'audio en streaming ou le partage de fichiers. Chaque service peut avoir plusieurs "caractéristiques" qui décrivent les détails de ses fonctionnalités. Par exemple, un service de casque sans fil peut avoir des caractéristiques telles que le réglage du volume ou la lecture/pause de la musique. Cette organisation hiérarchique permet aux appareils de comprendre et de coopérer efficacement pour offrir une large gamme de fonctionnalités sans fil, des écouteurs aux capteurs IoT.

Pour les échanges de données avec Arduino, FizziQ utilise le service UART. Ce service permet d'envoyer tout type de données acquise par le micro-contrôleur. Suivez ce lien vers la page Nordic Semiconductor.

Pour connecter une carte Arduino avec FizziQ par Bluetooth :

1. Donner un nom au périphérique pour le reconnaître, par exemple : "Connexion FizziQ"

2. L'uuid du service est "6e400001-b5a3-f393-e0a9-e50e24dcca9e"

3. L'uuid de la caractéristique est "6e400002-b5a3-f393-e0a9-e50e24dcca9e"

4. Le service doit inclure une notification (NOTIFY)

Quelle est la structure des messages ?

Les données échangées par le service UART doivent être structurées sous la forme d'une chaîne de caractère au format suivant : 'NOM : VALEUR'. Par exemple pour envoyer l'information d'une tension de 5 volts, envoyer le message UART : 'Tension : 5.0'.

 

Les noms de mesures suivantes sont reconnus par FizziQ :

- température 

- poids

- humidité 

- tension

- pression (atmosphérique) 

- accélération 

- luminosité

- magnétique (champ) 

- compas (boussole)

- co2 (concentration de)

- tvoc (composés volatiles)

- intensité

Pour ces données, l'unités et une icône représentant la donnée sera automatiquement reconnues et affichée. 

 

Des données différentes de celles reconnues peuvent être partagées avec FizziQ, mais les noms non reconnus seront affichés sous le nom d'un capteur générique : "UART".

A noter que seules les trois premières lettres du nom sont reconnues par FizziQ donc il n'est pas nécessaire de mettre toutes les lettres dans le message. 

Comment connecter FizziQ ?

Attention, la gestion de la connexion avec les capteurs externe se fait exclusivement pa l'application. Ne pas tenter d'appairer le capteur externe par le menu Réglages ou Bluetooth natif du smartphone !

 

Pour connecter un capteur externe à FizziQ, dans l'application, dans l'onglet Mesure, sélectionner "Capteurs Externes", puis appuyer sur le bouton de connexion correspondant à votre micro-contrôleur. Une icône donnant accès aux données transmise par le micro-contrôleur apparaitra. La gestion des données se fait de la même manière que tout autre capteur du smartphone. Pour déconnecter le smartphone, appuyer sur Déconnexion. a déconnexion sera automatique si la connexion est rompue. Le bouton Actualiser sert à actualiser la liste des capteurs du smartphone.

Quel programme pour un Arduino ?

Un exemple de programme pour transmettre la donnée Humidité se trouve dans le fichier texte suivant :

Ancre 2
Ancre 3
Ancre 4
Ancre 5

Les étapes de connexion pour Arduino  sont décrites dans la vidéo ci-dessous :

Ancre 6

Quel programme pour un micro:bit

Les étapes de connexion pour micro:bit sont les mêmes que celles pour micro:bit et  sont décrites dans la vidéo ci-dessous :

Ancre 7

Quel programme pour un ESP32 ?

Les étapes de connexion pour micro:bit sont les mêmes que celles pour micro:bit et  sont décrites dans la vidéo ci-dessous :

Les étapes de connexion pour ESP32 sont les mêmes que celles pour micro:bit et Arduino

Ancre 8

Comment programmer un module BM-HM10 ?

Le HM-10 est un petit module 3.3v SMD Bluetooth 4.0 BLE basé sur le TI CC2540 ou CC2541 Bluetooth SOC (System On Chip). Il permet d'émettre des données en format UART sur différents services. Pour plus d'informations :  http://www.martyncurrey.com/hm-10-bluetooth-4ble-modules/

Exemple de programme réalisé avec l'environnement de programmation de VittaSciences, avec une carte micro:bit, une extension Grove et un module HM-10

Capture d’écran 2021-05-30 à 10.42.28.pn
bottom of page