This forum uses cookies
This forum makes use of cookies to store your login information if you are registered, and your last visit if you are not. Cookies are small text documents stored on your computer; the cookies set by this forum can only be used on this website and pose no security risk. Cookies on this forum also track the specific topics you have read and when you last read them. Please confirm whether you accept or reject these cookies being set.

A cookie will be stored in your browser regardless of choice to prevent you being asked this question again. You will be able to change your cookie settings at any time using the link in the footer.

  • 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
  Responder
#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!
  Responder


Posibles temas similares…
Tema Autor Respuestas Vistas Último mensaje
  CONSULTA Cómo puedo hacer un colorimetro casero con arduino? erjavi_zgz 1 238 18-08-2022, 11:49 PM
Último mensaje: pano
  APORTE Como hacer un drone con Arduino paso a paso. Explicado. DroneArduino 6 2,865 30-08-2021, 06:16 PM
Último mensaje: Lab.Gluon
  CONSULTA Problema con display I2C AcoranTf 2 1,458 16-04-2020, 06:05 PM
Último mensaje: AcoranTf
  como combinar muchos datos con arduino homer32 3 1,633 31-08-2018, 06:55 AM
Último mensaje: homer32
  Cómo se programa este Arduino? cybero 7 2,879 02-01-2017, 06:41 PM
Último mensaje: daniez