This story has a part ‘back in the day’ and a part just a couple months ago. Let’s start with the most recent part. I decided that I want cameras around my house. I didn’t say in my house, I said around my house. I would like to be able to see my front yard, back yard, driveway, and maybe even down the street a bit. I want cameras inside, but this is absolutely not the way to do it. I came by a number of analog cameras with 2.4ghz transmitters, but the receiver I had used analog tuning. I never worked out whether it would pick up all 4 channels of camera (there are 4 in the standard I’m familiar with) or just fine tune on 1 but either way I decided that using analog tuning is harder than it needed to be. I went on ebay and picked up a 4 channel receiver with a switch going between channels. With that I got all 4 of my cameras on different channels and able to be picked up by the receiver. In the process I found a camera outside that picked up my hackerspace (probably by the landlord based on where it was and was pointed). Now, even if I didn’t already not want these cameras inside… I would like to think this would have done it.
Before I go on with this hack (which is, as always, half finished) let me bring you back to my inspiration for this one. If you look up the origination of the term ‘wardriving‘ which is what I grew up doing (driving around picking up people’s wireless networks and using/breaking into them) you will find ‘wardialing‘ which is basically robo-calling for modems. This was popularized (if not originated) by the movie WarGames because before Matthew Broderick was doing his best Gene Wilder impression, he was impressing girls with his computer skills. This is a different kind of automated scanning attack, the one I’m thinking of is ‘warspying‘. Eleven (!) years ago Systm launched and had an episode with a howto for building a handheld unit for detecting and displaying unencrypted wireless cameras. I wanted to use that technique to drive this switch from a raspberry pi (or any other computer with gpio). Where they used a small pile of discrete I/O to accomplish a dedicated scanner I used a simple demultiplexer, a 74155, to control 1 of 4 lines with 2 GPIO. Since I only need one line grounded at a time I can use this technique to save pins.
You can see from this switch diagram (or the description in the Systm video) that the switch has 6 pins and 4 positions. If you ground the two center pins then you ensure that one of the outer 4 pins is grounded in each switch position. Rather clever for what would otherwise have been a more complicated mechanism. That being said, this doesn’t scale very well.
I really wanted to replace the whole board here, or at least make the unpopulated stuff work but that just never happened for me. For anyone else with one of these modules, now you know what’s inside so you’re prepared before you go tearing it apart.
Now you can see how I made a camera receiver interface with a raspberry pi. If you send 00 out two pins you get channel 0 of video, if you send 01 you get channel 1, same for 10 and 11. Until this actually gets used with GPIO I have set up a 2×3 jumper block with power down one side, ground down the other, and the two data lines in the middle so they can be pulled high or low. There is no ‘off’ since that wouldn’t matter, the video capture card is connected straight to this module and there is no need to switch it out for anything else. If you needed to it could be done with a 4051 analog mux though.
pictures related to this project are here.