Hi I have been trying to decode signals from a temperature sensor on 433Mhz, I have read over many blogs/posts/tutorials about doing this but not having much luck. I have a 433Mhz receiver attached to my arduino Uno and have captured some data.
My goal is to create a receiving station for these sensors and use the Ethernet shield to upload data to a web server etc (wishful thinking)
I am having trouble converting the signal in to binary as im not sure what line coding is being used. I have attached an image of the signal I have captured, any help would be greatly appreciated. Also sorry if I have posted this in the wrong place :-\
The signal seems nice and clean and also looks complete but I cannot see what encoding scheme is being used.
Assuming the sender is one of those outdoor temp/humidity senders it is strange the sequence is only repeated once (though it does seem to have a long preamble) and the mark space ratio does not seem consistent with usual schemes I have seen before.
The preamble is to try to get the receiver's auto-gain-adjust set correctly. The receivers try to adjust their gain to move towards a 50% duty cycle. If there's nothing to receive, they'll ramp the gain up until the noise gives a 50% duty cycle.
That means that you're almost sure to miss the first few bits of a transmission, while the receiver adjusts itself.
There are two approaches to dealing with that. The first is to just send the whole thing repeatedly, relying on the previous iterations to tune the receiver. This is very common.
The other approach is to preface your message with a 50% duty-cycle square wave pulses either longer or shorter than a valid bit. That's what they've done here.
I've looked at a number of encoding schemes for remote sensors and that one is unlike anything I've seen before. There are several examples in this forum of temperature sensors that have been successfully decoded, and you can google something like "decode rf temperature sensor" for many more.
The best approach is to record a bunch of signals for a wide range of temperatures and look to see what changes. Be sure to associate the base station temperature with the appropriate recording. Then try to deduce the scheme. All sensors that I've seen encode the temperature in Celsius, regardless of how it is displayed. For example, some sensors encode the temperature as hex digits, so temperatures like 21.2, 21.2, 21.3 (C) will reveal how the low order digit is stored, while 21.2, 22.2, will reveal the next, and so on.
Thanks for taking a look at this guys, I have ripped apart the transmitter and got some new data. I haven't matched the temps to the samples yet. I have found a serial number though...16.92.15. Each sample i have cut off what i think is the preamble. The first two square waves are the last two from the preamble. Also each sample should be a different temp. I will try get some more samples matched to temps soon. Hopefully I will figure this out soon
Sorry but I still cannot see any sensible data structure to your samples. Are they captured from a receiver or direct from the transmitter?
Can you give any more details about the temperature transmitter with pictures, make, model, part numbers etc.