Skip to content
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

Added new features with some improvments #5

Merged
merged 13 commits into from
Aug 1, 2024
Merged

Conversation

Slayingripper
Copy link
Contributor

Added the following 👍

  1. Integration with BMP085 sensors
  2. Ability to use as a WX station
  3. Profile for WX
  4. Profile for Static station location
  5. Changes APRS packet variables in WX to make it more readable
  6. Added variables ready to be used with more advanced sensors (rain, wind etc) just uncomment.

The whole project would benefit from some refactoring hopefully I will get to it at some point

Copy link
Owner

@dj1an dj1an left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for this PR!

I think some small Changes should be made to address issues for Users who do not have a BMP Sensor connected.

I haven't tried yet, but is the cubecell even initializing without a Sensor?

Some Sanitation or checks against the User provided fixed Position should be made in regard of many different GPS Dates and formatting.

Will try to optimize your code later and test with real Hardware.

delay(500);
Serial.println("CubeCell LoRa APRS Tracker, DJ1AN");
setup_display();
VextON(); // activate RGB Pixel
show_display("DJ1AN", "CubeCell", "LoRa APRS Tracker", 500);

bmp.begin();
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

should we check for WEATHER_DATA before starting BMP?

void telemetry() {
pinMode(Vext, OUTPUT);
digitalWrite(Vext, LOW);
Serial.begin(115200);
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Serial was already started in Setup

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Was having some issues before with the hardware, might have left that in by mistake when I was testing.

pinMode(Vext, OUTPUT);
digitalWrite(Vext, LOW);
Serial.begin(115200);
if (!bmp.begin()) {
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If no BMP connected we would spam the serial console.
Check for WEATHER_DATA?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, that would seem more appropriate

if (WEATHER_DATA == true) {

Serial.print("Weather data enabled");
aprsmsg = "!" + lat + DBEACON_OVERLAY + lng + DBEACON_SYMBOL + WIND_DIRECTION + "/" + WIND_SPEED + "g" + RAINX + "t" + TEMPERATURE + "h" + HUMIDITY + "b" + PRESSURE;
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe send out Weather as real APRS Telemetry messages in a future Version.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you elaborate what you mean real APRS Telemetry ? In this case it will show up on APRS.FI which only the values specified. When sending out "..." it will just ignore them, hence why I left them there so if you connect some more sophisticated sensor you could uncomment the top portion.

Copy link
Owner

@dj1an dj1an Feb 11, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

APRS has a Spec for Telemetry packets, not just adding text to packet comment.
This draws nice graphs on aprs.fi in the Telemetry section.

I have done so in my solar powered digipeater, see
https://github.com/dj1an/LoRa-APRS-Digipeater/blob/main/src/main.cpp#L401

Would be nice2have in future Versions, but for now we could leave it as it is

edit: ok i see. this is aprs wx format. Great!

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For Weather Data there's the specific packet format that covers all this data.
Starting on Page 62: http://www.aprs.org/doc/APRS101.PDF

aprs.fi renders nice graphs specific to the weather and generates summary reports based on local stations.
https://aprs.fi/weather/a/EW8865

@Slayingripper
Copy link
Contributor Author

Not sure how to implement sanitation checks since the user has to manually edit the code anyway. APRS will just give out an error anyway if LAT/LONG is not in the correct format.

@Slayingripper
Copy link
Contributor Author

I would like to add the ability to use more sensors, like the BMP280 or something else, but I don't have the hardware to test it with. I might get my hands on some at some point and would try to add it in the form of a switch statement or something.

@dj1an
Copy link
Owner

dj1an commented Feb 11, 2022

Not sure how to implement sanitation checks since the user has to manually edit the code anyway. APRS will just give out an error anyway if LAT/LONG is not in the correct format.

yeah, will add an example Position in APRS lat/long format

I would like to add the ability to use more sensors, like the BMP280 or something else, but I don't have the hardware to test it with. I might get my hands on some at some point and would try to add it in the form of a switch statement or something.

great Idea.

@dj1an
Copy link
Owner

dj1an commented Feb 11, 2022

Please checkout the new wx Branch
I merged your Code and did some minor Changes.
As i have no BME Sensor wired at the Moment, i cannot Test the Temperature readout.

Can you provide a wiring diagram for Documentation?

There will be a bug with fixed Beaconing.
At the Moment it needs GPS Rx, even if we are in "Fixed" Mode with user defined Coordinates.

@Slayingripper
Copy link
Contributor Author

I was searching for a fritzing model for the board but could not find one. I'll see if I can make one.
I'm powering the BMP180 sensor off the 3.3v pin
VCC -> VDD
GND -> GND
SCL -> SCL (located under the display ribbon)
SDA -> SDA (located under the display ribbon)

I will add support for the BMP280 later on when I get my hands on it.

@dj1an dj1an linked an issue Feb 12, 2022 that may be closed by this pull request
@dj1an
Copy link
Owner

dj1an commented Aug 1, 2024

I just got a BMP Sensor in my Hands.
The Code seems to work. Will merge it, Thank you! @Slayingripper .
73 DJ1AN

@dj1an dj1an merged commit 4417811 into dj1an:master Aug 1, 2024
dj1an added a commit that referenced this pull request Nov 11, 2024
This reverts commit 4417811, reversing
changes made to 6189f1e.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

New Profile with fixed Position
3 participants