Vous avez déjà un capteur, un module FizziQ Connect ou un micro-contrôleur qui produit une mesure ? Ce guide explique comment transmettre cette mesure à FizziQ ou à FizziQ Web, et comment exploiter ses données. Trois chemins possibles, du plus simple au plus ouvert :

  • FizziQ Connect : aucune programmation, le boîtier reconnaît le capteur branché et transmet ses mesures en Bluetooth ;
  • micro-contrôleur en Bluetooth Low Energy (Arduino, ESP32, micro:bit ou module HM-10) vers l’application mobile ;
  • micro-contrôleur en USB vers FizziQ Web, sur ordinateur.

Le guide détaille le fonctionnement du module Bluetooth de FizziQ, les modes de connexion, le format des messages et les préfixes reconnus, puis la connexion filaire USB en fin de guide.

Vous voulez construire votre propre instrument avec Arduino, micro:bit ou ESP32 ? Consultez le guide Construire un instrument scientifique avec Arduino, micro:bit ou ESP32 : choix de la carte, capteurs, étalonnage, acquisition et incertitudes. En une phrase : ce guide-ci explique comment connecter la mesure à FizziQ, celui-là explique comment la fabriquer.

Utilisation de Bluetooth Low Energy (BLE) dans FizziQ

FizziQ utilise la technologie standard Bluetooth Low Energy (BLE) pour communiquer avec les capteurs externes. Le BLE, également connu sous le nom de Bluetooth Smart, diffère du Bluetooth classique par plusieurs aspects importants :

  • Consommation énergétique réduite : idéal pour les capteurs et dispositifs sur batterie.
  • Connexion rapide : établissement de la connexion en quelques millisecondes.
  • Mode de diffusion (broadcasting) : permet aux appareils d’envoyer des données sans connexion établie.
  • Protocole de communication simplifié : adapté aux transferts de petites quantités de données.
  • Compatibilité avec les appareils mobiles récents : intégré dans tous les smartphones modernes.

Important : l’application FizziQ est compatible uniquement avec les périphériques utilisant la technologie BLE. Les périphériques Bluetooth classiques ne sont pas supportés.

Fonctionnalités du module Bluetooth de FizziQ

Le module Bluetooth de FizziQ tire parti des capacités BLE des smartphones pour :

  • connecter des capteurs externes via la technologie standard BLE ;
  • afficher les données des capteurs en temps réel ;
  • enregistrer les données dans le cahier d’expériences ;
  • contrôler à distance le démarrage et l’arrêt des enregistrements ;
  • utiliser une horloge externe pour la synchronisation temporelle ;
  • collecter les données de plusieurs capteurs simultanément.

Modes de fonctionnement

Le module BLE de FizziQ propose deux modes de fonctionnement principaux.

Mode point à point : connexion directe à un appareil BLE spécifique.

  • Connexion stable avec un seul appareil.
  • Adapté aux expériences nécessitant une communication bidirectionnelle.
  • Permet d’envoyer des commandes à l’appareil connecté.
  • Utilise le protocole UART over BLE (services UUID spécifiques).

Mode radio : réception de données transmises par plusieurs appareils BLE simultanément.

  • Permet de recevoir des données de plusieurs capteurs sans établir de connexion complète.
  • Utilise les données diffusées par les périphériques BLE (advertising data).
  • Idéal pour les réseaux de capteurs et la collecte de données distribuée.
  • Propose un filtrage optionnel pour se concentrer sur un appareil spécifique.

Utilisation du module BLE dans l’application FizziQ

Connexion d’un périphérique BLE

Pour connecter un capteur BLE à l’application FizziQ :

  1. Accéder au module Bluetooth : ouvrez l’application FizziQ, touchez l’icône de menu (☰) en haut à gauche, puis sélectionnez « Bluetooth ».
  2. Rechercher et connecter : l’application affiche automatiquement les appareils BLE à proximité, les appareils compatibles FizziQ en priorité. Si aucun appareil n’apparaît, touchez le bouton de rafraîchissement en haut de l’écran. Touchez le bouton « Connecter » à côté du périphérique souhaité, puis attendez le message de confirmation.
  3. Pour les périphériques non visibles : touchez « Afficher les autres appareils » en bas de l’écran, et assurez-vous que le périphérique est bien allumé et en mode découvrable.

Sélection et affichage des capteurs

Une fois la connexion établie :

  1. Retour à l’écran principal : l’application y revient automatiquement, et une icône Bluetooth active apparaît dans la barre d’état.
  2. Sélection d’un capteur : ouvrez le menu des instruments, puis faites défiler jusqu’à la section « Capteurs externes ». Les capteurs détectés y sont listés avec leur type (température, accélération…) ; sélectionnez celui que vous souhaitez afficher.
  3. Configuration de l’affichage : utilisez les options d’affichage standard (graphique, valeur numérique…) et ajustez les paramètres avec l’icône d’engrenage. En mode Multi, vous pouvez afficher plusieurs capteurs BLE sur des lignes séparées, aux côtés des capteurs internes.
  4. Enregistrement des données : utilisez le bouton d’enregistrement standard (cercle rouge). Les données des capteurs BLE reçoivent les mêmes horodatages que celles des capteurs internes. L’appareil BLE peut aussi démarrer et arrêter l’enregistrement à distance avec les commandes spéciales enr et sto.
  5. Déconnexion : revenez au menu Bluetooth pour vous déconnecter, ou éteignez simplement le périphérique BLE.

Les modules FizziQ Connect

Les modules FizziQ Connect sont la manière la plus simple de connecter des capteurs I²C, One Wire ou analogiques à FizziQ : des dispositifs Bluetooth préconfigurés, sans aucune programmation, qui reconnaissent le capteur branché et transmettent ses mesures à l’application.

Infographie FizziQ Connect : des capteurs I²C, One Wire et analogiques reliés à FizziQ par Bluetooth

Types de modules

FizziQ Connect Standard

  • Module point à point traditionnel.
  • Communication bidirectionnelle.
  • Supporte une grande variété de capteurs externes.

FizziQ Radio

  • Modules de diffusion de données.
  • Transmission sans connexion établie.
  • Idéal pour les réseaux de capteurs distribués.
  • Reconnaissable au préfixe « FizziQ Radio » dans le nom de l’appareil.

Capteurs compatibles

Les modules FizziQ Connect peuvent être équipés de nombreux types de capteurs : température, humidité, pression, accélération, lumière, champ magnétique, CO2, détecteurs variés, et plus encore.

Connecter un micro-contrôleur

FizziQ peut communiquer avec une grande variété de micro-contrôleurs (Arduino, ESP32, micro:bit, etc.) équipés d’un module Bluetooth. Pour une documentation complète et des exemples de code détaillés, consultez la page des capteurs externes.

Principes de base

La connexion d’un micro-contrôleur à FizziQ repose sur trois principes essentiels.

Communication UART via Bluetooth

  • Utilisez un module Bluetooth compatible (HM-10, HC-05…) ou un micro-contrôleur avec Bluetooth intégré.
  • Configurez le Bluetooth pour utiliser un service UART compatible.

Format des messages

  • Respectez le format nom_capteur:valeur[:horloge]\n.
  • Utilisez les préfixes de capteurs reconnus par FizziQ (voir la section « Types de capteurs supportés »).

Fréquence d’envoi

  • Envoyez les données à intervalles réguliers (recommandé : 200 à 500 ms).
  • Évitez d’envoyer trop de données simultanément pour ne pas saturer la connexion.

Utiliser le module HM-10

Le module HM-10 est un module Bluetooth Low Energy peu coûteux et largement disponible, qui peut servir à connecter des capteurs à FizziQ. Pour des instructions détaillées et des exemples de montage, consultez la page des capteurs externes.

Structure des données

Format des messages

Le format des messages attendu par FizziQ est le suivant :

nom_capteur:valeur[:horloge]\n

Où :

  • nom_capteur identifie le type de capteur (ex. : « temperature », « acceleration ») ;
  • valeur est la mesure du capteur (généralement un nombre décimal, avec le point comme séparateur) ;
  • horloge (optionnel) est un horodatage pour la synchronisation temporelle ;
  • \n est le caractère de nouvelle ligne qui termine le message.

Exemples :

temperature:25.5
pression:1013.25
tension:3.3:12500

Types de capteurs supportés

FizziQ reconnaît automatiquement les capteurs externes en analysant le préfixe du nom utilisé dans les messages. Voici la liste complète des préfixes reconnus et des capteurs correspondants :

PréfixeType de capteurUnité par défautExemple de message
wei / poiPoidskgpoids:0.32
humHumidité%humidity:45.2
tenTensionVtension:3.3
prePression atmosphériquehPapressure:1013.25
temTempérature°Ctemperature:25.5
accAccélération absolue (externe)m/s²acceleration:9.81
lumÉclairementluxluminosite:500
magChamp magnétiquemTmagnetisme:2.5
com / bouNord magnétique (boussole)°compass:154.2
co2CO₂ppmco2:450
detDétection-detection:1
tvoTVOC (composés organiques volatils)ppbtvoc:120
intIntensité (ampèremètre)Aintensite:0.25
disDistancemmdistance:155
sonSonde (température étanche)°Csonde:21.5
infInfrarouge (thermomètre IR)°Cinfrarouge:36.4
pouPoulsbpmpouls:72
pm2PM 2.5 (particules fines)µg/m³pm25:15.5
o2Oxygène%oxygene:20.9
resRésistivité%resistivite:12
uvIndice UV-uv:3.2
phpH-ph:7.2
nivNiveau sonore (externe)dBniveau:65
rotRotationrpmrotation:120

Si aucun préfixe n’est reconnu mais que le message est au bon format, FizziQ affiche le capteur comme « Capteur externe » générique.

Remarque : pour assurer une reconnaissance optimale, placez le préfixe exact au début du nom de votre capteur. Par exemple, temperature:23.5 sera reconnu comme un capteur de température, mais ma_temperature:23.5 pourrait être reconnu comme un capteur magnétique à cause du préfixe « ma ».

Connexion filaire USB avec FizziQ Web

Sur ordinateur, FizziQ Web propose une alternative au Bluetooth : la connexion filaire par câble USB. Un module FizziQ Connect ou un micro-contrôleur branché à l’ordinateur envoie ses mesures sur son port série, et FizziQ Web les affiche, les trace et les enregistre en temps réel.

À quoi ça sert

  • Utiliser des capteurs que l’ordinateur n’a pas : température, humidité, pression, distance, CO₂, pH, tension, masse, éclairement
  • Enregistrer plusieurs capteurs en même temps sur une base de temps commune, jusqu’à six canaux.
  • Transférer les mesures dans le cahier d’expériences pour les analyser dans le tableur, tracer des graphiques et rédiger un compte-rendu.
  • Faire de l’EXAO en classe sans rien installer : tout se passe dans le navigateur.

Par rapport au Bluetooth, la liaison filaire est plus simple et plus fiable : pas d’appairage, pas de batterie, pas d’interférences, et elle fonctionne sur les ordinateurs dépourvus de Bluetooth.

Ce qu’il vous faut

  • Un navigateur compatible : Chrome, Edge ou Opera. Firefox et Safari ne gèrent pas la liaison série.
  • FizziQ Web en https (https://fizziqweb.web.app) : la liaison série est refusée sur une page ouverte en http.
  • Un câble USB de données : de nombreux câbles ne font que la charge.
  • Un appareil qui parle FizziQ : un FizziQ Connect (firmware 3.2.3 ou plus, un capteur branché), ou un micro-contrôleur programmé pour envoyer ses mesures au format décrit plus bas.
  • Le pilote de la puce USB-série de l’appareil si le système ne le reconnaît pas : CH340, CP210x (ESP32) ou FTDI. Les Arduino Uno/Mega et le Raspberry Pi Pico sont reconnus sans pilote.

Connecter l’appareil

  1. Préparer l’appareil. Téléversez le programme sur le micro-contrôleur (ou allumez le FizziQ Connect avec un capteur branché) et reliez-le à l’ordinateur. Fermez tout programme qui utilise déjà le port série : moniteur série de l’IDE Arduino, terminal, autre onglet FizziQ. Un port série ne peut être ouvert que par un seul programme à la fois.
  2. Ouvrir le module. Dans la barre latérale de FizziQ Web, cliquez sur « Capteurs externes », puis choisissez « Connexion USB ». À la première utilisation, un message rappelle les prérequis ; cliquez sur « Continuer ».
  3. Choisir le port. Cliquez sur « Connecter ». Le navigateur affiche la liste des ports série disponibles, nommés d’après leur puce (Arduino, CH340, Silicon Labs pour l’ESP32, FTDI, Raspberry Pi Pico…). Sélectionnez votre appareil et validez.
  4. Vérifier. Dès les premières mesures reçues, FizziQ bascule sur l’écran des instruments : l’état passe à « Connecté », une carte apparaît pour chaque capteur détecté et le graphique commence à tracer. Si rien n’arrive pendant dix secondes, FizziQ se déconnecte de lui-même (voir le dépannage ci-dessous).

Aux ouvertures suivantes, FizziQ Web se reconnecte automatiquement au même appareil s’il est branché. Pour se déconnecter, cliquez sur « Déconnecter » ou débranchez simplement le câble.

Envoyer des données depuis un micro-contrôleur

Avec un FizziQ Connect, il n’y a rien à programmer. Avec votre propre micro-contrôleur, le principe est le même qu’en Bluetooth, à une différence près : chaque ligne commence par la signature FZ suivie d’un numéro de canal.

FZ<canal>:nom_capteur:valeur[:horloge]\n
  • FZ : signature obligatoire. Toute ligne qui ne commence pas par FZ0: à FZ5: est ignorée, ce qui permet de garder d’éventuels messages de mise au point sur le même port.
  • <canal> : un chiffre de 0 à 5, pour distinguer plusieurs capteurs identiques (trois thermomètres sur FZ0, FZ1 et FZ2).
  • nom_capteur : un nom commençant par l’un des préfixes reconnus (voir « Types de capteurs supportés » ci-dessus) ; la casse est indifférente.
  • valeur : un nombre, avec le point comme séparateur décimal.
  • horloge (optionnel) : un horodatage en millisecondes, par exemple millis(). S’il est présent, FizziQ l’utilise comme base de temps ; sinon, il horodate à la réception.

Exemples :

FZ0:temperature:25.3
FZ0:humidite:65.2
FZ1:pression:1013.25:12840

Exemple minimal pour Arduino ou ESP32, deux mesures par seconde :

void setup() {
  Serial.begin(115200);   // même vitesse que dans FizziQ Web (115200 par défaut)
}

void loop() {
  float t = lireTemperature();   // votre fonction de lecture
  Serial.print("FZ0:temperature:");
  Serial.print(t, 1);
  Serial.print(":");
  Serial.println(millis());
  delay(500);
}

Comme en Bluetooth, l’appareil peut piloter l’enregistrement à distance en envoyant FZ0:enr:0 pour le démarrer et FZ0:sto:0 pour l’arrêter et transférer les mesures dans le cahier.

Quelques règles pour une liaison propre :

  • La vitesse de transmission doit être identique des deux côtés. FizziQ Web utilise 115200 bauds par défaut ; ce réglage se change dans Réglages → Connexions.
  • Une mesure par ligne, 2 à 10 mesures par seconde et par capteur. Au-delà, le graphique devient illisible.
  • Texte simple uniquement : pas de caractères accentués ni de données binaires sur le port. Un paquet contenant un octet non texte est rejeté en bloc.
  • Sur les cartes à USB natif (Leonardo, Pico, ESP32-S3), ajoutez while (!Serial); après Serial.begin() pour ne pas perdre les premières trames.

Utiliser les mesures

L’écran des capteurs externes de FizziQ Web fonctionne comme un instrument classique : cliquez sur les cartes des capteurs à suivre (plusieurs à la fois si vous le souhaitez), lancez l’enregistrement avec le bouton REC, puis arrêtez-le. Les mesures sont transférées dans le cahier d’expériences sous forme de tableau, avec une colonne de temps et une colonne par capteur, prêtes pour le tableur et les graphiques.

Le bouton « Messages » affiche les cent dernières lignes reçues, telles quelles. C’est l’outil le plus utile pour vérifier ce que l’appareil envoie réellement.

Dépannage de la connexion USB

« Web Serial API non supporté ». Vous n’êtes pas dans Chrome, Edge ou Opera, ou la page est ouverte en http. Utilisez l’adresse en https.

Aucun port dans la liste. Changez de câble (beaucoup ne transmettent pas les données) et de port USB. Vérifiez que l’appareil est reconnu par le système (gestionnaire de périphériques sous Windows, ls /dev/tty.* sous macOS, /dev/ttyUSB* ou /dev/ttyACM* sous Linux) et installez le pilote de sa puce si nécessaire. Sous Linux, l’utilisateur doit appartenir au groupe dialout. Vérifiez aussi que le site n’a pas été bloqué : icône de cadenas dans la barre d’adresse → Paramètres du site → Ports série.

Le port apparaît mais la connexion échoue ou tourne indéfiniment. Un autre programme occupe le port : fermez le moniteur série et les autres onglets FizziQ. Débranchez le câble, attendez deux secondes, rebranchez, puis rechargez la page.

Connecté, mais aucun capteur n’apparaît. Le port est ouvert mais FizziQ ne reconnaît pas ce qu’il reçoit. Ouvrez « Messages » :

Ce que vous voyezCause probableSolution
RienL’appareil n’envoie rien, ou pas encoreVérifiez le programme et le capteur ; ajoutez while (!Serial); ; sur FizziQ Connect, un capteur doit être branché.
Des caractères illisiblesVitesses de transmission différentesAlignez le Serial.begin() et le réglage de FizziQ (Réglages → Connexions).
Des lignes lisibles sans FZFormat Bluetooth utilisé en USBAjoutez le préfixe FZ<canal>: en tête de chaque ligne.
Une virgule décimale ou une valeur videValeur non numériqueUtilisez le point ; Serial.print(valeur, 1) le fait automatiquement.
&BINARY:...Données binaires ou caractères accentuésN’envoyez que du texte ASCII, une mesure par ligne.

Les valeurs sautent ou le navigateur ralentit. Réduisez la cadence d’envoi, ne suivez que les capteurs utiles, évitez les câbles longs et les hubs USB non alimentés. Pour une acquisition longue, désactivez la mise en veille de l’ordinateur.

FizziQ Connect. Le firmware doit être en version 3.2.3 ou plus (la version s’affiche au démarrage ; mise à jour par Menu → MAJ sur le boîtier) et un capteur doit être branché, avec des valeurs visibles sur l’écran du boîtier.

Bluetooth ou USB ? USB pour la fiabilité et les longues acquisitions sur ordinateur ; Bluetooth quand le montage doit bouger ou que vous travaillez sur smartphone ou tablette.

Dépannage

Problèmes de connexion

L’appareil n’apparaît pas dans la liste

  • Vérifiez que le Bluetooth de votre smartphone est activé.
  • Assurez-vous que l’appareil est alimenté et en mode découvrable.
  • Redémarrez l’appareil Bluetooth et l’application FizziQ.

La connexion échoue

  • Vérifiez que les services et caractéristiques UUID sont corrects.
  • Assurez-vous que l’appareil n’est pas déjà connecté à un autre smartphone.
  • Essayez de redémarrer l’appareil Bluetooth.

La connexion est instable

  • Réduisez la fréquence d’envoi des données (intervalle minimum recommandé : 200 ms).
  • Vérifiez la charge de la batterie de l’appareil Bluetooth.
  • Rapprochez l’appareil du smartphone.

Problèmes de détection des capteurs

Les capteurs ne sont pas détectés

  • Vérifiez que le format des messages est correct.
  • Assurez-vous que les préfixes utilisés correspondent à ceux reconnus par FizziQ.
  • Envoyez des messages de test via un terminal série pour valider le fonctionnement.

Les valeurs sont incorrectes

  • Vérifiez le formatage des valeurs numériques (utilisez le point comme séparateur décimal).
  • Assurez-vous que les unités correspondent à celles attendues par FizziQ.
  • Calibrez vos capteurs si nécessaire.

FAQ

Peut-on connecter un capteur Bluetooth classique à FizziQ ? Non. FizziQ communique uniquement avec les périphériques Bluetooth Low Energy (BLE), plus économes en énergie et intégrés à tous les smartphones récents. Les périphériques Bluetooth classiques ne sont pas supportés.

Quels micro-contrôleurs sont compatibles avec FizziQ ? Tous ceux qui peuvent envoyer leurs mesures au format attendu : Arduino, ESP32, micro:bit, Raspberry Pi Pico… La connexion se fait en Bluetooth BLE (module HM-10 ou BLE intégré) avec l’application mobile, ou par câble USB avec FizziQ Web sur ordinateur.

Comment connecter un Arduino à FizziQ sans Bluetooth ? Par câble USB avec FizziQ Web, dans Chrome, Edge ou Opera : l’Arduino envoie ses mesures sur le port série au format FZ0:nom_capteur:valeur, et FizziQ Web les affiche et les enregistre en temps réel dans le navigateur, sans rien installer.

Quel format de données FizziQ attend-il ? Une mesure par ligne, au format nom_capteur:valeur[:horloge], avec le point comme séparateur décimal et un nom commençant par l’un des préfixes reconnus (tem, pre, hum, co2…). En USB, la ligne commence en plus par la signature FZ suivie du numéro de canal.

Pourquoi mon capteur n’apparaît-il pas dans FizziQ ? Vérifiez le format des messages, le préfixe du nom et le séparateur décimal. En Bluetooth, assurez-vous que l’appareil est en BLE et en mode découvrable ; en USB, ouvrez le bouton « Messages » de FizziQ Web pour voir les lignes réellement reçues : c’est l’outil de diagnostic le plus direct.