Motivation
- Exploration depuis plusieurs années de la possibilité d’accéder au lit Sleep Number via le réseau local
- Création d’un plugin homebridge permettant de contrôler les réglages du lit via HomeKit
- Demande de Sleep Number de désactiver le plugin en raison d’une fréquence trop élevée des requêtes API
- Décision de trouver un moyen de contourner les serveurs via un accès au réseau local
Prérequis
- Numéro de modèle du hub Sleep Number : 360SIQ01D
- Un périphérique UART vers TTY et d’autres outils matériels sont nécessaires
- Une clé USB-A est nécessaire
Obtenir les droits d’accès root
- Connecter le périphérique UART au header J16
- Connecter une console au périphérique UART (baud rate : 115200)
- Mettre le hub sous tension et appuyer sur <SPACE> dans les 2 secondes pour interrompre la séquence de démarrage automatique
- Modifier les variables d’environnement de démarrage
- Au premier démarrage, insérer une clé USB contenant le fichier
let_me_root
- Remonter la partition root en
rw puis ajouter le fichier let_me_root
- Configurer l’accès SSH
Créer un serveur de contrôle et de supervision sur le réseau local
- Configurer un serveur HTTP avec Python 2.7.18
- Écrire un script de serveur HTTP capable d’exécuter les scripts du répertoire
/bam/scripts
- Copier le script sur le hub et l’exécuter
Ajouter un script rc.d
- Ajouter un script rc.d à la partition
/real.root
- Copier le script sur le hub et le déplacer à l’emplacement approprié
- Ajouter les liens symboliques nécessaires
Commandes utiles
- Le script
/bio permet d’utiliser diverses commandes de contrôle du lit
- Exemples de commandes :
arg=PSNL : récupérer la dernière valeur de numéro de sommeil définie pour le côté gauche du lit
arg=PSNS&arg=L100 : définir le numéro de sommeil du côté gauche du lit à 100
Étapes suivantes
- Explorer les fonctions de contrôle du lit dans le répertoire racine
/bam
- Prendre en compte les problèmes de sécurité du hub, qui communique avec les serveurs Sleep Number via un tunnel SSH
- Écrire une petite application web pouvant remplacer l’application SleepIQ
Annexe : variables d’environnement U-Boot d’origine du hub
baudrate=115200
bootcmd=run find_board_name; run set_bootargs;setenv boot_mmcdev 0; run bootcmd_mmc;setenv boot_mmcdev 1; run bootcmd_mmc
- Autres variables...
Avis de GN⁺
- Ce guide permet un accès au lit Sleep Number via le réseau local, offrant davantage de contrôle à l’utilisateur
- Compte tenu des problèmes de sécurité du hub, il est recommandé de couper la connexion à Internet externe
- Il existe aussi d’autres produits de maison connectée offrant des fonctions similaires
- Lors de l’adoption de nouvelles technologies, il faut examiner avec soin les questions de sécurité et de maintenance
1 commentaires
Avis Hacker News
Utilisait autrefois un lit sans fonctions intelligentes
S’intéresse au hub qui communique avec les serveurs de Sleep Number via un tunnel SSH
Il existe une méthode similaire pour accéder au Eight Sleep Pod 3
Pensait qu’il s’agissait d’un article sur le piratage d’un lit Eight Sleep
Voici une blague sur un rançongiciel
Trouve pénible de ne pas pouvoir régler la température du lit quand Internet est coupé
Décide de ne pas acheter de lit Sleep Number
S’interroge sur la nécessité pour un lit d’exécuter Linux
Recommande d’ajouter un fer à souder à la liste de courses