Projeto de engenharia reversa. Começou com a esteira Bowflex Treadmill 22, mas acabou se generalizando para qualquer máquina com Android vendida pela Nautilus Inc. (Nautilus, Bowflex, Schwinn).
Isso se aplica principalmente à Treadmill 22 & Treadmill 56.
A placa de controle do motor é fabricada pela Electronics Way Industry.
Dado o manual de serviço fornecido pela Nautilus Inc. (backup no archive.org):
E focando especificamente nesta parte:
Podemos identificar o “cabo de comunicação” que conecta o controlador do motor como um de 5 pinos. Há apenas um conector de 5 pinos. Eu etiquetei os cabos com suas cores correspondentes (os dados & interruptor estão optoacoplados):
cor do cabo | etiqueta |
---|---|
vermelho | GND |
branco | RXD |
preto | TXD |
amarelo | +12 |
verde | SW |
A placa não está conectada diretamente ao console Android.
O único conector de 5 pinos é da marca Molex. Uma busca no Google por “conectores Molex pequenos” me levou a uma imagem do que chamam de Molex Micro-Fit 3.0 Single Row (5-Pin)
, que é usado para conectar a placa controladora do motor:
Ao dar uma olhada no NautilusLauncher.apk
através do jadx-gui
, posso ver que eles se comunicam com o tablet Android com sua “Console Universal” usando Série a 230400 Baud (usando /dev/ttyS4
). Isso NÃO é o que estamos analisando aqui. Isso se refere à comunicação entre o Android e a “Console Universal”. Estamos investigando as comms entre a “Console Universal” e a “Placa de Controle do Motor”.
Tentar conectar um ESP32 ou uma ponte serial baseada em CH340 diretamente aos cabos entre a base da esteira e a placa controladora Bowflex fez com que a base da esteira não inicializasse corretamente, então comecei a suspeitar que estão usando RS232.
Nota: Conectando apenas ao GND e RXD, podemos “ver” algumas informações hexadecimais aparentemente sem sentido a 9600 baud. Conectar ao TXD faz com que a base da esteira não inicialize.
— Continua, preciso de algum tempo para brincar com meu novo analisador lógico —
©2022-2024 Sebastián Barrenechea. Todos os direitos reservados.
Construído com Astro v4.16.13.