Python-xsense

De knowledge
Aller à la navigation Aller à la recherche

L'utilisation des capteurs x-sense en dehors des applications classiques est assez mal documentée. J'ai seulement trouvé un module python : python-xsense sur github.

Installation

Pour moi elle a été relativement douloureuse mais avec les infos ci-dessous ca va tout seul.

Il vaut mieux créer un environnement virtuel python pour cela.

python -m venv x-sense-env
source x-sense-env/bin/activate

On clone le repository git.

git clone https://github.com/theosnel/python-xsense.git
cd python-xsense

On y est mais avant de lancer le test.py il y a beaucoup de modules a installer.

python -m pip install requests
python -m pip install boto3
python -m pip install pycognito
python -m pip install paho-mqtt
python -m pip install aiohttp

Attention pour paho. Le programme dit qu'il manque le module paho mais, si on le trouves pour windows, pour linux il faut bien préciser paho-mqtt! Ensuite on lance le programme de test avec les identifiants que l'on a entrés avec l'application lors de la création du compte.

python test.py --username 'mail@mondomaine.com' --password 'monmotdepasse'
----[ Paris Eugène Millon (XXXX7AD2F07111EXXXX711521EXXXXAA) ]-----------------
Station de base (SBS50):
  serial  : 14BXXXX
  online  : yes
  values  : {'type': 'SBS50', 'stationSN': '14B9XXXX', 'deviceSN': '14B9XXXX', 'sw': 'v1.5.7', 'rfFreq': '868', 'voiceVol': '75', 'alarmVol': '75', 'alarmTone': '1', 'ledBrt': '8', 'ssid': 'XXX', 'ip': 'X.Y.Z.101', 'mac': 'EC:C9:FF:7A:XX:XX', 'macBT': 'EC:C9:FF:7A:XX:XX', 'wifiRSSI': '-61'}
# Station de base (XXXXE563F07111EFB406B141D849XXXX)
Thermo-hygromètre (STH51):
  serial  : 00000001
  online  : yes
  values  : {'type': 'STH51', 'batInfo': 3, 'rfLevel': 3, 'online': '1', 'alarmStatus': False, 'temperature': 19.8, 'humidity': 45.6, 'temperatureUnit': '1', 'temperatureRange': [-20, 60], 'humidityRange': [0, 100], 'alarmEnabled': True, 'continuedAlarm': False, 'time': '20250221181904'}
Thermo-hygromètre 2 (STH51):
  serial  : 00000002
  online  : yes
  values  : {'type': 'STH51', 'batInfo': 3, 'rfLevel': 3, 'online': '1', 'alarmStatus': False, 'temperature': 18.4, 'humidity': 51.2, 'temperatureUnit': '1', 'temperatureRange': [-20, 60], 'humidityRange': [0, 100], 'alarmEnabled': True, 'continuedAlarm': False, 'time': '20250221181904'}
Thermo-hygromètre 3 (STH51):
  serial  : 00000003
  online  : yes
  values  : {'type': 'STH51', 'batInfo': 3, 'rfLevel': 3, 'online': '1', 'alarmStatus': False, 'temperature': 18.7, 'humidity': 48.8, 'temperatureUnit': '1', 'temperatureRange': [-20, 60], 'humidityRange': [0, 100], 'alarmEnabled': True, 'continuedAlarm': False, 'time': '20250221181905'}

On voit bien comment obtenir toutes les informations sur les capteurs installés. En particulier la température et l'humidité des 3 capteurs.

L'étude du code nous en apprendra beaucoup.