Пример #1
0
 def __init__(self):
     self.temperatureSensor = TemperatureSensor()
     self.temperatureSensor.setOnAttachHandler(TemperatureSensorAttached)
     self.temperatureSensor.setOnDetachHandler(TemperatureSensorDetached)
     self.temperatureSensor.setOnErrorhandler(TemperatureSensorError)
     self.temperatureSensor.setOnTemperatureChangeHandler(
         TemperatureSensorTemperatureChanged)
Пример #2
0
    def open_phidget(self):
        #Create an temperaturesensor object
        try:
            temperatureSensor = TemperatureSensor()
        except RuntimeError as e:
            print("Runtime Exception: %s" % e.details)
            print("Exiting....")
            exit(1)

        try:
            temperatureSensor.openPhidget()
        except PhidgetException as e:
            print("Phidget Exception %i: %s" % (e.code, e.details))
            print("Exiting....")
            exit(1)

        try:
            temperatureSensor.waitForAttach(10000)
        except PhidgetException as e:
            print("Phidget Exception %i: %s" % (e.code, e.details))
            try:
                temperatureSensor.closePhidget()
            except PhidgetException as e:
                print("Phidget Exception %i: %s" % (e.code, e.details))
                print("Exiting....")
                exit(1)
            print("Exiting....")
            exit(1)

        self.sensor = temperatureSensor
        return 1
Пример #3
0
 def initIR(self):
     try:
         sensor = TemperatureSensor()
         sensor.openPhidget()
         sensor.waitForAttach(2000)
         sensor.setTemperatureChangeTrigger(0, 0.1)
         sensor.setOnTemperatureChangeHandler(self.onChange)
         print("Temperature sensor detected.")
     except PhidgetException:
         print("No temperature sensor detected.")
     except Exception:
         print("Temperature sensor detection failed. Is the Phidgets library not installed?")
     self.sensor = sensor
Пример #4
0
    def open_phidget(self):
        #Create an temperaturesensor object
        try:
            temperatureSensor = TemperatureSensor()
        except RuntimeError as e:
            print("Runtime Exception: %s" % e.details)
            print("Exiting....")
            exit(1)

        try:
            temperatureSensor.openPhidget()
        except PhidgetException as e:
            print("Phidget Exception %i: %s" % (e.code, e.details))
            print("Exiting....")
            exit(1)

        try:
            temperatureSensor.waitForAttach(10000)
        except PhidgetException as e:
            print("Phidget Exception %i: %s" % (e.code, e.details))
            try:
                temperatureSensor.closePhidget()
            except PhidgetException as e:
                print("Phidget Exception %i: %s" % (e.code, e.details))
                print("Exiting....")
                exit(1)
            print("Exiting....")
            exit(1)

        self.sensor = temperatureSensor
        return 1
Пример #5
0
 def __init__(self, sensor_index=0):
     self.sensor_index = sensor_index
     self.lock = threading.RLock()
     self.temp = 0
     self.temperatureSensor = TemperatureSensor()
     self.temperatureSensor.openPhidget()
     print("Waiting for attach....")
     self.temperatureSensor.waitForAttach(10000)
     print "Temperature sensor %s (serial %d)\nSensor type %s input %d" % \
         (self.temperatureSensor.getDeviceName(), 
          self.temperatureSensor.getSerialNum(), 
          self.temperatureSensor.getDeviceType(), 
          self.sensor_index)
     self.temperatureSensor.setTemperatureChangeTrigger(self.sensor_index, 0.05)
     self.temperatureSensor.setOnTemperatureChangeHandler(self._temp_changed)
Пример #6
0
import sys, string
import os, random
import subprocess
from time import gmtime, strftime
from datetime import datetime
import time
#Phidget specific imports
from Phidgets.PhidgetException import PhidgetErrorCodes, PhidgetException
from Phidgets.Events.Events import AttachEventArgs, DetachEventArgs, ErrorEventArgs, TemperatureChangeEventArgs
from Phidgets.Devices.TemperatureSensor import TemperatureSensor, ThermocoupleType
#import methods for sleeping thread
from time import sleep

#Create an temperaturesensor object
try:
    temperatureSensor = TemperatureSensor()
except RuntimeError as e:
    print("Runtime Exception: %s" % e.details)
    print("Exiting....")
    exit(1)

#Information Display Function
def DisplayDeviceInfo():
    inputCount = temperatureSensor.getTemperatureInputCount()
    print("|------------|----------------------------------|--------------|------------|")
    print("|- Attached -|-              Type              -|- Serial No. -|-  Version -|")
    print("|------------|----------------------------------|--------------|------------|")
    print("|- %8s -|- %30s -|- %10d -|- %8d -|" % (temperatureSensor.isAttached(), temperatureSensor.getDeviceName(), temperatureSensor.getSerialNum(), temperatureSensor.getDeviceVersion()))
    print("|------------|----------------------------------|--------------|------------|")
    print("Number of Temperature Inputs: %i" % (inputCount))
    for i in range(inputCount):
Пример #7
0
port5_dig = str(config.get("InterfaceKit_settings", "Port D5"))
port6_dig = str(config.get("InterfaceKit_settings", "Port D6"))
port7_dig = str(config.get("InterfaceKit_settings", "Port D7"))

ports_dig = [port0_dig, port1_dig, port2_dig, port3_dig, port4_dig, port5_dig, port6_dig, port7_dig]

# Determine if an InterfaceKit or Thermocouple or both are connected to the RPi. If they are connected the config.txt file should have 'Y' under the section.
kit_connected = str(config.get("General_settings", "InterfaceKit connected"))
couple_connected = str(config.get("General_settings", "Thermocouple connected"))

# Create an interfacekit and/or thermocouple object
try:
    if kit_connected == "Y":
        interfaceKit = InterfaceKit()
    if couple_connected == "Y":
        temperatureSensor = TemperatureSensor()
except RuntimeError as e:
    print("Runtime Exception: %s" % e.details)
    print("Exiting....")
    exit(1)


# InterfaceKit Information Display Function -> Taken from phidgets.com
def displayDeviceInfo():
    print("|------------|----------------------------------|--------------|------------|")
    print("|- Attached -|-              Type              -|- Serial No. -|-  Version -|")
    print("|------------|----------------------------------|--------------|------------|")
    print(
        "|- %8s -|- %30s -|- %10d -|- %8d -|"
        % (
            interfaceKit.isAttached(),
Пример #8
0
 def __init__(self):
     self.temperatureSensor = TemperatureSensor()
     self.temperatureSensor.setOnAttachHandler(TemperatureSensorAttached)
     self.temperatureSensor.setOnDetachHandler(TemperatureSensorDetached)
     self.temperatureSensor.setOnErrorhandler(TemperatureSensorError)
     self.temperatureSensor.setOnTemperatureChangeHandler(TemperatureSensorTemperatureChanged)
Пример #9
0
class PhidgetTemp():
    def __init__(self):
        self.temperatureSensor = TemperatureSensor()
        self.temperatureSensor.setOnAttachHandler(TemperatureSensorAttached)
        self.temperatureSensor.setOnDetachHandler(TemperatureSensorDetached)
        self.temperatureSensor.setOnErrorhandler(TemperatureSensorError)
        self.temperatureSensor.setOnTemperatureChangeHandler(TemperatureSensorTemperatureChanged)
#         self.data_to_be_sent_bridge = []
#         self.times_to_be_sent_bridge = []
        
    def open(self,waitTimeMS):
        self.temperatureSensor.openPhidget()
        try:
            self.temperatureSensor.waitForAttach(waitTimeMS)
            time.sleep(0.5)
            self.temperatureSensor.setThermocoupleType(0, ThermocoupleType.PHIDGET_TEMPERATURE_SENSOR_K_TYPE)
            self.temperatureSensor.setThermocoupleType(1, ThermocoupleType.PHIDGET_TEMPERATURE_SENSOR_K_TYPE)
            self.temperatureSensor.setThermocoupleType(2, ThermocoupleType.PHIDGET_TEMPERATURE_SENSOR_K_TYPE)
            self.temperatureSensor.setThermocoupleType(3, ThermocoupleType.PHIDGET_TEMPERATURE_SENSOR_K_TYPE)
            self.temperatureSensor.setTemperatureChangeTrigger(0, 0.1)
#             self.temperatureSensor.setTemperatureChangeTrigger(1, 0.1)
#             self.temperatureSensor.setTemperatureChangeTrigger(2, 0.1)
#             self.temperatureSensor.setTemperatureChangeTrigger(3, 0.1)
            return 1
        except:
            return -1
    
#     def BridgeData(self,e):
#         timeStamp = time.time()
#         self.data_to_be_sent_bridge.append(e.value)
#         self.times_to_be_sent_bridge.append(timeStamp)
        
    def getData(self):
        #return the data and times and update the lists
        thermocouple0 = self.temperatureSensor.getTemperature(0)
        thermocouple1 = self.temperatureSensor.getTemperature(1)
        thermocouple2 = self.temperatureSensor.getTemperature(2)
        thermocouple3 = self.temperatureSensor.getTemperature(3)
        timeStamp = time.time()
        data_to_return = [thermocouple0,thermocouple1,thermocouple2,thermocouple3,timeStamp]
        data_to_be_sent_temperature = []
        times_to_be_sent_temperature = []
        return data_to_return
    
    def close(self):
        self.temperatureSensor.setEnabled(0,False)
        time.sleep(2)
        self.temperatureSensor.closePhidget()
Пример #10
0
__version__ = '2.1.8'
__date__ = 'May 17 2010'

#Basic imports
from ctypes import *
import sys
#Phidget specific imports
from Phidgets.PhidgetException import PhidgetErrorCodes, PhidgetException
from Phidgets.Events.Events import AttachEventArgs, DetachEventArgs, ErrorEventArgs, TemperatureChangeEventArgs
from Phidgets.Devices.TemperatureSensor import TemperatureSensor, ThermocoupleType
#import methods for sleeping thread
from time import sleep

#Create an temperaturesensor object
try:
    temperatureSensor = TemperatureSensor()
except RuntimeError as e:
    print("Runtime Exception: %s" % e.details)
    print("Exiting....")
    exit(1)

#Information Display Function
def DisplayDeviceInfo():
    inputCount = temperatureSensor.getTemperatureInputCount()
    print("|------------|----------------------------------|--------------|------------|")
    print("|- Attached -|-              Type              -|- Serial No. -|-  Version -|")
    print("|------------|----------------------------------|--------------|------------|")
    print("|- %8s -|- %30s -|- %10d -|- %8d -|" % (temperatureSensor.isAttached(), temperatureSensor.getDeviceName(), temperatureSensor.getSerialNum(), temperatureSensor.getDeviceVersion()))
    print("|------------|----------------------------------|--------------|------------|")
    print("Number of Temperature Inputs: %i" % (inputCount))
    for i in range(inputCount):
Пример #11
0
    def start_measuring(self):
    #Create an temperaturesensor object
        try:
            temperatureSensor = TemperatureSensor()
        except RuntimeError as e:
            print("Runtime Exception: %s" % e.details)
            print("Exiting....")
            exit(1)

        #Information Display Function
        def DisplayDeviceInfo():
            inputCount = temperatureSensor.getTemperatureInputCount()
            print("|------------|----------------------------------|--------------|------------|")
            print("|- Attached -|-              Type              -|- Serial No. -|-  Version -|")
            print("|------------|----------------------------------|--------------|------------|")
            print("|- %8s -|- %30s -|- %10d -|- %8d -|" % (temperatureSensor.isAttached(), temperatureSensor.getDeviceName(), temperatureSensor.getSerialNum(), temperatureSensor.getDeviceVersion()))
            print("|------------|----------------------------------|--------------|------------|")
            print("Number of Temperature Inputs: %i" % (inputCount))
            for i in range(inputCount):
                print("Input %i Sensitivity: %f" % (i, temperatureSensor.getTemperatureChangeTrigger(i)))

        #Event Handler Callback Functions
        def TemperatureSensorAttached(e):
            attached = e.device
            print("TemperatureSensor %i Attached!" % (attached.getSerialNum()))

        def TemperatureSensorDetached(e):
            detached = e.device
            print("TemperatureSensor %i Detached!" % (detached.getSerialNum()))

        def TemperatureSensorError(e):
            try:
                source = e.device
                if source.isAttached():
                    print("TemperatureSensor %i: Phidget Error %i: %s" % (source.getSerialNum(), e.eCode, e.description))
            except PhidgetException as e:
                print("Phidget Exception %i: %s" % (e.code, e.details))

        def TemperatureSensorTemperatureChanged(e):
            try:
                ambient = temperatureSensor.getAmbientTemperature()
            except PhidgetException as e:
                print("Phidget Exception %i: %s" % (e.code, e.details))
                ambient = 0.00

            source = e.device
            # print("TemperatureSensor %i: Ambient Temp: %f -- Thermocouple %i temperature: %f -- Potential: %f" % (source.getSerialNum(), ambient, e.index, e.temperature, e.potential))
            if e.index == 0:
                #print("Temperature: %f" % (e.temperature))
                self.logger.add_row(e.temperature,"-","-")

        #Main Program Code
        try:
        	#logging example, uncomment to generate a log file
            #temperatureSensor.enableLogging(PhidgetLogLevel.PHIDGET_LOG_VERBOSE, "phidgetlog.log")

            temperatureSensor.setOnAttachHandler(TemperatureSensorAttached)
            temperatureSensor.setOnDetachHandler(TemperatureSensorDetached)
            temperatureSensor.setOnErrorhandler(TemperatureSensorError)
            temperatureSensor.setOnTemperatureChangeHandler(TemperatureSensorTemperatureChanged)
        except PhidgetException as e:
            print("Phidget Exception %i: %s" % (e.code, e.details))
            print("Exiting....")
            exit(1)

        print("Opening phidget object....")

        try:
            temperatureSensor.openPhidget()
        except PhidgetException as e:
            print("Phidget Exception %i: %s" % (e.code, e.details))
            print("Exiting....")
            exit(1)

        print("Waiting for attach....")

        try:
            temperatureSensor.waitForAttach(10000)
        except PhidgetException as e:
            print("Phidget Exception %i: %s" % (e.code, e.details))
            try:
                temperatureSensor.closePhidget()
            except PhidgetException as e:
                print("Phidget Exception %i: %s" % (e.code, e.details))
                print("Exiting....")
                exit(1)
            print("Exiting....")
            exit(1)
        else:
            DisplayDeviceInfo()

        print("Setting Thermocouple type...")
        temperatureSensor.setThermocoupleType(0, ThermocoupleType.PHIDGET_TEMPERATURE_SENSOR_K_TYPE)

        print("Setting sensitivity of the thermocouple....")
        temperatureSensor.setTemperatureChangeTrigger(0, 0.10)
        sleep(5) #sleep for 5 seconds
        print("Sensitivity of thermocouple index 0 is now %f" % (temperatureSensor.getTemperatureChangeTrigger(0)))

        print("Press Enter to quit....")

        #chr = sys.stdin.read(1)
        while True:
            #print("sensing")
            a = 1

        #print("Closing...")

        try:
            temperatureSensor.closePhidget()
        except PhidgetException as e:
            print("Phidget Exception %i: %s" % (e.code, e.details))
            print("Exiting....")
            exit(1)

        print("Done.")
        exit(0)
Пример #12
0
ports_dig = [
    port0_dig, port1_dig, port2_dig, port3_dig, port4_dig, port5_dig,
    port6_dig, port7_dig
]

#Determine if an InterfaceKit or Thermocouple or both are connected to the RPi. If they are connected the config.txt file should have 'Y' under the section.
kit_connected = str(config.get("General_settings", "InterfaceKit connected"))
couple_connected = str(config.get("General_settings",
                                  "Thermocouple connected"))

#Create an interfacekit and/or thermocouple object
try:
    if kit_connected == "Y":
        interfaceKit = InterfaceKit()
    if couple_connected == "Y":
        temperatureSensor = TemperatureSensor()
except RuntimeError as e:
    print("Runtime Exception: %s" % e.details)
    print("Exiting....")
    exit(1)


# InterfaceKit Information Display Function -> Taken from phidgets.com
def displayDeviceInfo():
    print(
        "|------------|----------------------------------|--------------|------------|"
    )
    print(
        "|- Attached -|-              Type              -|- Serial No. -|-  Version -|"
    )
    print(
Пример #13
0
class PhidgetTemp():
    def __init__(self):
        self.temperatureSensor = TemperatureSensor()
        self.temperatureSensor.setOnAttachHandler(TemperatureSensorAttached)
        self.temperatureSensor.setOnDetachHandler(TemperatureSensorDetached)
        self.temperatureSensor.setOnErrorhandler(TemperatureSensorError)
        self.temperatureSensor.setOnTemperatureChangeHandler(
            TemperatureSensorTemperatureChanged)
#         self.data_to_be_sent_bridge = []
#         self.times_to_be_sent_bridge = []

    def open(self, waitTimeMS):
        self.temperatureSensor.openPhidget()
        try:
            self.temperatureSensor.waitForAttach(waitTimeMS)
            time.sleep(0.5)
            self.temperatureSensor.setThermocoupleType(
                0, ThermocoupleType.PHIDGET_TEMPERATURE_SENSOR_K_TYPE)
            self.temperatureSensor.setThermocoupleType(
                1, ThermocoupleType.PHIDGET_TEMPERATURE_SENSOR_K_TYPE)
            self.temperatureSensor.setThermocoupleType(
                2, ThermocoupleType.PHIDGET_TEMPERATURE_SENSOR_K_TYPE)
            self.temperatureSensor.setThermocoupleType(
                3, ThermocoupleType.PHIDGET_TEMPERATURE_SENSOR_K_TYPE)
            self.temperatureSensor.setTemperatureChangeTrigger(0, 0.1)
            #             self.temperatureSensor.setTemperatureChangeTrigger(1, 0.1)
            #             self.temperatureSensor.setTemperatureChangeTrigger(2, 0.1)
            #             self.temperatureSensor.setTemperatureChangeTrigger(3, 0.1)
            return 1
        except:
            return -1

#     def BridgeData(self,e):
#         timeStamp = time.time()
#         self.data_to_be_sent_bridge.append(e.value)
#         self.times_to_be_sent_bridge.append(timeStamp)

    def getData(self):
        #return the data and times and update the lists
        thermocouple0 = self.temperatureSensor.getTemperature(0)
        thermocouple1 = self.temperatureSensor.getTemperature(1)
        thermocouple2 = self.temperatureSensor.getTemperature(2)
        thermocouple3 = self.temperatureSensor.getTemperature(3)
        timeStamp = time.time()
        data_to_return = [
            thermocouple0, thermocouple1, thermocouple2, thermocouple3,
            timeStamp
        ]
        data_to_be_sent_temperature = []
        times_to_be_sent_temperature = []
        return data_to_return

    def close(self):
        self.temperatureSensor.setEnabled(0, False)
        time.sleep(2)
        self.temperatureSensor.closePhidget()
Пример #14
0
__version__ = '2.1.8'
__date__ = 'May 17 2010'

#Basic imports
from ctypes import *
import sys
#Phidget specific imports
from Phidgets.PhidgetException import PhidgetErrorCodes, PhidgetException
from Phidgets.Events.Events import AttachEventArgs, DetachEventArgs, ErrorEventArgs, TemperatureChangeEventArgs
from Phidgets.Devices.TemperatureSensor import TemperatureSensor, ThermocoupleType
#import methods for sleeping thread
from time import sleep

#Create an temperaturesensor object
try:
    temperatureSensor = TemperatureSensor()
except RuntimeError as e:
    print("Runtime Exception: %s" % e.details)
    print("Exiting....")
    exit(1)


#Information Display Function
def DisplayDeviceInfo():
    inputCount = temperatureSensor.getTemperatureInputCount()
    print(
        "|------------|----------------------------------|--------------|------------|"
    )
    print(
        "|- Attached -|-              Type              -|- Serial No. -|-  Version -|"
    )
Пример #15
0
def AttachTemperature(databasepath, serialNumber):
	def onAttachHandler(event):
		logString = "Temperature Attached " + str(event.device.getSerialNum())
		#print(logString)
		DisplayAttachedDeviceInfo(event.device)

	def onDetachHandler(event):
		logString = "Temperature Detached " + str(event.device.getSerialNum())
		#print(logString)
		DisplayDetachedDeviceInfo(event.device)

		event.device.closePhidget()

	def onErrorHandler(event):
		logString = "Temperature Error " + str(event.device.getSerialNum()) + ", Error: " + event.description
		#print(logString)
		DisplayErrorDeviceInfo(event)
		
	def onServerConnectHandler(event):
		logString = "Temperature Server Connect " + str(event.device.getSerialNum())
		#print(logString)

	def onServerDisconnectHandler(event):
		logString = "Temperature Server Disconnect " + str(event.device.getSerialNum())
		#print(logString)

	def temperatureChangeHandler(event):
		logString = "Temperature Changed " + str(event.device.getSerialNum())

		try:
			conn = sqlite3.connect(databasepath)
			conn.execute("INSERT INTO TEMPERATURE_CHANGE VALUES(NULL, DateTime('now'), ?, ?, ?, ?)", 
					(event.device.getSerialNum(), event.index, event.temperature, event.potential))
			conn.commit()
			conn.close()
		except sqlite3.Error as e:
			print "An error occurred:", e.args[0]
	try:
		p = TemperatureSensor()

		p.setOnAttachHandler(onAttachHandler)
		p.setOnDetachHandler(onDetachHandler)
		p.setOnErrorhandler(onErrorHandler)
		p.setOnServerConnectHandler(onServerConnectHandler)
		p.setOnServerDisconnectHandler(onServerDisconnectHandler)

		p.setOnTemperatureChangeHandler(temperatureChangeHandler)
		p.openPhidget(serialNumber)

	except PhidgetException as e:
		print("Phidget Exception %i: %s" % (e.code, e.details))
		print("Exiting...")
		exit(1)
Пример #16
0
def AttachTemperature(databasepath, serialNumber):
    def onAttachHandler(event):
        logString = "Temperature Attached " + str(event.device.getSerialNum())
        #print(logString)
        DisplayAttachedDeviceInfo(event.device)

    def onDetachHandler(event):
        logString = "Temperature Detached " + str(event.device.getSerialNum())
        #print(logString)
        DisplayDetachedDeviceInfo(event.device)

        event.device.closePhidget()

    def onErrorHandler(event):
        logString = "Temperature Error " + str(
            event.device.getSerialNum()) + ", Error: " + event.description
        #print(logString)
        DisplayErrorDeviceInfo(event)

    def onServerConnectHandler(event):
        logString = "Temperature Server Connect " + str(
            event.device.getSerialNum())
        #print(logString)

    def onServerDisconnectHandler(event):
        logString = "Temperature Server Disconnect " + str(
            event.device.getSerialNum())
        #print(logString)

    def temperatureChangeHandler(event):
        logString = "Temperature Changed " + str(event.device.getSerialNum())

        try:
            conn = sqlite3.connect(databasepath)
            conn.execute(
                "INSERT INTO TEMPERATURE_CHANGE VALUES(NULL, DateTime('now'), ?, ?, ?, ?)",
                (event.device.getSerialNum(), event.index, event.temperature,
                 event.potential))
            conn.commit()
            conn.close()
        except sqlite3.Error as e:
            print "An error occurred:", e.args[0]

    try:
        p = TemperatureSensor()

        p.setOnAttachHandler(onAttachHandler)
        p.setOnDetachHandler(onDetachHandler)
        p.setOnErrorhandler(onErrorHandler)
        p.setOnServerConnectHandler(onServerConnectHandler)
        p.setOnServerDisconnectHandler(onServerDisconnectHandler)

        p.setOnTemperatureChangeHandler(temperatureChangeHandler)
        p.openPhidget(serialNumber)

    except PhidgetException as e:
        print("Phidget Exception %i: %s" % (e.code, e.details))
        print("Exiting...")
        exit(1)