====== Capteur température MAX6675 ====== Un capteur MAX6675 de température UEXT pour olimex qui cause sur un bus spi. et envoi en OSC 9001 : /TEMP ,f 26.25 il faut spidev pour python: mkdir python-spi cd python-spi wget https://raw.github.com/doceme/py-spidev/master/setup.py wget https://raw.github.com/doceme/py-spidev/master/spidev_module.c wget https://raw.github.com/doceme/py-spidev/master/README.md wget https://raw.github.com/doceme/py-spidev/master/CHANGELOG.md sudo python setup.py install le code python : {{:python:temperature.py|}} #!/usr/bin/python # -*- coding: utf-8 -*- # Lecture du module max6675 capteur de température , UEXT Olimex # transmission des donnees en OSC import spidev,time,liblo,sys PORTOSC=9001 IPOSC="localhost" if len(sys.argv) > 1 : PORTOSC=sys.argv[1] if len(sys.argv) > 2 : PORTOSC=sys.argv[1] IPOSC=sys.argv[2] # ouverture spidev du bus spi spi=spidev.SpiDev() spi.open(2,0) # ouverture port OSC try: targetOSC = liblo.Address(IPOSC,PORTOSC) except liblo.AddressError, err: print str(err) sys.exit() # Lecture du max6675 while (True): try: x=spi.readbytes(2) temp=((x[0] << 8 | x[1]) >> 3) * 0.25 # print temp liblo.send(targetOSC,"/TEMP", temp) time.sleep(1.0) except KeyError: pass except KeyboardInterrupt: quit()