Difference between revisions of "TemperatureHumidity"

From TSG Doc
Jump to navigation Jump to search
 
(6 intermediate revisions by 2 users not shown)
Line 12: Line 12:
  
 
== Installation ==
 
== Installation ==
Install the rusocsci package. On the lab computers it is already installed for you. Download the [[Media:temperaturehumidity.zip|temperaturehumidity module]] and unzip it in the same directory as your experiment.
+
Install the ''rusocsci'' package. On the lab computers it may already be installed for you. Also install ''pytz'', ''python-dateutil'' and ''pyqt4''. Download the [[Media:temperaturehumidity.zip|temperaturehumidity module]] and unzip it in the same directory as your experiment.
  
 
== Testing ==
 
== Testing ==
Line 18: Line 18:
  
 
== Code example ==
 
== Code example ==
You can read temperature and humidity values with any software that connects to a serial port. Most conveniently you can use the [https://pypi.python.org/pypi/RuSocSci RuSocSci] library in python.  Here is a little example how to write a script that reads the temperature and humidity and writes it to the standard output (console):<code>
+
You can read temperature and humidity values with any software that connects to a serial port. Most conveniently you can use the [https://pypi.python.org/pypi/RuSocSci RuSocSci] library in python.  Here is a little example how to write a script that reads the temperature and humidity and writes it to the standard output (console):
  #!/usr/bin/env python
+
<syntaxhighlight lang="python">
# -*- coding: utf-8 -*-
+
  #!/usr/bin/env python3
 
  import temperaturehumidity
 
  import temperaturehumidity
 
  th = temperaturehumidity.TemperatureHumidity()
 
  th = temperaturehumidity.TemperatureHumidity()
 
  print(th.waitString())
 
  print(th.waitString())
</code>
+
</syntaxhighlight>
 +
 
 +
== Potential problems ==
 +
The temperaturehumidity device identifies as a buttonbox. Lab computer are set up in a way that makes the second buttonbox behave different from all other devices. If you are using both the buttonbox and the temperaturehumidity device, please look up the port name of the temperaturehumidity device in the windows device manager and if it is for instance 'COM3' then change the code above into:
 +
<syntaxhighlight lang="python">
 +
#!/usr/bin/env python3
 +
import temperaturehumidity
 +
th = temperaturehumidity.TemperatureHumidity(port='COM3')
 +
print(th.waitString())
 +
</syntaxhighlight>

Latest revision as of 08:50, 11 October 2022

TemperatureHumidity
Downloads

The TemperatureHumidity is a little (15 x 5 x 5 cm) black box with a black sphere on top. It is connected to your computer with the attached USB cable. When connected it will identify itself as a Virtual Serial port.

Installation

Install the rusocsci package. On the lab computers it may already be installed for you. Also install pytz, python-dateutil and pyqt4. Download the temperaturehumidity module and unzip it in the same directory as your experiment.

Testing

Run the temperaturehumidity module and sensor by running the file 'temperaturehumidity.py'. Double click it in explorer or load in the Psychopy Coder and click 'run'.

Code example

You can read temperature and humidity values with any software that connects to a serial port. Most conveniently you can use the RuSocSci library in python. Here is a little example how to write a script that reads the temperature and humidity and writes it to the standard output (console):

 #!/usr/bin/env python3
 import temperaturehumidity
 th = temperaturehumidity.TemperatureHumidity()
 print(th.waitString())

Potential problems

The temperaturehumidity device identifies as a buttonbox. Lab computer are set up in a way that makes the second buttonbox behave different from all other devices. If you are using both the buttonbox and the temperaturehumidity device, please look up the port name of the temperaturehumidity device in the windows device manager and if it is for instance 'COM3' then change the code above into:

 #!/usr/bin/env python3
 import temperaturehumidity
 th = temperaturehumidity.TemperatureHumidity(port='COM3')
 print(th.waitString())