PAWRISE CARE
IoT / Hardware

Le collier est le cœur produit : capteurs embarqués, connectivité cellulaire basse consommation et firmware C (Zephyr RTOS) sur un SiP nRF9160 (MCU + modem intégrés, sans AT commands), pensés pour tenir sur batterie, fonctionner en zone blanche et transmettre en sécurité. Voici ce qu'on embarque et pourquoi.

12 à 15 jautonomie cible
IP67poussière + immersion temporaire
-20 à +60°Cplage de température
2000 mAhbatterie Li-Po

Les défis à résoudre

Concevoir un collier autonome, fiable en zone blanche et sécurisé soulève des contraintes interdépendantes.

Autonomie énergétiqueUn collier porté en continu ne peut pas être rechargé souvent. Cible : 12 à 15 jours. Or GPS, modem et capteurs sont énergivores, d'où une gestion fine de l'énergie (veille profonde, capteurs activés à la demande, transmission par batch).
Zones blanchesLe cas critique, la fugue, arrive souvent là où la couverture cellulaire est mauvaise (zones rurales, forêt). Le collier doit fonctionner en mode dégradé : stockage local puis rattrapage (store and forward) au retour du réseau.
Précision de localisationLe GPS dérive en ville (effet canyon) ou sous couvert, et le premier fix peut prendre plusieurs minutes. On accélère via l'A-GPS (éphémérides téléchargées par le réseau) et une fréquence d'acquisition adaptée au contexte.
RobustesseLe collier subit chocs, eau, écarts de température. Certification IP67 (poussière + immersion temporaire) et composants qualifiés de -20°C à +60°C, avec gestion thermique pour le contact avec la peau.
Sécurité des donnéesUn appareil qui transmet la position d'un animal (donc indirectement de son propriétaire) doit être inviolable : authentification de chaque collier par certificat et chiffrement de bout en bout.

Architecture en 3 zones

Du collier jusqu'au backend, chaque zone a un rôle clair.

Zone 1 · Collier (Edge)

Le hardware embarqué : SiP nRF9160 (MCU + modem), GNSS dédié, capteurs, batterie. Il collecte, met en tampon localement et transmet de façon chiffrée.

Zone 2 · Réseau & communication

Connectivité cellulaire LPWAN (LTE-M, NB-IoT en repli) avec SIM IoT, transport MQTT sur TLS. Pensée pour la basse consommation et le réseau instable.

Zone 3 · Backend & cloud

L'ingestion, le stockage et l'analyse côté plateforme (stack du site : Hetzner / Kubernetes, observabilité Grafana). Le collier s'y authentifie en mTLS via la gateway.

Choix du MCU : nRF9160 (SiP), plus d'AT commands

Le nRF9160 est un SiP qui intègre le microcontrôleur (ARM Cortex-M33) et le modem LTE-M/NB-IoT dans la même puce. L'alternative (MCU + modem externe : ESP32-S3 + BG95, ou LilyGO T-SIM7080G) oblige le firmware à piloter le modem par AT commands (protocole textuel des années 1980 : chaînes à construire, réponses fragiles à parser, timeouts empiriques, 250+ pages de doc). Avec le nRF9160, la connectivité passe par la LTE Link Control library du nRF Connect SDK (lte_lc_connect(), en C sur Zephyr) : plus d'AT commands. Son TrustZone sert de secure element pour la clé privée.

Le collier : composants embarqués

Ce qu'on met dans le collier, et le rôle de chaque brique.

ComposantChoixRôle
MCU + modem (SiP)nRF9160-SICAExécute le firmware C/Zephyr et la machine à états. Le SiP intègre le modem LTE-M/NB-IoT : connectivité via la LTE Link Control library du nRF Connect SDK, sans AT commands. TrustZone = secure element pour la clé privée.
GNSS dédiéu-blox ZOE-M8QLocalisation multi-constellation (GPS/GLONASS/Galileo/BeiDou), plus précise que le GNSS intégré seul ; A-GPS pour accélérer le premier fix.
Centrale inertielle (IMU)LSM6DSOX (ST)Accéléromètre + gyroscope avec Machine Learning Core embarqué : activité, immobilité, chocs (I²C).
TempératureTMP117 (TI)Mesure de la température corporelle, précision ±0,1°C (I²C).
Fréquence cardiaque1 option parmi 4 (axe R&D)Rythme cardiaque (PPG optique ou piézo) ; feature différenciante conditionnée à un Go/No-Go. Indicateur de tendance, non médical.
Mémoire flashW25Q128 (16 Mo, SPI)Tampon local des données en attente de transmission (store and forward, ~72 h).
PMU + régulateurBQ25895 + TLV62585Charge Li-Po, fuel gauge I²C (niveau précis), régulation 3,3 V et protections.
AntennesTaoglas FPC (LTE-M + GNSS)Antennes flexibles dédiées à la cellulaire et au GNSS.
BatterieLi-Po 2000 mAh (103450)Alimentation autonome ; autonomie cible 12 à 15 jours.

Capteurs : choix justifiés

Les capteurs retenus, et les alternatives écartées.

MesureRetenuPourquoi
Activité (IMU)LSM6DSOXTrès basse consommation, Machine Learning Core embarqué (détection de mouvement) qui décharge le MCU. Préféré aux IMU sans logique interne.
TempératureTMP117Précision médicale (±0,1°C), idéale pour détecter une fièvre. Préféré aux capteurs génériques moins précis.
Fréquence cardiaqueAxe R&D · 4 candidatsMAX30102 (PPG rouge/IR), APDS-9960 (PPG vert 530 nm), MAXM86161 (PPG 3 longueurs d'onde) et un capteur piézocéramique sont testés sur chien ; décision Go/No-Go fin du mois 6. Le PPG optique étant calibré pour l'humain, sa fiabilité sur un animal à fourrure et en mouvement doit être validée. Donnée de tendance, non médicale. Le radar 60 GHz est écarté (consommation, précision faible sur chien mobile).

Réseau & transport

Connectivité basse consommation, pensée pour le réseau instable.

LTE-M plutôt que NB-IoTLTE-M garde la mobilité (handover entre cellules) et une latence faible, indispensables pour suivre un animal en mouvement. NB-IoT, plus économe mais quasi statique, est gardé en repli.
Antennes flexibles Taoglas (FPC)Deux antennes FPC dédiées, une LTE-M et une GNSS, intégrables dans le boîtier compact du collier.
Transport MQTT sur TLSMQTT (broker EMQX) est le standard IoT : pub/sub léger, QoS, sessions persistantes, reconnexion et mode hors-ligne gratuits. Pensé batterie + réseau instable, cohérent avec la gateway du site.
SIM IoT 1NCEForfait IoT multi-opérateurs (500 Mo / 10 ans, roaming 165 pays), adapté aux faibles volumes, au lieu d'une SIM grand public.
Mode dégradé (store and forward)Hors réseau, la télémétrie et les positions sont mises en flash puis renvoyées à la reconnexion, sans surconsommer en tentatives répétées.

Sécurité de la flotte

Aucun faux collier ne peut injecter de données : authentification par certificat de bout en bout.

  • PKI X.509 : autorité racine (Root CA) puis CA intermédiaire qui signe les certificats des colliers et du serveur. Sur le site, c'est step-ca.
  • Authentification mutuelle (mTLS) : chaque collier prouve son identité par certificat, et vérifie le serveur. Un appareil non enregistré est refusé, même avec le firmware reverse-engineeré.
  • Provisioning en usine : chaque collier reçoit un device_id et un certificat signé, la clé privée est protégée dans le TrustZone du nRF9160.
  • Activation par l'utilisateur : appairage BLE (QR code), association device_id ↔ user_id, le collier passe de l'état « provisioned » à « active ».

Logique embarquée : machine à états

Le firmware C/Zephyr adapte ses acquisitions et sa transmission selon l'état de l'animal et du réseau.

BOOTDémarrage, auto-test, reprise après crash.
PAIRINGAppairage BLE avec le smartphone à la première activation.
RESTAnimal au repos : acquisitions espacées, consommation minimale.
ACTIVEAnimal en activité : acquisitions plus fréquentes.
ESCAPESortie de zone détectée : GPS et transmission accélérés (cas fugue).
LIVESuivi temps réel à la demande du propriétaire.
NO_NETWORKZone blanche : stockage local, pas de tentatives inutiles.
LOW_POWERBatterie faible : services réduits au strict minimum + alerte.