aide pour transformer un code

merci pour cette partie, c'est lié effectivement au différent décalage dans la syntaxe. les cas différents de registre ont l'air de fonctionner. j'ai d'autres messages d'erreur mais je fait un autre post pour ceux ci.

voilà les codes pour info

python

#!/usr/bin/env python
# -*- coding: latin-1 -*-

# === ArduPi-I2C ================================================
# Communication entre Arduino et Raspberry Pi via le BUS I2C
# ===============================================================
# Tutoriel: http://mchobby.be/wiki/index.php?title=ArduPi-I2C
#  

# Ecrit par D. Meurisse pour MCHobby.be
# www.mchobby.be - Vente de kit et composant Arduino et Raspberry Pi
# Licence CC-BY-SA
#
# Basé sur Adafruit_I2C.py librairie Python écrite par AdaFruit Industries 
# www.adafruit.com

import time
import struct
from Adafruit_I2C import Adafruit_I2C
import MySQLdb

from time import sleep, gmtime, strftime

import smtplib
import os
import sys
import smtplib                         

i2c = Adafruit_I2C( 0x04 )

db = MySQLdb.connect(host="localhost",user="root",passwd="xxx",db="xxx")
con = db.cursor()

   
date_mesure = strftime("%Y-%m-%d %H:%M:%S", gmtime())
print date_mesure   

# --- Demander le NO de version ---
# Transfert d'un type BYTE

# Ecriture de la valeur 0x01 dans le registre 0 
i2c.write8( 0, 0x01 );
time.sleep( 0.020 );
print( i2c.readU8( 0x00 ) );

# Donner un delai au périphérique I2C pour qu'il soit prêt a recevoir
# une nouvelle communication... sinon on recoit l'erreur
#   Error accessing 0x04: Check your I2C address
time.sleep( 0.100 )

# --- Demander une valeur décimale ---
# Transfert d'un type DOUBLE

# demander l'opération de reception d'un float h humidité, placer 0x02 dans le
# le registre d'exécution 0
i2c.write8( 0x00, 0x02 )
time.sleep(0.100)
i2c.debug = True


# transformer en string pour unpack
lstData=i2c.readList(0x00,4)
sData = ''
for aByte in lstData:
        sData = sData + chr(aByte)


h_data=struct.unpack('<f',sData)
print h_data # Affiche la valeur en Float.
#h_data_i=round(h_data,2)
#print h_data_i



capteur_ht='SOLAR_H'
# INSERT de la mesure
sql_command = "INSERT INTO tbl_Solar_Hum (Capteur,Humidite, Date_Mesure) VALUES('capteur_ht', 'h_data', 'date_mesure');"
con.execute(sql_command)
db.commit

                    
# demander l'opération de reception d'un float t temperature, placer 0x03 dans le
# le registre d'exécution 0
i2c.write8( 0x00, 0x03 )
time.sleep(0.100)
i2c.debug = True

# transformer en string pour unpack
lstData=i2c.readList(0x00,4)
sData = ''
for aByte in lstData:
        sData = sData + chr(aByte)

t_data, = struct.unpack('<f',sData)
print t_data # Affiche la valeur en Float.

capteur_ht='SOLAR_T'
# INSERT de la mesure
sql_command = "INSERT INTO tbl_Solar_Temp (Capteur, Temperature,Date_Mesure) VALUES('capteur_ht', 't_data', 'date_mesure');"
con.execute(sql_command)
db.commit
                        
# demander l'opération de reception d'un float c02, placer 0x04 dans le
# le registre d'exécution 0
i2c.write8( 0x00, 0x04 )
time.sleep(0.100)
i2c.debug = True

# transformer en string pour unpack
lstData=i2c.readList(0x00,4)
sData = ''
for aByte in lstData:
    sData = sData + chr(aByte)

co2_data, = struct.unpack('<f',sData)
print co2_data # Affiche la valeur en Float.

capteur_co2='SOLAR_CO2'
# INSERT de la mesure
sql_command = "INSERT INTO tbl_Solar_Co2 (Capteur,Taux_co2,Date_Mesure) VALUES('capteur_co2', 'Taux_co2', 'date_mesure');"

con.execute(sql_command)
db.commit

if mysql_errno() :
    
    db.rollback()