LonelyPixel
Posts: 14
Joined: Fri Apr 18, 2014 2:19 pm

TEMPerHUM

Tue Apr 22, 2014 9:09 pm

Hi there,

I have an old TEMPerHUM USB sensor lying around which I used to use on Windows XP for monitoring my indoor temperature and humidity. Since I upgraded to Windows 7 it regularly started to freak out and generate lots of keystrokes instead of providing the sensor readings so I couldn't use it anymore.

Now I thought, why not plug it into the Raspberry Pi, and it was detected as a USB device. Unfortunately that's about all it is. I've found some old posts about software solutions to read the sensor values, but the referenced websites declare themselves outdated or outright scare me away be telling me what all they don't support. I tried one of them but it doesn't even build.

Are there any current recommendations? These programs seem to come and go, and recommendations older than a few months don't apply anymore. I'd prefer ready to install packages, if possible, and simple tools that only provide the current reading. I make the scripts around it myself.

User avatar
DougieLawson
Posts: 39121
Joined: Sun Jun 16, 2013 11:19 pm
Location: A small cave in deepest darkest Basingstoke, UK
Contact: Website Twitter

Re: TEMPerHUM

Tue Apr 22, 2014 9:21 pm

Please post the output from
lsusb

And once you've determined from that which bus & device (bbb/ddd) is the TEMPerHUM please post the output from
lsusb -v -s bbb:ddd

That should create a bucket load of output which you can post here between [code][/code] tags.
Note: Any requirement to use a crystal ball or mind reading will result in me ignoring your question.

Criticising any questions is banned on this forum.

Any DMs sent on Twitter will be answered next month.
All non-medical doctors are on my foes list.

LonelyPixel
Posts: 14
Joined: Fri Apr 18, 2014 2:19 pm

Re: TEMPerHUM

Wed Apr 23, 2014 6:43 am

Here's the output:

Code: Select all

pi@raspberrypi ~ $ lsusb
Bus 001 Device 002: ID 0424:9514 Standard Microsystems Corp.
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp.
Bus 001 Device 009: ID 0c45:7402 Microdia TEMPerHUM Temperature & Humidity Sensor
pi@raspberrypi ~ $ sudo lsusb -v -s 001:009

Bus 001 Device 009: ID 0c45:7402 Microdia TEMPerHUM Temperature & Humidity Sensor
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass            0 (Defined at Interface level)
  bDeviceSubClass         0
  bDeviceProtocol         0
  bMaxPacketSize0         8
  idVendor           0x0c45 Microdia
  idProduct          0x7402 TEMPerHUM Temperature & Humidity Sensor
  bcdDevice            0.01
  iManufacturer           1 RDing
  iProduct                2 TEMPer2HumiV1.0
  iSerial                 0
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength           59
    bNumInterfaces          2
    bConfigurationValue     1
    iConfiguration          0
    bmAttributes         0xa0
      (Bus Powered)
      Remote Wakeup
    MaxPower              100mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass         3 Human Interface Device
      bInterfaceSubClass      1 Boot Interface Subclass
      bInterfaceProtocol      1 Keyboard
      iInterface              0
        HID Device Descriptor:
          bLength                 9
          bDescriptorType        33
          bcdHID               1.10
          bCountryCode            0 Not supported
          bNumDescriptors         1
          bDescriptorType        34 Report
          wDescriptorLength      65
         Report Descriptors:
           ** UNAVAILABLE **
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0008  1x 8 bytes
        bInterval              10
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        1
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass         3 Human Interface Device
      bInterfaceSubClass      1 Boot Interface Subclass
      bInterfaceProtocol      2 Mouse
      iInterface              0
        HID Device Descriptor:
          bLength                 9
          bDescriptorType        33
          bcdHID               1.10
          bCountryCode            0 Not supported
          bNumDescriptors         1
          bDescriptorType        34 Report
          wDescriptorLength      41
         Report Descriptors:
           ** UNAVAILABLE **
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x82  EP 2 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0008  1x 8 bytes
        bInterval              10
Device Status:     0x0000
  (Bus Powered)
pi@raspberrypi ~ $


LonelyPixel
Posts: 14
Joined: Fri Apr 18, 2014 2:19 pm

Re: TEMPerHUM

Wed Apr 23, 2014 7:12 pm

No, it builds just fine but fails to run. It just says "TemperCreate: Inappropriate ioctl for device". Its successor does the same.

This one finally works, but it was pretty hard to get there: https://github.com/edorfaus/TEMPered It requires cmake, another library to build (which takes forever) and more build steps.

CyBer-T
Posts: 1
Joined: Wed Apr 29, 2015 10:36 pm

Re: TEMPerHUM

Thu Apr 30, 2015 8:44 am

Hi would you be so kind and post those steps here, I have been trying to get this to work for quite some time now and no luck...

nanderson77
Posts: 1
Joined: Sat Jan 30, 2016 5:08 am

Re: TEMPerHUM

Sat Jan 30, 2016 5:56 am

I have the same issue, TEMPerHum version 1.3 usb stick does not seem to be recognizable by the raspberry pi. the ederfaus/TEMPered githup post already has another user posting that this version doesn't work with his code. To be honest I don't understand how to apply the code there to my raspberry PI anyway. the release notes state what the prerequiestes are... but after that I'm lost.

https://github.com/edorfaus/TEMPered


pi@Nate-Anderson-HiveTool1 ~ $ lsusb -v -s 001:005

Bus 001 Device 005: ID 0c45:7402 Microdia TEMPerHUM Temperature & Humidity Senso r
Couldn't open device, some information will be missing
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 2.00
bDeviceClass 0 (Defined at Interface level)
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 8
idVendor 0x0c45 Microdia
idProduct 0x7402 TEMPerHUM Temperature & Humidity Sensor
bcdDevice 0.01
iManufacturer 1
iProduct 2
iSerial 0
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 59
bNumInterfaces 2
bConfigurationValue 1
iConfiguration 0
bmAttributes 0xa0
(Bus Powered)
Remote Wakeup
MaxPower 100mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 1
bInterfaceClass 3 Human Interface Device
bInterfaceSubClass 1 Boot Interface Subclass
bInterfaceProtocol 1 Keyboard
iInterface 0
HID Device Descriptor:
bLength 9
bDescriptorType 33
bcdHID 1.10
bCountryCode 0 Not supported
bNumDescriptors 1
bDescriptorType 34 Report
wDescriptorLength 65
Report Descriptors:
** UNAVAILABLE **
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0008 1x 8 bytes
bInterval 10
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 1
bAlternateSetting 0
bNumEndpoints 1
bInterfaceClass 3 Human Interface Device
bInterfaceSubClass 1 Boot Interface Subclass
bInterfaceProtocol 2 Mouse
iInterface 0
HID Device Descriptor:
bLength 9
bDescriptorType 33
bcdHID 1.10
bCountryCode 0 Not supported
bNumDescriptors 1
bDescriptorType 34 Report
wDescriptorLength 41
Report Descriptors:
** UNAVAILABLE **
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x82 EP 2 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0008 1x 8 bytes
bInterval 10

Return to “Automation, sensing and robotics”