Hello,
Je sais que le problème a déjà traité maintes fois, mais je n’arrive pas la résoudre…
J’ai un script python sur Raspberry qui communique avec une carte en I2C et j’ai toujours cette Errno 121 Remote I/O error…
Dans le terminal j’ai essayé la commande sudo i2cdetect -y 1 et ma carte est bien détecté sur 0x60
J’ai essayé en retirant les pull up de ma carte mais le problème reste le même…
Mon fichier I2C_Keyboard.py
import smbus
import threading
import time
I2CAddress = 0x60
Request = 0x03
HardwareReferenceRequest = [0x05, 0x03, 0x01, 0x00, 0x00]
class I2C_Commmunication(threading.Thread):
def _init_(self)
threading.Thread._init(self)
self.terminated = False
def run(self):
I2C = smbus.SMBus(1)
time.sleep(1)
while 1:
try:
I2C.write_i2c_block_data(I2CAddress, Request, HardwareReferenceRequest)
print("I2C OK")
except:
print("I2C failed")
time.sleep(0.1)
def stop(self):
self.Terminated = True
Le fichier Startup.py
from I2C_Keyboard import I2C_Communication
I2C_CommunicationThread = I2C_Communication()
I2C_CommunicationThread.setName("I2C_Communication")
I2C_CommunicationThread.start()
while True:
time.sleep(1)
Le script envoie une trame tous les 100ms sinon ma carte reboot (c’est son fonctionnement). Je fais ça via un thread du coup.
Si quelqu’un a une idée