Lora32 Oled with GPS, Master with several Slave units

Hello Everyone,

My name is Chris and I'm totally new (absolute noob) to programming and somewhat new to Arduino. My background with programming is to be consider zilch. :slight_smile: To a very small extent I can grasp certain things in the language, but doesn't mean I may always fully understand. Hence my possible issue here. So to begin.

First, this project is not of my creation, nor is any of the programming I'm sharing here. It's an open source project by another person, who I've tried to contact, however had no luck in resolving or response to the issue I'm having. That said, it consists of a LoRa GPS locator with an OLED screen and a LoRa GPS Beacon(s). Quite a neat idea and purpose for the RC realm or anything else, like tracking pups or what not. All units have a gps antenna and then send back the coordinates to the locator, to resolve a distance and rough course direction and gps coords to the beacon (fallen aircraft or so be it). The kicker is, once you boot up 2 or more beacons, you cannot cycle/change the page to read any of the other beacons using the two buttons that are wired into the Lora board. They literally don't respond, and I can't for the life of me create a print.ln to see if the buttons are even responding to see if it's a hardware issue or programming issue.

I've got all boards flashed and working (minus the page change feature). The locator has the wiring correct per his diagram. All of my beacons report properly individually to the locator.

What I'd like to achieve, if anyone could help, is to understand where and what the problem is, and then guide me in my attempt to correct it. I hope that is. I'm certainly not looking to just get it "fixed", but to learn and understand it that way it makes sense to me and I learn from it. Of course it's easier just to have anyone fix it and there ya go... but I'm more beat my head into the wall into it's figured out and working. I'm pretty sure I've beat my head in to the wall enough over the last several weeks horribly attempting to change and modify the code to get the button feature to work, but I suck and and I failed. Miserably :frowning: lol

From going over the programming, part of me feels the button feature may not be correctly written, and part of me feels some of the libraries are not needed in the sketch (there's quite a lot once opened in IDE), as I'm not sure if they still get called upon or not. Goes to show, I'm not certain on a lot. I think that's why I'm confused as to possibly what to ignore vs what's important. It also seems what I'm looking for, can be written in many different ways, thus my searching online and reading has led me down many rabbit holes with so many different written sketches.

This is the link to the github project for reference, GitHub - DzikuVx/QmuBeaconLocator ... I've added the zip files here as well.

I really hope this post gets me further ahead to completing this project.
Thank you for taking the time to read my cry for help lol.
Have a good night,
Chris

P.s. One this I did get to work, sadly half-ass... was adding a display line of HDOP ( sat accuracy) to the display, though, haven't figured out how to connect the "information sent" to be displayed line. Meaning, I've got the verbiage to readout "hdop:" but no output of the actual info I'm trying to receive from the beacon about it's accuracy.

QmuBeacon-master.zip (203 KB)

QmuBeaconLocator-master.zip (115 KB)

TinyGPSPlus-1.0.2b.zip (45.1 KB)

QmuTactile-master.zip (7.46 KB)

Read this before posting a programming question.

No one will download your zip files.

SteveMann:
Read this before posting a programming question.

No one will download your zip files.

Hi Steve,

Thanks for the heads up. Wasn't aware no one would. I thought it would be helpful in terms of looking at the code, being that's what I've read of other people doing. Otherwise they get flamed for not uploading any of the code they're asking about.

I'll take a look at that link you provided.
Thanks again

Hi,
Welcome to the forum.

You need to be more descriptive in your Subject.

"Programming Issue" will not attract the people you need to help.

You can edit the subject to something like.

Lora beacon and GPS, master and many slaves

What model Arduinos are you using?

Thanks.. Tom... :slight_smile:

TomGeorge:
Hi,
Welcome to the forum.

You need to be more descriptive in your Subject.

"Programming Issue" will not attract the people you need to help.

You can edit the subject to something like.

Lora beacon and GPS, master and many slaves

What model Arduinos are you using?

Thanks.. Tom... :slight_smile:

Hi Tom,

Thank you for the suggestions, I've updated the subject accordingly.

The master/locator unit is TTGO Oled Lora V2 ESP32 made by Lilygo. And for the slaves, they're Lora32u4 II dev board made by BS France. Both master and slaves are utilizing the Bn-180 GPS antenna.

Thanks,
Chris

I have a working LoRa GPS locator program, that uses the first 3 bytes of the packet to identify the packet type, destination node and source node. The 3rd byte therefore identifies the ID of the tracker.

This ID is then printed on the OLED when a packet is received.

The remote transmitters do send their locations at random, so it is possible for them to intefere with each other, but if the location packets are short its not too much of an issue.

srnet:
I have a working LoRa GPS locator program, that uses the first 3 bytes of the packet to identify the packet type, destination node and source node. The 3rd byte therefore identifies the ID of the tracker.

This ID is then printed on the OLED when a packet is received.

The remote transmitters do send their locations at random, so it is possible for them to intefere with each other, but if the location packets are short its not too much of an issue.

Interesting, I believe this code that I'm using is possibly incomplete. I couldn't find key points of assigned setup pin functions that would call to the buttons to actually function. The buttons are defined in the code, but nothing beyond that.
As far as receiving and displaying the info from the packets. It appears the code does that correctly and well. I can boot up three beacons, and the locator will display 1/3 beacons on the top line, but only show the first beacon's id, RSSI, it's course to the beacon, last time (seconds) received and it's coordinates and distance. Then continue that refresh of the info every 4 seconds or until you turn off that beacon and then the counter just continues to rise. The other two beacons never get cycled on the display.

I attached a photo of the display showing the info, and specifically, Beacons 1/2. Two connected, but displaying beacon 1's info.

20210214_120314[1].jpg

This topic was automatically closed 120 days after the last reply. New replies are no longer allowed.