If you’ve read any of my previous posts on the topic I’m trying to get OOK, FSK and potentially PPM (Differential Pulse Position Modulation) working in the Linux kernel with the HopeRF RFM12B adapter. This is mostly for ARM SBC/SoC type situations like the RaspberryPi or beaglebone.
The intention here is to allow you to easily intercept, and transmit consumer wireless signals on the 434/868 MHz bands. There are existing ways to do this. However they all appear to depend on the Jeenode or at least an atmega chip running JeeLib.
I want to remove the dependency on the atmega, and yet still exploit the RFM12B to provide OOK/FSK transmission. Right now I’m adapting the existing RFM12B-Linux module to allow sending and receiving OOK signals, I’m also adding in the code to interact with specific defined devices. So far my thoughts are that it shouldn’t be too hard to have drivers for multiple devices in the module.
I thought best to do a link dump of everything that is currently important to this endeavour;
- http://the.cyclingengineer.co.uk/2013/11/23/home-automation-integrating-salus-rt500-rf-in-openhab-using-a-jeelink/ – This blog has details about using a jeenode with a Salus RT500RF.
- http://www.rtl-sdr.com/reverse-engineering-a-radio-weather-station-with-an-rtl-sdr/ Weather stations using DPPM
- http://jeelabs.net/projects/cafe/wiki/Receiving_OOKASK_with_a_modified_RFM12B Using OOK with the RFM12B, not perfect but seems good enough, guides on how to initiate the OOK mode with the SPI interface.
- http://www.rtl-sdr.com/reverse-engineering-radio-controlled-power-outlets-help-rtl-sdr/ Interacting with power outlets which work on OOK protocols.
- https://github.com/klattimer/rfm12b-linux my github branch where the code is going.
After merging someone else’s OOK sending efforts. I’m not too sure that listening for OOK and FSK is really important. After all an SDR can happily listen across the frequencies and decode the signals.
I unfortunately get very little time to work on this, or other projects on this blog but try to keep it updated with my experiments from time to time. Once I have my Salus under control I plan to release the branch on github. Until then I get a little time here and there to experiment. My latest outcomes have been hampered by insufficient power to my Pi3. There have also been some issues with transmitting on the 868 band.