Go Down

Topic: Help with 433mhz receiver (Read 9 times) previous topic - next topic

Agrajag

No it doesn't support multiple sensors or other types of sensors. It is a very simple/cheap weather station, outdoor part only does temp/humidity. This is why the above transmissions include both the temp and humidity in the one go.

Although it only supports one wireless sensor, I'm fairly certain it's sending a "station id" in the transmission, as the instruction manual states that if the batteries are replaced in the outdoor part, the receiver has to be switched off/on AFTER the outdoor batteries are replaced because it has to "learn" the outdoor sensor signal. So it seems to "remember" the station id (probably just from the first transmission it receives) and from then on only pays attention to transmissions with that station id. If I take the battery out of the transmitter those 8 bits before the temperature (8 bits preceding blue in the above) change - they remain static until I replace the batteries, so I'm fairly sure that' s indicating the "station id".

I have a couple of ideas for looking for the transmission start, will test when I get home.. hope I can find it because after that I'm nearly there. Just need to figure out the last 8 bits which I think must be a checksum, but I have no idea how it's being calculated. So now I have an idea where all the data is in the transmission - just not how to determine where it starts yet!

mauried

If it only supports one sensor, then it wont have a sensor ID, but will have a rolling code .
This is to prevent someone else who lives nearby and has the same weather station from interfering with your weather station.

When you put the batteries in the sensor , the sensor generates  a random number and includes that number in its transmissions.
When you tell the weather station to search for a sensor it simply searches for the first transmission it finds, and then remembers the random number,
and then only responds to subsequent messages with that random number in them.
The logic is that as the sensors transmit infrequently, the odds are that if you put the batteries in the sensor and then ask the indoor unit to search for it
it will find yours first rather than another one .
The random number changes every time the sensor is powerd up.

Agrajag

After some more testing I'm nearly certain that I just have to look for "0100" as the first 4 bits as an indicator of the start of transmission. When my transmitter is close, that's what I get 99% of the time. I think the problem is my antenna, because when I moved the project around a bit suddenly the first few bits got even more mixed up and when I moved it around again it went back to being 0100. I currently have the project on a breadboard except for the antenna pin which I have off the side of the breadboard with my antenna attached dodgily. It's just a thin 17cm piece of insulated wire that I've wrapped around the antenna pin (dodgy job).

So - what is the best material to use as an antenna and what is the best way to connect it?

mauried

The 17 cm wire soldered to the receivers antanna pin is the simplest and most effective.
Dont place the transmitter too close to the receiver if you have an antenna connected
as the receivers AGC will overload.

Agrajag

Thanks heaps everyone for your help. Project is pretty much finished now. I have started logging the data and can create nice graphs: http://unit.homelinux.net:8888/~filip/weatherstation/

The checksum ended up being a CRC-8 with a polynom of 0x31.

I identify the transmission by the first 4 bits, 0100. The next 8 bits are the sensor identifier (randomly generated, changes when the batteries are replaced). The next bit is to indicate positive/negative temperature, then the following 11 bits are the temperature x10. Next 8 bits are humidity. Last 8 bits are the CRC. 40 bits in total.

Go Up