see this link
Is it possible to receive OOK without extra hardware on a jee-node ?, I don't read they use any extra hardware ,or maybe I am missing something.
This forum has moved to forum.jeelabs.net - this read-only archive is for reference only!
see this link
Is it possible to receive OOK without extra hardware on a jee-node ?, I don't read they use any extra hardware ,or maybe I am missing something.
Interesting! All I see in the code is that an extra "DATA" pin has been hooked up as digital input. I wonder which pin that is. Haven't looked closer yet - could it be that he's putting the RFM12B in a special mode and then reading out the FSK/DATA pin?
Yes that could be the trick,I 'll try to find more info .(FSK/DATA)
The RFM12B is probably has FIFO mode disabled in the configuration setting register. When receiving, the raw data is then available on the DATA/FSK/FSS pin (not connected on the Jeenode).
When an OOK tranmitter is sending and the send frequency corresponds to the RF12 center+deviation frequency, the DATA pin is set high. However, this doesn't mean that it returns nicely to zero when the OOK transmitter stops sending; that would only happen if there were a signal on the center-deviation frequency.
In the absence of a signal, the RF12 will try to get a signal out of the noise and the DATA pin will randomly flipper between 1 and 0. I suppose you could extract an OOK signal from this behaviour if the flippering happens relatively frequently.
BTW: I didn't come up with this myself. On the Silabs site there is a document called "RF Wireless foundation course book one" where this trick is described:
I did a little test to see how frequently the flippering in absence of a signal happens. I hooked up the DATA pin on a digital input pin and set the RF12 in non-fifo mode with:
rf12control(0x80a7);
The DATA signal indeed went about 1 and 0 randomly. However, it would frequently be in the same state for hundreds of usecs. I suppose that's too long to reliably distinguish the real OOK pulses (also in the order of hundreds of usecs) from the flippering, so it looks like this isn't going to work.
I tried this today .
- soldered a 100 ohm resistor to the DATA/FSK/FSS pin and
to analog input 0 AI01 (interrupt OOK in) I use the program
// Receive / decode FS20, (K)S300, and EM10 signals using an 868 MHz OOK radi0
from jc .(but I can't find it in examples RF12.zip)
The trick is the C220 command (c420), it is the command to set the RFM01 in
OOK mode ,but it seems to work with a RFM12B.(with some difference)
andras ,FIFO is disabled. The gain and RSI values (0x9481) are very important , the duty-cycle of the
signal depends on these values and the distance of the sender from the receiver
so it is very hard to get the right values ,but I received OOK commands at 15
meter distance ,maybe when using the analog filter this could be better,I keep
on trying. registers values
rf12xfer(0x8027); // 8027 868 Mhz;disabel tx register; disabel RX fifo buffer;
rf12xfer(0x82c0); // 82c0 enable receiver ; enable basebandblock
rf12xfer(0xA68a); // A68a 868.2500 MHz
rf12xfer(0xc623); // c623 datarate 9579 kbps
rf12xfer(0x9481); // 9481 VDI; FAST;200khz;GAIN MAX;DRSSI 97dbm
rf12xfer(0xC220); // c220 datafiltercommand ; not documented command is
from from RFM01 OOK-mode
rf12xfer(0xCA00); // ca00 FiFo and resetmode command ; FIFO fill disabeld
rf12xfer(0xC473); // c473 AFC run only once ; enable AFC ;enable frequency
rf12xfer(0xCC67); // cc67 pll settings command
rf12xfer(0xB800); // NOT USE
rf12xfer(0xC800); // NOT USE
rf12xfer(0xC040); // 1.66MHz,2.2V
see this link
Hi Joop,
Mysterious stuff, those undocumented features. Makes you wonder wether there are any other hidden capabilities...
In found jcw's FS20 receive/decode sketch here:
andras ,thank you for the link , it is the recv868fs20.pde sketch.
Hello ,I am trying to set the right RFM12 DATA rate is this right ? 1.666kbps
// bit = 0: 400µs High, 400µs Low average period 600-1000µs shortest 600uS // bit = 1: 600µs High, 600µs Low average period 1000-1450µs // bit = 0 minimal 600uS = 0.000600 = 1/0.0006 = 1.666 kbps
Last month I tried something ,I replaced the the Carssi capacitor from the RFM12B(ver3) with a value 150 pf,with good results, now the sensitivity (FS20 protocol) is good on short and long distances.
sensitivity antenna's different lengths free air
868 1/4 wave = 82.2mm sensitivity ok 0.7 - 70 meter
868 1/2 wave = 164.3mm sensitivity ok 0.7 - 100 meter
868 full wave = 345.5mm sensitivity ok 0.7 - 120 meter
I use one RFM12B now,to send and receive FS20-packets over wireless,it performs well inhouse and to the shed.
More info on this link.
Those are good results indeed ! If the FSK operation keeps working as well with this 150pf capacitor, I suppose that in addition to some local OOK task, one could als have that Jeenode act as OOK gateway by listening in OOK mode and switching only briefly to FSK mode after a succesfull OOK reception to send the OOK data to the central node over FSK.
Yes good idee ,and that same Jeenode could also control a RF Remote control mains switch ,when this command is transmitted by the central node.
I haven't tested the FSK-operations yet with this modification, I mainly use the jeenodes for transmitting and receiving FS20.