richonguzman / lora_aprs_tracker Goto Github PK
View Code? Open in Web Editor NEWLoRa APRS Tracker with Tx and Rx capabilities, Messages, Wx, Winlink and more...
License: MIT License
LoRa APRS Tracker with Tx and Rx capabilities, Messages, Wx, Winlink and more...
License: MIT License
It would be great if tracker sends position on external power off and shut downs.
Scenario: install it in a car, autostart on turning the key on. Then after parking send position od turning key off and clean shutdown.
Would be possible to add declarations of different frequencies and CR/SF parameters in each profile? In our country, we use these parameters other than generally agreed. This would allow us to quickly change them when we are near the border or when traveling to another country. It would be very useful for us and maybe also in other countries, for example in the UK.
Hello,
Thanks for this great development!
I don't have the Menu 0 display described in the ReadMe. I don't have the impression that it's implemented in the code. I would love to exploit the Change between three Callsigns functionality.
Is this development planned in the near future?
73, F4FNE
Hi,
I see on 2023.12.07 Added TTGO Lilygo LoRa32 v2.1 board as Bluetooth TNC(Android/Apple) and as a Tracker (with external GPS module).
I tried multiple Iphones with this TTGO but i don't see the Bluetooth Lora device. On Android Phones it is working without problem. Do i have to set a different Bluetooth type in the config?
Regards,
Johannes.
Hola,
por fin puede comprar un modulo nuevo con GPS y demas.
Trate tu version y le version original del software y no funciona.
Cuando instalo tu version en la pantalla me sale solo LORA APRS
(TRACKER)
etc.
Pero de ahi no funciona nada mas.
Si cambie el callsign. Ademas para estar seguro modifique el platform.ini para que solo este la version 1.2
El model exacto dice 2ASYE-T-Beam
T-Beam-AXP2101-v1.2
Definitions for Power saving mode missing.
Compiling .pio\build\ttgo-t-beam-v0_7\src\station_utils.cpp.o
In file included from src/LoRa_APRS_Tracker.cpp:16:
src/power_utils.h:16:14: error: 'TwoWire' has not been declared
bool begin(TwoWire &port);
^~~~~~~
In file included from src/power_utils.cpp:1:
src/power_utils.h:16:14: error: 'TwoWire' has not been declared
bool begin(TwoWire &port);
^~~~~~~
src/power_utils.cpp:10:29: error: 'bool PowerManagement::begin' is not a static data member of 'class PowerManagement'
bool PowerManagement::begin(TwoWire &port) {
^~~~~~~
src/power_utils.cpp:10:29: error: 'TwoWire' was not declared in this scope
src/power_utils.cpp:10:38: error: 'port' was not declared in this scope
bool PowerManagement::begin(TwoWire &port) {
^~~~
src/power_utils.cpp:10:38: note: suggested alternative: 'word'
bool PowerManagement::begin(TwoWire &port) {
^~~~
word
src/power_utils.cpp: In member function 'double PowerManagement::getBatteryVoltage()':
src/power_utils.cpp:138:1: error: no return statement in function returning non-void [-Werror=return-type]
}
^
src/power_utils.cpp: In member function 'double PowerManagement::getBatteryChargeDischargeCurrent()':
src/power_utils.cpp:151:1: error: no return statement in function returning non-void [-Werror=return-type]
}
^
src/power_utils.cpp: In member function 'bool PowerManagement::isBatteryConnected()':
src/power_utils.cpp:160:1: error: no return statement in function returning non-void [-Werror=return-type]
}
^
src/power_utils.cpp: In member function 'bool PowerManagement::isChargeing()':
src/power_utils.cpp:169:1: error: no return statement in function returning non-void [-Werror=return-type]
}
^
cc1plus.exe: all warnings being treated as errors
In file included from src/menu_utils.cpp:7:
src/power_utils.h:16:14: error: 'TwoWire' has not been declared
bool begin(TwoWire &port);
^~~~~~~
In file included from src/station_utils.cpp:5:
src/power_utils.h:16:14: error: 'TwoWire' has not been declared
bool begin(TwoWire &port);
^~~~~~~
Compiling .pio\build\ttgo-t-beam-v0_7\libed7\TinyGPSPlus\TinyGPS++.cpp.o
Compiling .pio\build\ttgo-t-beam-v0_7\lib54d\Time\DateStrings.cpp.o
Compiling .pio\build\ttgo-t-beam-v0_7\lib54d\Time\Time.cpp.o
Compiling .pio\build\ttgo-t-beam-v0_7\lib3f2\OneButton\OneButton.cpp.o
*** [.pio\build\ttgo-t-beam-v0_7\src\LoRa_APRS_Tracker.cpp.o] Error 1
*** [.pio\build\ttgo-t-beam-v0_7\src\power_utils.cpp.o] Error 1
*** [.pio\build\ttgo-t-beam-v0_7\src\menu_utils.cpp.o] Error 1
*** [.pio\build\ttgo-t-beam-v0_7\src\station_utils.cpp.o] Error 1
======================================== [FAILED] Took 47.59 seconds ========================================
Environment Status Duration
ttgo-t-beam-v0_7 FAILED 00:00:47.590
=================================== 1 failed, 0 succeeded in 00:00:47.590
Dear,
Would it be possible to get a file for using ttgo with a larger display SH1106?
Thank you very much!
Kind regards,
ON3CRX
Could you give us type of BME280 module which you are using for?
I have created two symbols that I use. Put them in the code if you like.
// "="
static const unsigned char trainSymbol[] PROGMEM = {
0b00000000, 0b00110000,
0b11111110, 0b00000000,
0b10000100, 0b01111000,
0b10000100, 0b00110000,
0b10000100, 0b00110000,
0b10000100, 0b00110000,
0b11111111, 0b11111100,
0b11111111, 0b11111110,
0b11111111, 0b11111110,
0b11111111, 0b11111100,
0b11100111, 0b10011110,
0b01001111, 0b11001111,
0b00100111, 0b10010000,
0b00011000, 0b01100000
};
// "y"
static const unsigned char yagiSymbol[] PROGMEM = {
0b01010000, 0b00000000,
0b11110001, 0b10000000,
0b01000111, 0b11100000,
0b01011111, 0b11111000,
0b01111111, 0b11111110,
0b11111111, 0b11111111,
0b01000000, 0b00000010,
0b01011000, 0b00011010,
0b01011000, 0b00011010,
0b01000011, 0b11000010,
0b01000010, 0b01000010,
0b01000010, 0b11000010,
0b01000010, 0b01000010,
0b01111111, 0b11111110
};
Hello would it be possiable to add USB tnc support to use with APRX as a multimode digirepeater? I am having issues with the bluetooth giving errors and disconnecting from raspberry pi using the rfcomm method.
Thanks,
KK4JMW
Not an issue but a wish:-)
in the file tracker_config.json:
pls change the position of the variable "overlay": "xxx"
to each callsign.
This will allow us to use more symbols and different for each Callsign.
Thank you really much for your good work.
73 Thomas, DC4FRT
Hi,
maybe this is a stupid question, but how can i shut down the tracker?
If there is a battery inserted it will run until the battery is empty.
Can I shut down the tracker by pressing any of the three buttons without removing the battery every time?
Regards from Germany,
Jürgen
Hi,
Just a proposal to add a function to show number of satellites received in commends or status.
Kind regards,
Stijn
In the display, the date is not updating. it is fixed at 1999-12-31 . the time is correct, the Lat Long is correct and the Locator is correct. Only date is wrong. (verified on two different trackers)
Hello,
Is interoperability ensured with hardware that runs on OE5BPA code?
For example, is it possible to receive, with your i-gate code, the positions of a tracker operating with the OE5BPA code?
And also in the other direction (is the position sent by your tracker correctly received on an OE5BPA igate)?
I think it's an important point to ensure success with lora APRS development.
Thanks for the great work! 73s
Julien HB9HRD
All
Just starting the journey with LORA and wish to test range using APRS.
I have bought 2 boards LILYGO T-Beam S3 Core 22/11/02 V3.0 one with screen gps battery etc and one just a board with gps
Will the firmware work with these?
Thanks
Andrew GM0UDL
Do we have BME sensor support on the tracker as we have in the iGate? Eventually could we have it?
thanks
iw2ejh
Hi,
Speed is not always shown in aprs.fi
The speed only shows when standing still, not when moving.
Kind regards,
Stijn
On3rip
Hi,
First of all, thanks for the best tracker ever !
Message function just works great, sending a message to the tracker from aprs.fi had no issues at all.
Would be nice if you couls use one Gpio pin for a 'beep', just a 5v beeper (tiny model) that can fit in any ttgo case.
So when a message is received an audible alert is given.
Thanks for the great job !
73 ON2ON
I have set active to false in first beacon and true in second, but when I switch T-beam to second beacon, monitor on USB says [INFO][Main] Smart Beacon is: Off, but should be ON.
"beacons": [
{
"callsign": "OK2MNL-14",
"symbol": "[",
"overlay": "/",
"comment": "",
"smart_beacon": {
"active": false,
"slowRate": 120,
"slowSpeed": 3,
"fastRate": 60,
"fastSpeed": 15,
"minTxDist": 50,
"minDeltaBeacon": 20,
"turnMinDeg": 12,
"turnSlope": 60
}
},
{
"callsign": "OK2MNL-14",
"symbol": ">",
"overlay": "/",
"comment": "",
"smart_beacon": {
"active": true,
"slowRate": 120,
"slowSpeed": 10,
"fastRate": 60,
"fastSpeed": 70,
"minTxDist": 100,
"minDeltaBeacon": 12,
"turnMinDeg": 10,
"turnSlope": 80
}
},
I was in version 2023-7-13 and everything in the tracker was working as expected
I updated to version 2023-8-24
with that version, (after the GPS acquire the position, led blinking) the tracker send out a packet with null position.2023-08-25 12:59:39 CEST: IW2EJH-5>APLRT1,WIDE1-1,qAR,iw2ejh-11:>https://github.com/richonguzman/LoRa_APRS_Tracker 2023.08.19
type: status
srccallsign: IW2EJH-5
dstcallsign: APLRT1
status: https://github.com/richonguzman/LoRa_APRS_Tracker 2023.08.19
2023-08-25 13:02:35 CEST: IW2EJH-5>APLRT1,WIDE1-1,qAR,iw2ejh-11:!null7?TWQ$XR[E8Q Bat=4.20V (87mA) [Invalid packet]
type: location
srccallsign: IW2EJH-5
dstcallsign: APLRT1
messaging: 0
while with the previous FW, the packet looks like:
2023-08-25 12:46:13 CEST: IW2EJH-5>APLRT1,WIDE1-1,qAR,iw2ejh-11:!/7?UVQ$Xo[EIQ Bat=4.12V (-90mA)
type: location
format: compressed
srccallsign: IW2EJH-5
dstcallsign: APLRT1
latitude: 45.813525461638 °
longitude: 10.070165858986 °
altitude: 229.81562896278 m
symboltable: /
symbolcode: [
messaging: 0
posresolution: 0.291 m
comment: Bat=4.12V (-90mA)
I rolled back to that version and it work fine, I put again the new version and got the same behaviour.
additional info: on the display the gps the lat and long are correctly displayed
Hello,
Most of the parameters are intuitive but could you describe precisely what these parameters mean:
Would be grateful, thanks !
Hi, is there any chance to use a free IO-Port to power on/off the board (Lilygo T-Beam v1.2 with AXP2101)?
I'd like to use other buttons in a housing.
73 de Thomas, DO4FT
Good afternoon richonguzman.
I seen you have considered one output pin for an external RF amplifier, in order to increase the power of the transmission.
This can be very useful for my needs (localization in mountan paths where is no cellular coverage).
I searched in Internet, and found many devices, mainly two diffeent type:
specific bi-directional devices, with automatic switching for tx, powered from 3,7 to 5V, that drain about 10 mA if used in automatic mode. In order to save battery, I could switch it ON by using the output pin connected to a mosfet, with delay between power on and tx. But I'm afraid that the rx amplifier will saturate the receiver when I use it in noisy environment.
general-purpose wide band uni-directional devices. This can be also powered with the same pin and mosfet, but all iI found are powered with 5V or 12V, that are no good, due I would like to use a second 18650 battery dedicated to the amplifier.
Have you experienced with this devices?
I hope to build a small-weight device, in order to don't make my backpack heavier.
Many thanks
lostdog
Hi Ricardo,
I've loaded your latest version (31.12) and it works.
But you should add the backup battery charging, otherwise this battery quickly goes flat and then, the GPS fix can be VERY looong.
I've added in setup() in power_utils.cpp the following lines for the AXP2101 modules :
// Enable Button Battery charge
PMU.enableButtonBatteryCharge();
// Set Button Battery charge voltage
PMU.setButtonBatteryChargeVoltage(3300);
Now, the battery is charging.
I hope this helps.
73, Patrick.
Hi richonguzman,
I'd like to add BME680 sensor. Apart from the bme_utils.cpp and .h files, what are other adjustments necessary to either
Thank you for your work so far, appreciate it!
Hi, love the project!
I noticed the RTC battery for the GPS module on the V1.2 T-Beam board is not charged by default.
For the AXP2101 boards this can be enabled by calling:
PMU.setButtonBatteryChargeVoltage(3300);
followed by:
PMU.enableButtonBatteryCharge();
Which I suggest enabling in PowerManagement::activateGPS()
For the older boards I think enabling LDO1 to around 3.3 V would work the same.
The battery (https://www.sii.co.jp/en/me/datasheets/ms-rechargeable/ms412fe-5/) can be charged to somewhere between 2.8-3.3 V, and a silicon diode in series will drop the voltage by around 0.3 V or so.
There are some functions to read the voltage as well, so in principle the software could enable charging only when needed but I think the power draw is so small that it shouldn't matter.
Hello
Unfortunately, this code will not work on newer T-Beam boards sold by Lilygo (official Aliexpress store)
Since June 2023, AXP192 are no longer produced (or sold ?). New Lilygo T-beam boards are shipped with the new AXP2101.
The battery voltage stays at "0V" and the tracker turns on but has malfunctions.
As it is no longer possible to obtain modules with AXP192 from Lilygo, this problem will concern more and more new users.
Best 73, Julien HB9HRD
How connected bme280 modul to t-beam v1.1 or 1.2.
Grts Radioman
Proposal: when a new message is received, screen should turn on, so the user is notified.
Cheers 73
Julien HB9HRD
richonguzman,
another question.
Now I can red the battery percentage.
Leaving the board (LILYGO 1.2) on the table in my office, without GPS coverage (so the board never transmit the position in APRS), I seen the battery discharging quickly.
Starting with full charge at about 10:00, I seen 35% at 15:00, but after this the percentage decrease at 1% at second, and the board shut off.
The battery is an X-Balog , 8800 mAh, very cheap choice, but new, at the second charging cycle.
Is this consumption normal for this board?
Do you have suggestion?
Many Thanks
lostdog
Hello !
I recently received a Lilygo T-Beam v1.2 with AXP2101 from Aliexpres, but after installing the tracking software, the device doesn't work and seems to be related to the APX210.
The main screen shows battery: -0.00v and the device got stuck when preparing to transmit. Checking the serial monitor, I also found that there is an error message during boot: [ERROR] [AXP192] Boot failed!
Is there a way to handle this problem, or is the hardware definitely not supported yet?
Thank you!!
I have a Lilygo T-Beam T22 v1.1 . I've tried compiling for v1 and version v1_2 and v1, and also v1_sx1268 . It always displays No Battery Connected. Any ideas how to get this working?
Thank you,
Walter
I uploaded in the LILYGO T_BEAM433 MHz.
The version of the board is a mystery:
Somebody can help me?
Many thanks
Hello,
The comment field in the compressed format is sended empty when in route, but its ok when the Tracker boots ("defaultStatusAfterBoot" : true,), so it's never updated again after boot.
aprslib.parse("PU5KNB-12>APLR01,WIDE1-1,qAO,PP5AMP-10:!/\AutB7K->!!Q")
{'raw': 'PU5KNB-12>APLR01,WIDE1-1,qAO,PP5AMP-10:!/\AutB7K->!!Q', 'from': 'PU5KNB-12', 'to': 'APLR01', 'path': ['WIDE1-1', 'qAO', 'PP5AMP-10'], 'via': 'PP5AMP-10', 'messagecapable': False, 'format': 'compressed', 'altitude': 0.3048, 'symbol': '>', 'symbol_table': '/', 'latitude': -27.43332825798187, 'longitude': -48.45813097557007, 'comment': ''}
https://aprs.fi/?c=raw&call=PU5KNB-12
Ps: Keep the awsome job.
Kind Regards,
Guilherme - PU5KNB
QEX Team.
When ordering the boards of the Lora T-Beam, I paid attention to the frequency 430MHz, but unfortunately did not see the difference between SX1278 and SX1268.
Now I have some SX1268 boards here in my hand which unfortunately do not work.
Failure is "Error - Starting LoRa failed! "
I have also SX1278, they work really fine :-) great Job from Ricardo.
thanks and best regards
73, Thomas
It would be useful to have the indication, in addition to the large callsign on the display, also of the symbol (even only in code) of the car, pedestrian, boat, bicycle, etc. It would also be nice to also have the ability to change the time zone and the display to dd-mm-yyyy for various cities in Europe.
Buenas,
este proyecto tiene soporte para el modulo T-Lora?
Lo compre en este link https://www.aliexpress.com/item/32872078587.html?spm=a2g0o.order_list.order_list_main.5.303d1802nFPDmv
Este modulo ya tiene soporte de meshtastic por si acaso.
Tambien la pregunta sobre la instalacion y configuracion del proyecto. Funciona igual que el proyecto original de Lora_Aprs, usando el Terminal directamente para compila el programa?
I just bought the above mentioned T-Beam with the improved LoRa transceiver.
Tried several of your predefined build environments, but I keep getting LoRa starting errors:
[INFO][AXP2101] init done!
[INFO][Main] RichonGuzman (CA2RXU) --> LoRa APRS Tracker/Station
[INFO][Main] Version: 2023.12.13
[INFO][Main] Number of APRS Messages : 0
[INFO][LoRa] Set SPI pins!
[INFO][LoRa] Set LoRa pins!
[INFO][LoRa] frequency: 433775000
[ERROR][LoRa] Starting LoRa failed!
Any tips how this configuration can be made to work with your tracker would be greatly appreciated.
Thanks in advance and 73 de Robert DC1RDB
File: bme_utils.cpp
Here is my CODE-MOD to disable transmit huminidy data for BMP280
String readDataSensor(String type) {
String wx, tempStr, humStr, presStr;
float newTemp = bme.readTemperature();
float newHum;
#ifndef BMPSensor
newHum = bme.readHumidity();
#else
newHum = 0;
#endif
float newPress = (bme.readPressure() / 100.0F);
if (isnan(newTemp) || isnan(newHum) || isnan(newPress)) {
Serial.println("BME280 Module data failed");
if (type == "OLED") {
wx = " - C - % - hPa";
} else {
wx = ".../...g...t...r...p...P...h..b.....";
}
return wx;
} else {
tempStr = generateTempString(newTemp, type);
#ifndef BMPSensor
humStr = generateHumString(newHum, type);
#else
humStr = "-99";
#endif
presStr = generatePresString(newPress + (Config.bme.heightCorrection/CORRECTION_FACTOR), type);
if (type == "OLED") {
#ifndef BMPSensor
wx = tempStr + "C " + humStr + "% " + presStr + "hPa";
#else
wx = "T: " + tempStr + "C " + "P: " + presStr + "hPa";
#endif
} else {
#ifndef BMPSensor
wx = ".../...g...t" + tempStr + "r...p...P...h" + humStr + "b" + presStr;
#else
wx = ".../...g...t" + tempStr + "r...p...P...h..b" + presStr;
#endif
}
return wx;
}
}
At first many thanks for the nice project,
BME280 works, shows temp. pressure. ttc on screen.
but not transmitting to aprs.
regards dan
vy 72 de DL6OW
Edit : Oops !
It was concerning the iGate !
Hi Ricardo,
Not a issue, but an improvement request.
It would be nice to have the choice between DHCP IP address or static. ;-)
73 Patrick TK5EP
Hi,
I'm not sure whether the problem is with the tracker or the I-Gate.
Tracker: path setting = "WIDE1-1, WIDE2-1"
the messages don't go through. However, they are received on the I-Gate (but the position is not transmitted to the Internet).
Is this a problem, or is it on purpose?
Normally the PATH WIDE1-1, WIDE2-1 should be correct for a mobile tracker. This allows it to be relayed by a digipeater.
Hi richonguzman,
thank you for this great software and keep up the nice work.
I found a little name-missmatch of large/lower case in the config file.
In the file: track_config.json Line 76 it says:
"disableGPS": false"
In X.cpp Files the name of the variable says:
"Config.disableGps"
Once the letters are "GPS" and then "Gps", so the variables does not match. I fixed it in the "track_config.json" and changed the name to "disableGps". Now it works, without error on my T-lora-v2_1.
Best wishes and thank you
Chris DM1DW
Today I upgraded FW from version 2023.10.01 to version 2023.12.24 on my TTGO-T-Beam 1.2.
I noticed the battery value are not reported correctly as before:
previous value:
2023-12-26 13:53:07 CET: IW2EJH-5>APLRT1,WIDE1-1,qAR,iw2ejh-11:!/7?UxQ$YS[F6Q Bat=4.20V (215mA)
actual value:
2023-12-26 14:13:01 CET: IW2EJH-5>APLRT1,WIDE1-1,qAR,iw2ejh-11:!/7?V\Q$YV[DvQ Bat=0.29V ( 0%)
The battery is fully charded as shown in the beacon sent 20 minutes before the upgrade.
Also, the display says battery not connected and the blue LED (indicating the battery in charge mode) is permanently active, with or without the power supplied from the USB connector.
If possible in one of the next updates: Please an Option to Disable BUTTON Function due to use it only in one Mode
Would it be possible to shut down the tracker when the integrated lithium battery level goes under a certain level in order to avoid overdischarge the battery ?
thanks
Marino - iw2ejh
Radiolib has a function to enable or disable Rx Boosted Gain mode as described in SX126x datasheet
section 9.6 (SX1261/2 v2.1, SX1268 v1.1)
\param rxbgm True for Rx Boosted Gain, false for Rx Power Saving Gain
Would it be possible to implement this function, maybe configurable in the "LoRa" section of tracker_config.json?
73 de Robert DC1RDB
Problem with middle button gpio 38, double Click/press no function, long press after 7 seconds change the callsign, one click no function. Batterystatus not visible on display. Grts radioman1511
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.