He estado leyendo durante bastante tiempo y ahora me gustaría hacer una pregunta propia.
Samsung tiene una serie de robots aspiradores, con una variedad de modelos que en su mayoría solo difieren en el software. Los PCB, etc. son los mismos, además de que el nuevo modelo tiene un módulo WiFi adicional y algunos motores de vacío necesitan un controlador de motor adicional.
Yo mismo tengo el VR20H9050UW, o también llamado VR9000, reemplazado por el 9250, que en realidad también es el 9350, que solo cuenta con un módulo WiFi adicional y una versión de firmware diferente.
Dado que los robots se ejecutan en software de código abierto (según http://opensource.samsung.com/opensource/vr9000h/seq/0 ), debería ser posible acceder al sistema de archivos y, por ejemplo, agregar las herramientas inalámbricas necesarias para el módulo WiFi. para funcionar, ¿no? Tal vez incluso podríamos construir una base de datos con las diferentes versiones de software (que son algo mejoradas en la limpieza de algoritmos con el tiempo) y actualizar nuestros robots nosotros mismos.
Aquí viene mi pregunta: abrí el robot para averiguar qué posibilidades de conexión hay en la PCB, y encontré un conector de 4 pines (accesible incluso sin abrir el robot, por un clip de goma en la carcasa: lo que me lleva a pensar esto es la conexión necesaria para comunicarse con el software) y un conector de 8 pines. Supuse que los 4 pines serían una conexión UART, dice bluetooth en la parte superior del conector, así que tomé mi HC-06 y conecté la conexión de 5V (pin 1) y GND (pin 4). Con un multímetro aprendí que el pin 2 presenta una señal constante de ±3,3 V y el pin 3 ronda los 0,1 V, lo que coincide con los criterios para RX y TX. Sin embargo, tanto mi módulo bluetooth HC-06 como mi cable TTL no me proporcionan ningún dato en el terminal con pantalla/picocom/minicom. Ejecuté un script de python bruto forzando las posibles tasas de baudios, etc. sin embargo, tampoco obtuve respuesta allí. ¿Podría ser posible que necesite ingresar a un modo específico antes de poder conectarme? O, dado que se usa libusb, ¿podría ser un conector USB simple o tal vez incluso otro protocolo/conexión?
En cuanto al conector de 8 pines: presenta 3.3V VCC en el pin 1, GND en el pin 8 y todo lo demás también es de 3.3V, excepto el pin 6, que es un 3.0V constante. ¿Podría ser esto un conector JTAG y cómo podría verificarlo?
Proporcioné una fotografía del PCB. Si fuera de alguna ayuda, también puedo medir la resistencia entre pines.
Si necesita más información, por favor hágamelo saber.
PD: Estoy empezando a conocer los diferentes StackExchanges. Ya está en el Stack Overflow regular, pero pensé que encajaría mejor aquí. ¡Mis disculpas!
Editar: he quitado la etiqueta de serie del chip, lo que revela que la PCB alberga un NXP LPC2926 FBD144. El PCB conectado por los cables negros en la parte superior de la fotografía, que es responsable de dar el comando de encendido/arranque y cambiar entre los diferentes programas de limpieza a través de tres botones sensibles al tacto, alberga un ATMEGA32A.
Deberías mirar otros tableros en este robot. En la parte delantera se encuentra el módulo Robot aspirador (RVC) de CLABSYS http://www.clabsys.com/html/product_module01.html con:
y placa de sensores con:
Obtuve todas las fuentes proporcionadas por Samsung para productos de código abierto en VR20H9050UW y hay fuentes para UBOOT, Linux KERNEL 2.6.32, ROOTFS, utilidades de Linux (alsa, libusb, ncurses, squashfs y zlib), cadena de herramientas para construir todo y el controlador de descarga USB Nexell . Entonces, al usar esta conexión USB en el módulo RVC, debería haber una forma de cargar un nuevo firmware. Podría ser que usando la misma conexión USB, alguien pueda acceder al firmware ya cargado y extraer el contenido del sistema de archivos de él. Pero necesitamos documentación de CLABSYS (o Nexell) sobre cómo hacerlo.
Vicente Bosch
JRE
usuario2943160