Banc de programmation de capteurs IOT pour la société MySeat

La société MySeat développe et vend des services d’analyse d’utilisation de l’espace pour les entreprises. L’objectif ? Mesurer si les espaces de travail sont bien dimensionnés, valider l’utilisation et la taille des salles de réunion, savoir combien d’employés il serait possible d’embaucher avant d’avoir à changer de locaux.

Le Projet

MySeat vend / loue et doit déployer des capteurs IOT par centaines pour équiper des espaces de travail. Une étape fastidieuse est la programmation et le déploiement de ces capteurs. J’ai pu participer à des déploiements de 800 capteurs à réaliser en une seule nuit, ce qui n’est pas une mince affaire. De plus chaque capteur doit être programmé spécifiquement pour chaque client.

Pour simplifier cette procédure j’ai pu créer un banc de programmation automatisé connecté à une imprimante d’étiquette pour imprimer des QR Codes contenant une identifiant unique pour chaque capteur. Le QR Code est ensuite collé sur le boitier du capteur et permet d’identifier chaque capteur via une application web accessible via téléphone.

Le Banc de Programmation

Malheureusement je ne retrouve plus de photo de ce produit mais voici le concept :

Raspberry Pi

Un Raspberry Pi a été utilisé pour la programmation des capteurs. Un programmateur seriel est connecté et des scripts python détectent automatiquement la présence d’un capteur pour le programmer. Une base de donnée des capteurs programmés enregistre chaque nouvelle programmation avec l’ID du capteur et un code d’erreur.

Imprimante d'étiquette Brother QL-570 et caméra

A la fin de la programmation, un QR Code est généré par les scripts Python et imprimé grâce à une imprimant d’étiquette branchée en USB au Raspberry Pi.

Une caméra USB permet aussi de scanner le QR Code sur le Raspberry Pi en utilisant de la reconnaissance d’image et la librairie OpenCV

 

Impression 3D

Finalement puisqu’il ne fallait à MySeat que deux unités de banc de programmation, j’ai choisi de designer un boitier sur Solidworks et l‘imprimer en 3D

Ce boitier d’environ 20x12x8cm intègre :

  • Raspberry Pi
  • Camera USB
  • Carte électronique de connexion aux capteurs 
  • Boutons de controle (programmer / effacer)

Le résultat

En fin de projet nous avons mesuré les gains dus à ce banc de programmation :

  • Temps de programmation est passé de 60 secondes / capteur à 20 secondes (3x plus rapide, soit un gain de 9 heures sur 800 capteurs).
  • Easy to scale” : Il suffit d’imprimer un nouveau boitier et dupliquer la carte SD du Raspberry pi pour avoir un nouveau banc prêt à l’emploi.
  • Setup simplifié : avant le banc, la programmation nécessitait un PC avec de nombreuses libraires et IDE à configurer.