Calificación:
  • 0 voto(s) - 0 Media
  • 1
  • 2
  • 3
  • 4
  • 5
Arduino como traductor SPI-I2C?
#1
Estoy un poco atascado y necesito vuestra ayuda, os comento.

Estoy automatizando poco a poco la casa (lo típico, luces, temperaturas,....) con configuración modular. Los módulos del enjambre son "distintos" pero a nivel lógico son "iguales" (atmega's y attiny's) y se comunican entre ellos por i2c utilizando configuración multi master (esto es que todos son esclavos y que cada uno de ellos puede convertirse en maestro "si tiene algo de decir"). Todo funciona sin problemas, de hecho tengo un analizador lógico para ver el tráfico en el bus por si hay problemas.

Este enjambre es totalmente independiente pero inútil, ya que no hay ni un solo dispositivo de salida donde visualizar valores y aquí es donde entraba la segunda parte en la cual estoy atascado.

Hasta hace 3 días era feliz, pensaba utilizar como cerebro una raspberry que soportase una interfaz web de control donde podría tener acceso para lectura y control de los diferentes dispositivos y sensores, sonaba bien. Pero llegado el momento de implementación me he encontrado una bonita sorpresa, la raspberry no soporta i2c en configuración multi master y eso me destroza absolutamente todo el proyecto.

He estado pensando utilizar otro microcontrolador más en el enjambre que repitiese el tráfico del bus i2c y se lo pasase por SPI a la raspberry pero no sé qué tal podría funcionar.

Qué se os ocurre?

PD: En ninguno de los dos buses necesito velocidad (con 50khz me sobra), el tiempo de ocupación del bus será como mucho de 0.1% y según lo tengo configurado cada orden a cualquier dispositivo o desde cualquier dispositivo ocupa un máximo de 16bytes.

PD2: No me importa publicar código y esquemas (lo haré si os interesa) pero aún lo tengo todo bastante desorganizado como para hacerlo, ya lo iré preparando. Mola
Citar
#2
te dejo un tutorial para conectar la raspberry pi con el arduino mediante i2c:

http://blog.oscarliang.net/raspberry-pi-...ected-i2c/

Supongo que si quieres usar el multimaster tendras que resolver algunos problemillas extras y programar tu parte del protocolo. Quizas te es mas rentable conectar la raspberry con usb al arduino, o en serie (te lo enseña el articulo tb) o usar ethernet hacia la raspberry con la shield en 1 de los arduino a modo de gateway, o cambiar el esquema a master en la raspberry y los demas como esclavos. Xk necesitas multimaster?

no conocia ese protocolo, me recuerda a un token ring. Toda la info que des del proyecto es bienvenida!
Citar


Temas similares...
Tema Autor Respuestas Vistas Último mensaje
  Cómo se programa este Arduino? cybero 7 755 02-01-2017, 06:41 PM
Último mensaje: daniez
  Duda de como hacer una medición con arduino Universo 2 609 04-02-2014, 03:59 PM
Último mensaje: profesorfrink42
  ¿Arduino MEGA o Arduino ADK? igargi 7 1,073 25-08-2013, 04:58 PM
Último mensaje: cansi22
  Usar un arduino como un micro atmel kain589 7 1,336 16-07-2013, 03:25 PM
Último mensaje: kain589