-
Notifications
You must be signed in to change notification settings - Fork 23
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
Support for Heltec Wireless Stick V3 with SX1262 - Request for Testing #80
Comments
Hi, did you check RadioLib and enable RadioLib's debug output? |
Closed due to inactivity. |
I've also bought this stick. It is possible to add the support? |
@phixom If this is feasible and how much effort it is depends only on RadioLib and how much the API differs between SX1276 and SX1262. (see https://github.com/jgromes/RadioLib/tree/master/src/modules/SX126x). From the first glance I'd say it will be easy, but you never know... I am not inclined to add this Heltec device to my ever growing zoo of ESP32 boards. Are you willing to do the testing if I provide the code changes? I think a few iterations will be required. You should also have enough experience to provide some log files. |
Could you please give this a try? @mothra78 I would be happy if you could try this, too! N.B.: The modifications are currently on the |
I would be happy if anyone with this board could try this:
Thanks! |
Hello Matthias, I'm a complete beginner but have been following your posts with great interest for several months. I have a Heltec Wireless Stick V3 and would be willing to test it. Currently, I'm still working my way through your guides, trying to get everything up and running. I would love to set up a LoRa weather station with your code soon. Oh, and I'm also from Germany. Best regards, |
Hi Matthias, welcome to the project. Please let me know if you have any questions. Best regards, |
Hi Matthias! Thank you for your response. Currently, I'm facing some issues with the Heltec Wireless Stick V3. However, these problems are not related to your instructions but rather to Heltec. It's currently impossible for me to load the correct LoRa libraries under MacOS using the Arduino IDE. I keep encountering compilation errors. While the Heltec Wireless Stick V3 is currently affordable in Germany, it seems unsuitable for me as a beginner. I'll get in touch as soon as I manage to get it up and running. Thanks! |
Hi, I have a WiFi LoRa 32(V3) board (https://heltec.org/project/wifi-lora-32-v3/) and a Bresser 5-in-1 7002511 available for my experiments. Davide |
@evon800c Please try https://github.com/matthias-bs/BresserWeatherSensorReceiver/tree/feature-heltec-wifi-lora-32-v3 with board "Heltec WiFi LoRa 32(V3)" and Core Debug Level: "Debug". Please provide your compiler and serial console output. I used the following information:
There is an ambiguity between the schematic (DIO1) and Good luck! Cheers BTW: It is |
Hi, I'm not very expert on these topics, so I hope not to say too many wrong things, but I agree with you on the FQBN problem and no less on the pin indications. While browsing I found these indications // SX1262 has the following connections: and static const uint8_t SS_LoRa = 8; I recommend these comparison links:
From what I have been able to observe, the pins with which the sx1262 radio module on this board initializes are 8,14,12,13 (cs, irq, rst, gpio). With these pins your example "BresserWeatherSensorBasic.ino" initializes the radio module and starts listening but stops there, no other output on serial. I also had to make some changes to the library code, adding:
I also inserted the same entries in the pin definition part, inserting (8,14,12,13) Let me know if it's ok and how I can continue to support you. Davide |
Hi, after reading the forum article you mentioned above, I decided not to buy a Heltec board anytime soon. The documentation / libraries are well... too sloppy in my eyes. It seems (according to your compiler output) you were trying the board definitions by Heltec (from their JSON file) while I am using the plain espressif/arduino-esp32 stuff, i.e. "esp32 by Espressif Systems" V2.0.14 in the Boards Manager. Please let's stick with my approach in the first step. With this, the compiler will use -DARDUINO_heltec_wifi_32_lora_V3 and apply the correct (?) pin definitions from https://github.com/espressif/arduino-esp32/blob/master/variants/heltec_wifi_lora_32_V3/pins_arduino.h. My code in src/WeatherSensorCfg.h uses the define mentioned above to set the appropriate pin definitions and to set
The Of course, you have to use the feature-heltec-wifi-lora-32-v3 branch of the project! If the code still hangs while waiting for messages, there are at least two possible error sources:
As discussed in #91, the blocking variant of RadioLib receive() seems to be flaky, at least with the CC1101. Maybe this is also the case with the SX1262. I'll try the interrupt variant as soon as I have time. Cheers, |
I just changed the code to interrupt receive mode. Please try again. |
Hi, I reset the Arduino-IDE, I hope now to be aligned with you in terms of libraries. I tried both with RadioLib version 6.1.0 and 6.2.0, but the result is the same. It listens, but then reboot following a core panic. I attach the outputs taken and the bulk, I hope they help you. have you had the opportunity to test your library for the combination wemos d1 mini 8266 and the EByte E32-868t20d radio modulator, it should be a sx1276 |
Hi, The compile output looks perfectly fine! I fed the .elf file and the exception dump into the Stack Trace Decoder https://maximeborges.github.io/esp-stacktrace-decoder/, but I did not get any output at all. I'll try another exception decoder. I never used the EByte E32-868t20d , but the E22 device has an interface which is not suitable for using the integrated radio modem in FSK mode (and also the LoRa mode can only be used in a pre-defined configuration). |
With https://github.com/dankeboy36/esp-exception-decoder:
|
HI, a little while ago I tried to change the antenna and I saw some different messages. 22:48:31.576 -> Rebooting... Davide |
Yes, this helps! You got a valid message which has successfully been decoded by decodeBresser6In1Payload(). |
|
I have modified the RadioLib example with the same settings used in my code: Could you please try it with the board setting "Heltec WiFi LoRa 32(V3)" and see if an exception occurs? |
Hi, I also tried to do the same thing, not with the "SX126x_Receive_Interrupt" example but with the "SX126x_FSK_Modem" example, |
You mean no exception and repeated receptions with your test code? |
Hi, |
Hi, |
near perfect |
Hi, I don't remember if I told you what model my weather station is. my weather station model is a 5in1 7002511 (lot no. 7002511-1232989). by loading the latest version of your code and running "WeatherSensorBasic", I can now see the decoded data, but the station is listed as a 6in1 or 7in1 model, never 5in1. so I tried to force 5in1 in WeatherSensorCfg.h and the result was "decodeBresser5In1Payload(): Bad parity in column 0". I don't know if it helps you, but I got a USB RTL-SDR module from a friend. If you think it might be helpful for you to get some data via rtl_433, please give me the parameters you need and I can do some acquisitions. In the meantime, thank you for the work that you are doing |
Hi, Nice to see a useful result! Please have a look at the README (https://github.com/matthias-bs/BresserWeatherSensorReceiver/tree/main#readme) in the last line above the table... If the values in no_5in1_fixed.zip make sense (please bear in mind that the 6-in-1 protocol used two different messages in alternating order to send all data; this is handled by the SW), don't worry about the protocol name. Next week I'd like to ask you to check if the blocking mode also works. The interrupt mode would be a little better indeed, but a common implementation for all three radio chips is not trivial. |
Hi, yes, I have read your entire document and the note regarding 5 in 1 and 6 in 1. in the next few days I will try to check if the data I receive are coerent. for what I see, I think that they will be. I see that when the sensor is coded as 7in1 there is a "Data integrity check failed", instead when code as 6in1 not. I think that this is a good point. in debug mode I see also that you write a flags information for values. If I well understand is 1 when value is present and 0 where not. I think that this approc is very usefull to better manipulate sensor info in a chain of work. I will study the others yours example to understend how send sensors data in a lorawan network. at the moment thanks a lot for you time and your work. it's great. feel free to contact me to do other test of you code thanks. |
Hi, The available decoders are tried sequentially until the matching one is found. If the decoder does not match, the integrity check (CRC, digest or whatever) will fail. Yes, the flags indicate which values are present in a packet using the 6-in-1 protocol. I merged the not-interrupt version for Heltec WiFi LoRa32 V3 into the main branch. Could you please check if it works? BTW: BresserWeatherSensorTTN does not support the SX1262, because the underlying LMIC libary doesn't. |
Hi, I hope to have done in the right way, but the result is not ok. Do you have any suggestions for me regarding LoRaWAN libraries? |
Hi, Thank you for testing! I'll have to go for the interrupt variant... There is a list of LoRaWAN libraries: https://www.thethingsnetwork.org/forum/t/overview-of-lorawan-libraries-howto/24692/8 Not quite up-to-date, but maybe useful. I don't really have a recommendation. Most libraries are wrappers around or attempts to rewrite/update LMIC, respectively. There are a few which do not seem to be updated any more. When it comes to SX1262, there is not much choice. And in most cases you have to use PlatformIO. I did not try it for LoRaWAN yet, but my top candidate would be RadioLib. |
Hi Mattias, I'm sorry to bring no good news ... I add some data for you, I hope theu can be usefull for you. Davide |
Hi Davide, Thanks for testing, but the SX1262 is not supported yet in the latest release (see Release Notes). I'm still struggling to get a common working solution for all three transceivers. In the meantime, the feature-heltec-wifi-lora-32-v3 branch should hopefully still work for you. Cheers, |
Hi matthias, sorry I have no read release change notes... Davide |
I finally got time to test the code on Heltec Wireless Stick V3 and got it to work with an update of the pins and adding SPI.begin(LoRa_SCK, LoRa_MISO, LoRa_MOSI, LoRa_nss); before radio.beginFSK(); in WeatherSensor::begin(void). |
@mothra78 Thank you! I'd rather like to change the board definition in espressif/arduino-esp32 than to implement a workaround in this project. |
See "feat: Add board revisions V2/V3 to Heltec Wireless Stick" espressif/arduino-esp32#9205 |
Hi, I'd been looking to port your library to use on the Heltec Wireless Stick V3 I bought but recognised it has a sx1262 radio.
I have started to add code to init the SPI and sx1262 but cannot recieve any messages.
Any help would be welcome.
I have bought a CC1101 to try with an other ESP32
The text was updated successfully, but these errors were encountered: