Sniffer de 1-wire de Arduino (2 / 4 paso)

Paso 2: PC - miniterm (primer contacto)

En 214 Tutorial; Utilizar una UART para implementar un Bus 1-Wire Master se describe cómo generar o recuperar secuencias de pulso de autobús 1-wire. Lamentablemente los pulsos RESET & presencia tienen que generarse a 9.600 baudios Considerando que todos los demás (lectura, escritura de 0 y 1) deben crearse utilizando 115.200 baudios. Como señala en Nota de aprox. 74; Lectura y escritura de los dispositivos 1-Wire a través de Interfaces Seriales: "Aunque eficiente bajo sistemas operativos como DOS, los sistemas operativos modernos hacer el acceso a los registros de la UART absolutamente ineficiente." y como no queremos utilizar un DS2480B, tenemos que vivir con el hecho de que un interruptor rápido de la velocidad en baudios en una posición de búfer controlado es imposible.

Para el sistema de esto no era un problema, ya que pude detectar confiablemente RESET y presencia de los pulsos en una velocidad en baudios de 115200 como secuencia de 0x00 0x00. En realidad va de 9600 a 115200 daría lugar a 12 bytes en lugar de 1, pero en este caso tenemos sólo 2 bits de comienzo - así 2 bytes sólo. A pesar de 0 x 00 podría ser una escritura 0 - nunca vi a valores por debajo de 0 x 80 en el autobús y así podría discriminar entre escribir 0 y RESET y presencia. En el caso de otros sistemas (maestro y esclavos) podrían cambiar la sincronización exacta y así esta hecho.

(Yo usé un OW servidor 2 ENET con 1 DS2438 como un sistema para estas pruebas.)

Todo dicho, para un primer contacto que realmente no tenemos que cuidar demasiado, solo tenemos que decidir lo que queremos ver y luego seleccione la velocidad apropiada. Utilicé el script de Python miniterm.py que viene con el módulo pySerial (usado más adelante-la interfaz de Python y Arduino con pySerial es muy útil en general) con el fin de abrir el puerto y ver el tráfico entrante:

$ miniterm.py -D -D -D /dev/ttyACM0 9600
$ miniterm.py -D -D -D /dev/ttyACM0 115200

(La configuración del puerto es: 8 bits, sin paridad, 1 bit de parada que se encuentra por defecto en miniterm.)

Una vez que tenemos una conexión establecida y ver en los datos, podemos empezar a analizar el tráfico de autobús. Mira los valores hexadecimales que aparecen (debe ser aproximadamente 5 valores diferentes sólo viene una y otra vez), convertir el hex para secuencias de bits y estudiar el tiempo de autobús, tratar de distinguir entre las operaciones de escritura y lectura, etc..

Si quieres echar un vistazo a un script ("prueba de estado de concepto como") muy cutre, temprano y simple para tener una idea de cómo continuar desde aquí, proceda al siguiente paso.

Artículos Relacionados

LED Fader Arduino al azar.

LED Fader Arduino al azar.

Aleatoriedad. Es tan fácil en el mundo real. En la electrónica mundial, bueno... es realmente difícil. Seguro que es posible crear efectos "pseudo-random" pero no verdaderamente al azar. La única manera de realmente crear la aleatoriedad debe ut
Objetivo practicar con Arduino y puntero láser

Objetivo practicar con Arduino y puntero láser

Así que vamos a decirte que eres un soldado de asalto imperial. Constantemente estamos haciendo fuego sobre para escoria rebelde pero cuando estás cara a cara con el enemigo no podía golpear el costado de un at-at con tu rifle láser.Se preocupe no má
Música despertador

Música despertador

Este Instructable será sobre el diseño de un reproductor de música del uso de diversos bloques. Comprenderá la comunicación entre el microcontrolador, memoria, ordenador, pantalla LCD, RTC, IR remote y el decodificador de archivos de música. Voy a in
Programable EL alambre pared arte proyecto fácil con Cool-Neon

Programable EL alambre pared arte proyecto fácil con Cool-Neon

en blanco de espacio, ¿qué hacer?, ¿qué hacer?Nuestro hackerspace tiene una pared de ladrillos en blanco encima de la chimenea. Ha sido un invierno frío por lo que hemos tenido un buen número de incendios, pero hay algo equivocado en una pared de lad
Indicador de vuelta de la bicicleta de la cubierta de la mochila

Indicador de vuelta de la bicicleta de la cubierta de la mochila

Este proyecto fue creado durante el Sprint diseño CCA rueda bien encaminado a hacer ciclistas más accesibles a los vehículos en la carretera. Utilicé un material que ya tenía que era un protector de lluvia mochila. El post completo en el proyecto se
Controlar nivel de líquido

Controlar nivel de líquido

IntroducciónEste proyecto es una manera simple y fácil de monitorear y medir cualquier nivel de líquido en su casa. Esto está probado y funcionando completamente en el depósito que tengo en mi sótano lleno de petróleo. Hay muchas veces sobre todo en
* duino barril temperatura Monitor, o la búsqueda de la pinta perfecta

* duino barril temperatura Monitor, o la búsqueda de la pinta perfecta

que estaba buscando un proyecto que combina mis tres cosas favoritas - trabajando en mi tienda, construir cosas interesantes para mi bar y por supuesto, bebiendo cerveza. Después de un par de semanas en el viejo país beber "el Guinness", decidí
Estación meteorológica de Arduino GPRS - parte 1

Estación meteorológica de Arduino GPRS - parte 1

Con la amenaza de los patrones de tiempo cada vez más errático circula los cielos de nuestro planeta, día tras día de la incesante lluvia, inundaciones, sequías, tormentas de granizo y quién sabe qué más, una estación meteorológica parece ser un acce
Joystick control brazo Robot utilizando un Arduino

Joystick control brazo Robot utilizando un Arduino

Propósito y descripción de esta guíaEste instructable es una mano para un proyecto escolar que hemos hecho. El propósito de este proyecto era crear un control de brazo robot utilizando thumbsticks. Tuvimos que utilizar un Arduino Uno para el control
Interactive Arduino Powered LED esquís

Interactive Arduino Powered LED esquís

¿Enfermos de la oscuridad mate de esquí nocturno? ¡ No temáis! Esquís de LED interactivos programables Arduino aclarará su noche.Estas casa esquís tienen LEDs incrustados en la hoja superior y p-tex. Un Arduino y un acelerómetro controla las luces. S
Estación meteorológica de Edison y Arduino/Genuino 101

Estación meteorológica de Edison y Arduino/Genuino 101

Este Instructable describe un Intel (r) Edison y basada en Arduino/101 si modular estación meteorológica que recientemente he creado para mi uso en el hogar.Conceptos fundamentales, que define la configuración y soluciones, fueron:Para tener una solu
Arduino controla colmena fumigador / ambientador de aire

Arduino controla colmena fumigador / ambientador de aire

Dentro del caos relativo de mi arreglos domésticos, tengo un pequeño oasis de orden perfecto. Una cosa que puedo llamar 'organizado' y totalmente funcional. Una cosa que puedo tocar y saber que es confiable y listo para la acción en un aviso de momen
Arduino FightStick

Arduino FightStick

Saludos y Bienvenidos a mi tutorial sobre la creación de un fightstick utilizando Arduino.Este proyecto es un fightstick creada principalmente para el uso con PC y PlayStation 3 y fue hecho para mi curso de prototipado rápido en la Universidad de Wes
Señal de tráfico / luz de freno cables con controlador Arduino

Señal de tráfico / luz de freno cables con controlador Arduino

siempre ha querido una vieja señal de tráfico y finalmente consiguió uno recientemente.  Sin embargo, fue muy simple cableado para que todas las luces estaban fijos en.  ¿Qué divertido es esto?  También quería probar un controlador Arduino y pensé qu