Kommunikation zwischen Rpi 3B <-> Arduino Nanu mittels I2C -> 0SError: Errno 121

Moinsen,

ich habe ein Problem mit der Kommunikation zwischen Rpi und meinem Nano mittels I2C.
Bis jetzt konnte mir google immer helfen, jetzt musste ich mich hier auch mal anmelden :wink:

Es geht um die Übertragung von mehreren Sensordaten, welche ich mittels I2C vom Nano an den Rpi sende. Diese Daten beschränken sich auf genau 7 Byte.

Wenn ich das Pythonscript auf dem Rpi starte funktioniert es auch, allerdings bekomme ich nach einer Zeit X, welche unterschiedlich zu sein scheint (1 min bis ca. 5 min), einen Error:

Traceback (most recent call last):
FILE "mein Verzeichnis.....", line 13, in
data = bus.read_i2c_block_data(address, 0,7)
0SError: [Errno 121] Remote I/O error

Process finished with exit code 1

Code des Raspi:

import smbus
import time

bus = smbus.SMBus(1)

address = 0x10

if __name__=='__main__':

while True:
       data = bus.read_i2c_block_data(address,0,7)
       time.sleep(1)
       print(data)

Code des Arduino:

#include <Wire.h>

data_test = {0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF}


//---setup------------
void setup() {
  
  

  Wire.begin(0x10);               //start I2C with address 0x10
  Wire.onRequest(requestEvent);   //wait for master requesting      


  Serial.begin(9600);
  delay(1000);            
  
}
//---------------------------------------------------------------------------------------




/*
 * If master requested data, send complete dataset
 */
void requestEvent(){
  Wire.write(data_test,7);  //transmit 7 bytes of data
}



/*
  Serial.print(data_all[0],HEX);
  Serial.print(data_all[1],HEX);
  Serial.print(data_all[2],HEX);
  Serial.print(data_all[3],HEX);
  Serial.print(data_all[4],HEX);
  Serial.print(data_all[5],HEX);
  Serial.println(data_all[6],HEX);
*/
  

}

Zur Verschaltung: Am Bus hängen Pi, Arduino Nano sowie noch eine RTC.

Nano sowie Pi und RTC sind über einen Pegelwandler getrennt.

Die Bytes werden normalerweise von anderen funktionen geschrieben, diese funktionieren aber.
Zum Testen sende ich ein byte-Array welches ich auf 0xFF je byte initialisiert habe.

Ich hoffe, auch wenn es zum Teil um Raspi geht, mir hier einer helfen kann, ich weiß gerade nicht mehr weiter.

LG easy

Edit:

Habe die übertragung ohne Pegelwandler versucht, auch hier das selbe Problem. Funktioniert am anfang, nach einiger Zeit jedoch dieselbe Fehlermeldung.