Motivasi
- Selama beberapa tahun telah mengeksplorasi kemungkinan akses jaringan lokal ke tempat tidur Sleep Number
- Membuat plugin homebridge yang dapat mengontrol pengaturan tempat tidur melalui HomeKit
- Menerima permintaan dari Sleep Number untuk menonaktifkan plugin karena frekuensi permintaan API terlalu tinggi
- Memutuskan untuk mencari cara melewati server melalui akses jaringan lokal
Persiapan
- Nomor model Sleep Number Hub: 360SIQ01D
- Memerlukan perangkat UART to TTY serta alat perangkat keras lainnya
- Memerlukan USB-A flash drive
Mendapatkan hak akses root
- Hubungkan perangkat UART ke header J16
- Sambungkan konsol ke perangkat UART (baud rate: 115200)
- Nyalakan hub dan tekan <SPACE> dalam 2 detik untuk menghentikan urutan boot otomatis
- Edit variabel lingkungan boot
- Saat boot pertama, masukkan flash drive yang berisi file "let_me_root"
- Mount ulang partisi root sebagai rw dan tambahkan file
let_me_root
- Atur akses SSH
Membuat server kontrol dan pemantauan jaringan lokal
- Menyiapkan server HTTP menggunakan Python 2.7.18
- Menulis skrip server HTTP yang dapat menjalankan skrip di direktori
/bam/scripts
- Menyalin skrip ke hub lalu menjalankannya
Menambahkan skrip rc.d
- Tambahkan skrip rc.d ke partisi
/real.root
- Salin skrip ke hub dan pindahkan ke lokasi yang sesuai
- Tambahkan symbolic link yang diperlukan
Perintah yang berguna
- Berbagai perintah kontrol tempat tidur dapat digunakan dari skrip
/bio
- Contoh perintah:
arg=PSNL: mengambil nilai nomor tidur terakhir yang disetel untuk sisi kiri tempat tidur
arg=PSNS&arg=L100: mengatur nomor tidur sisi kiri tempat tidur menjadi 100
Langkah berikutnya
- Menjelajahi fungsi kontrol tempat tidur di direktori root
/bam
- Mempertimbangkan masalah keamanan pada hub yang berkomunikasi dengan server Sleep Number melalui SSH tunnel
- Menulis aplikasi web sederhana yang dapat menggantikan aplikasi SleepIQ
Lampiran: variabel lingkungan U-Boot asli pada 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
- Variabel lainnya...
Opini GN⁺
- Panduan ini memungkinkan akses jaringan lokal ke tempat tidur Sleep Number sehingga memberi pengguna kontrol yang lebih besar
- Mengingat masalah keamanan pada hub, sebaiknya putuskan koneksi internet eksternal
- Ada juga produk smart home lain yang menawarkan fungsi serupa
- Saat mengadopsi teknologi baru, masalah keamanan dan pemeliharaan perlu dipertimbangkan dengan cermat
1 komentar
Opini Hacker News
Dulu menggunakan tempat tidur tanpa fitur pintar
Tertarik pada hub yang berkomunikasi dengan server Sleep Number melalui tunnel SSH
Ada metode serupa untuk mengakses Eight Sleep Pod 3
Mengira ini artikel tentang meretas tempat tidur Eight Sleep
Berikut lelucon tentang ransomware
Situasi ketika internet putus sehingga suhu tempat tidur tidak bisa diatur terasa merepotkan
Memutuskan untuk tidak membeli tempat tidur Sleep Number
Mempertanyakan alasan tempat tidur harus menjalankan Linux
Menyarankan untuk menambahkan alat solder ke daftar belanja