-
-
Notifications
You must be signed in to change notification settings - Fork 131
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
915MHz with Lilygo LoRA32 v2.1 #87
Comments
The log is showing pulses being detected, but they are very weak ( signal rssi ). Also your config shows fsk mode, is this what you device uses? |
Yes, the device maps to this in
Seems my antenna needs some attention. I'm just using the tiny one that came with the board and my device is only a few feet away in the same room. I'll see if I can rig something up and will report back. |
During testing I found that a vertical orientation worked best. |
Yes, I've tried all orientations and even extending the antenna away from the board on a cable. It's odd that I see a couple of log entries initially with RSSI around -30dbM, then everything else is around -100dbM. |
I bought an antenna that was recommended by the meshtastic group, but that made no difference. Seems that I may need another board, since with only one I can't test it with basic send and receive code to make sure the device is working in other scenarios. |
I've looked into this further and there is something going on within all the noise. My device sends out a signal roughly every 64 seconds. I do see a burst of activity that coincides with that time period:
Is there a debug switch I can use to display what is being received? When I was looking at this with rtl_433 I would use the
I have applied the code fix from merbanan/rtl_433#2303, which was needed to recognize / decocde my device. If I can confirm that the TTGO is receiving the data, then I can start to track down the decoding. |
For more information on the signal, DEMOD_DEBUG is one option to try Or these RTL_VERBOSE=## ; Enable RTL_433 device decoder verbose mode, ## is the decoder # from the appropriate memcpy line in rtl_433_ESP.cpp |
ok, getting somewhere now. Not exactly sure where, but this is what I am seeing with
This isn't consistent, but the variants of it I see all contain the data from my device. However, with rtl_433, what I see is
and this gets decoded correctly. This is from the most current version on git with the I did, once, see the correct message, albeit too long. Decoder 18 doesn't fire for this message, but does for others, and gives links to triq.org, but I haven't pursued those (I don't have any other devices). Not sure how to proceed - the data is being received but is truncated at the beginning and too long overall! |
If you remove this directive, Looking at the data you shared, this looks close
to this
The first bit is being truncated, and it doesn't appear to detect end of signal correctly.
Looks like the first couple of bits are being missed |
Exactly my point. The data is there, just not all there. I will try again today with the stock antenna and see if I can get a hit. The radio and the device are in the same room. |
I've had this running for a few hours with different antennas. I have not been able to pick up a well-formed signal from my device. I see a lot of stuff that I don't see when running my SDR, and I see the signal (the ones with all a's) from my device but it is often missing the first 4 bits and is always too long. Otherwise, it contains the correct data. I'm officially stuck!
|
Looking at the fineoffest decoder logic, it looks for a preamble of {0xAA, 0x2D, 0xD4}, which is present. So am thinking that the issue is receiver on time. The ones with the preamble appear to have a signal length of 9000.
There is logic in rtl_433_ESP.cpp to keep listening for a minimum time after the end of the signal
You could try tuning PD_MAX_GAP_MS, to see if that improves reception. |
I'm about to head out of town for a few days so will look at this when I return. I did a quick scan through the code and only see
Are you saying I should replace |
I was looking at an older version earlier, what you included is current. Sorry about that Try tuning and reducing MINIUM_SIGNAL_LENGTH |
I guess there's no real science to this? I just dropped it to 500 and it worked immediately:
Since this is the only FSK device I'm interested in, I'll leave it as is. Now to figure out if this will work with OpenMQTT ... |
I'm happy to report that after grabbing OpenMQTTGateway, replacing the Thanks for your help getting me up and running! |
Changing I thought it might have been a poor signal as I just have the standard stubby one that came with the LIlygo LaRA32, but thought I would try this as the WH31E and WH40 had no issue. |
Any recommendations on an updated value to use? |
Also just reviewing my code and my variable naming is a bit incorrect This calculation
Is the MINIMUM SIGNAL GAP LENGTH ( how long to wait after a signal has finished before sending it for processing ) and not the signal length , which is |
Is there a different variable that I should try? Seems odd that changing a timing fixed the issue. |
I think he is just saying the variable From a tuning perspective, I am not 100% sure how this works; but assuming if the value is too low, data could be lost/truncated, and too high additional data would be collected by the receiver? |
After looking through your code, it looks like instead of renaming the variable, a new one should be created as this one is being used for two different purposes. There's also this, for which MINIMUM_SIGNAL_LENGTH is the appropriate name:
In general, I would expect that MINIMUM_SIGNAL_LENGTH would depend on the exact protocol being targeted. A high-bitrate protocol is going to have shorter messages that would be problematic, but if your target is a low-bitrate protocol, it will be too low. In general, I really don't think targeting more than one protocol at a time is going to work well due to the restrictive nature of the receivers we're working with - rtl_433 with an SDR has a lot more data available to it for decisionmaking. The exception might be protocols that are extremely similar (close to each other in length, same bitrate or very similar). |
I have a rough proof of concept at https://github.com/Entropy512/rtl_433_ESP/commits/neptune_r900/ - I am now able to successfully receive messages from my water meter when I wasn't able to before. It seems like adjacent channels will sometimes be successfully received, and sometimes not. (In general, it seems to be when rtl_433 reports a frequency lower than my dwell channel, not higher.). This may require tightening the receive bandwidth even more if the receive application implements hopping, since receiving from an adjacent channel might result in an improper hop. (I've managed to decipher the hopping sequence of the R900 - https://github.com/Entropy512/r900_esphome/tree/main) Of course, it may be more beneficial to accept a worst-case of one report every 700 seconds and not attempt to follow the hops. |
Hi, just getting into this with the hope of getting my ecowitt temperature / humidity sensors recognized.
I have this working with the regular rtl_433 code and an SDR, albeit with a small mod to
fineoffset.c
which I applied to the code in this repository. I am not able to pick up the messages with the Lilygo.My output is:
This is after resetting the device. After the last message, there is a 15-20 second pause, then the Ignored messages just stream in:
I'm not sure how to interpret this - there is a carrier, there are pulses, and significant gaps. I also see (not shown) many instances of single digit signal lengths, then an occasional 4 digit signal length, but nothing in between.
I am using the following build flags:
One big difference between my working rtl_433 setup and this is that the former uses a sample rate of 1000000Hz. I've tried setting
#define DEFAULT_SAMPLE_RATE 1000000
inrtl_433.h
but it doesn't appear to have any effect.Let me know if anything comes to mind. I can start digging in the code, but would need some pointers as to where to look!
Thanks
The text was updated successfully, but these errors were encountered: