the title is a little misleading - I don't want to send & receive at the same time on the same Arduino; I've read that it's quite difficult to do that and it's not what I need.
I want to be able to use a receiver to catch the binary output (I believe these are 24 bit) from a 433mhz device - namely, remote control power sockets, store it, and then transmit it back out at a later time.
Your description is still a bit vague. But first I would suggest you do not use what you found on that link. You are looking for a transceiver setup. What you have there is a transmitter and a receiver in two separate components. This allows one way comms. This will not allow you to do two way comms.
There are many options available but if you are set on 433Mhz, I would look at the RFM12B through Sparkfun since there are a lot of people that have actually made these work.
I would be very leery of anything that you cannot find a datasheet on or google someone that has already used it at least once.
I don't really need two-way communication per se., which is why I went for the transmitter/receiver route rather than the transceiver, although I guess either could work.
I want to press a button on my remote for say, my front door (I salvaged an electric, remote-controlled (433mhz) gate system from work after an attempted break in - I can now, press a key-fob and the front door unlocks), and record the output into the Arduino. After reading about in different forums/blogs etc..., there seems to be a de-facto standard of sending a OOK 24 bit binary key that pairs it with the device over 433 mhz for these types of applications. It's that key that I want to read into the Arduino.
Currently, I have a USB relay that is wired to short the switch in a spare key-fob that I have so I can control the opening of the door via a PC. I want to extend this system to include my wireless power sockets, but the housing box I have this stuff in is now getting quite large and it's not practical to keep shorting switches through USB relays out of a PC any longer. Every time I want to add something to the list, I have to break the remote and wire it out to a USB switch again. I'm trying to simplify the whole affair
After I've read the 24 bit key into the Arduino, I'd like to then take the reciever off of it and replace it with the transmitter so that I can tell the Arduino to transmit the same key that will unlock the front door.
What you have to consider is how your remote device is encoding the data. It is all well enough having the same frequency, but the modulation format has to be the same as well.
The frequency of the receiver must match exactly the transmitter and a description of just 433MHz is just the band it is in it is not the exact frequency. You might be able to tune the receiver but most of them are crystal controlled.
Then when you find out if the modulation is AM or FM, you need to know if it is AFSK or FSK. Once you find out that you need to know how the data is encoded, for example bi-phase, Manchester encoding, NRZ and so on.
When all those match on the transmitter and receiver, you can think about reading in the data to the arduino.
It will help if you have access to some test equipment that can look at that frequency.
I believe VirtualWire library will take care of all that Mike. OP needs to read the key, break it into 3 bytes, and send it out. VW will do the encoding, add some bytes to make sure the message has recognizable preamble at the receive end, etc.
I believe VirtualWire library will take care of all that Mike.
How will it know the format of his existing remote?
Sure VirtualWire will work if it has control over both ends but if he wants to use an existing remote then you are going to have to match the receiver to the remote.
I (perhaps, naively) thought that the rc-switch library would take care of the encoding/decoding.
...I got that impression from this:
I wire the reciever for my remote into the Arduino as per the diagram in the link, run the code, then steal the 24 bit key, or am I getting the wrong end of the stick?
I wire the reciever for my remote into the Arduino as per the diagram in the link, run the code, then steal the 24 bit key, or am I getting the wrong end of the stick?
Yes but only if the receiver is doing all the same stuff as the remote you have. And also if the software running on the arduino knows about the protocol your remote is sending.
The chipset in both my wireless door and my wireless plugs is OOK, so this is looking more probable.
I think for the few quid that the RX/TX modules are on ebay, I'll take a chance and have a mess around.
I did also find a chap who is selling a device that does just what I'm intending to make, for 35 Euros. I emailed him, and he makes them using an Arduino with RX/TX modules (that he linked me to on ebay - almost unbelievably, the very same ebay item I was already looking at), and using VirtualWiring, so I'll have a stab at making my own with this kit. If I fail, then for the sake of 30 odd quid I may buy one of his (although that really feels like cheating!)