Tuesday, March 12, 2013

Wireless temperature sensor

Some times there is a need to measure temperature in a place where you can't put wires. The best way to resolve this problem is to put a wireless sensor. You can make one by yourself, but it will require a lot of work: making the pcb, find a good isolated enclosure(in case it rains). Ok, maybe one device will not be so complicated to make, but if you need few of them it can take a lot of time. So i decided to take a commercial one and to hack it. Of course there are some base station for that remote sensors, but they don't do smart think and you can't connect them to the internet :).

There are a lot of companies that produce wireless temperature sensor. This is my choice :



And back side:



Here you can see the pcb:



And one more picture:



This sensor sends temperature over 433Mhz radio frequency every minute. The precision is 0.1 degree, pretty good. The device can be forced to send data by pressing the TX button on the back.

In order to decode the signal we need a 433Mhz radio receiver. I plugged the receiver to mic input on a sound card(unfortunately i don;t have a digital oscilloscope). And to register the signal i used sound forge.

It looks like the sensor sends the same frame 10 times. Every frame lasts for around 82 ms and the pause between frames is around 8ms. So, all 10 frames are sent in 900ms. Here is how looks one frame:



















As you can see there are only two patterns. In both of them the timing when the signal is high is the same. That means, that only variation in the timing, when signal is low, says when we have logical "1" or logical "0". So i made the following assumption(which turned to be right):

                   
                

To figure out how the data is coded i used the original base station(that shows me the actual temperature send by the sensor). This are the results:

Received code Temperature (°C)
1110_0100_0001_0100_1000_0000 20
1110_0100_0001_0101_1000_0001 21.1
1110_0100_0001_1010_1100_0000 24
1110_0100_0001_1001_1100_0001 25.1
1110_0100_0001_1001_1100_0100 25.4

So the sensor sends 24 bits. The only thing left is to 


No comments:

Post a Comment

Write your comments here...