Closed plin2 closed 6 years ago
Can you post a screenshot showing what you describe? What is your hardware?
My hardware is an Arduino nano ATmega328P with the RFM12B attached to it. Before taking the screenshot I checked my wiring again and detected a mistake - I mixed up IRQ and MISO (I followed the following wiring sketch since I didnt find any other)
But even after that I get a sort of 'flatline'
My Arduino nano is connected to an x86 computer with openSUSE Leap 42.3 (64 bit). You'll see the nrfmon software versions in the screenshot.
My Questions right now:
Your setup seems to be ok but the screenshot doesn't look right; it seems like you are either getting an overwhelmingly strong signal that's saturating the input, or possibly that the rf stage of the RFM12B isn't working as it should? The best way to debug the radios without equipment (e.g. a logic analyzer and/or an oscilloscope) is to have two arduino-rfm12b systems communicate with each other. If they do communicate, then obviously you will know the radios are ok.
To answer your questions.
nrfmon can also receive packets sent by a similar transmitter, in 'Listen' mode. But to do so, you need to have set all relevant radio parameters correctly, on both transmitter and receiver (nrfmon) sides.
I don't have an active system running at this moment. If you want to see more details on how this monitor works, you may check this long thread from the time nrfmon was developed. There are many images and explanations about its operation there.
Hopefully you will solve the problem soon.
Tnakks for the hints. In the meantime I started debugging de rf12mon.ino ksetch a little bit by putting some Serial.println(); behind the #if defined(RFMON_ARSSI) ... #endif. Seems as if one complete run takes about 1-2 seconds. So that will be my timeframe. From my understanding untill now I should get one 476 bytes line of rssi levels. I don't see that appearing in the Arduino IDE serial monitor. I tried to call rf12_lowbat() to check the communication wirth the RFM12B to receive either 0 or 1. No feedback.
I just tried your suggestion regarding 'Traffic'. The results looks like this
Some background information: I try to control my shutters via home automation. I got quite far with an device call SIGNALduino, but that d´can detect onla one frequency. Since the remote control for my shutters (more or less a no-name product) seems to by usinf FSK I#m looking for the second frequency. That might be at about 868.300 MHz, but my SIGNALduino transmitts at 868.00 MHz and the motors are reacting (but not always. So, my target right now is the band between 868.00 and 868.700 MHz. I'll press the remote button long enough.
What next?
From your last screenshot it seems like you are indeed communicating with theArduino Nano serialy, since you are reading rf12mon.ino's signature in the reply ("xcvr rf12b ver 0.7.6 hw HeeNode..." etc). If you know the band of interest, then using my suggestion above and narrowing the scan width will give you faster scanline times. You may need to check if the radio rf stage is still ok.
I'll mark this issue 'closed', as this doesn't seem to be a problem with nrfmon. Of cource you can still commend here, if you think there is more that can be done on the issue you are facing with the radio.
mmhh, even if I set Frequency to 868.3000 I don't see any spectrum.
When I have Traffic=on and Print packet data as raw, shouldn't I see some incoming rssi-message to produce a spectrum?
How can I tell that the Arduino is really communicating with the RFM12B? Would it show error messages if it couldn't?
What is #define RFMON_ARSSI 0 beeing used for?
The Spectrum only shows an orange block of the same level of e.g. -67 dBm for alle frequencies. There is no difference in rssi from 860 to 880 MHz.
What could be the reason?