LoRa tracker with KISS TNC capability
 
 
 
 
 
 
Go to file
Thomas Osterried 52096d7a45 bug fixes, features, much work on telemetry
Last commit: fix aprs message call length (had introduced a new bug)

Log of todays commits:

- bugfixes
   - on reset and read from preferences.cfg file, configured lat/lon
    have been ignored.
   - fix for compressed position with ambiguity > 0

- right after boot, do not wait for a precise position.
  this avoids a jump to the configured fixed position,
  which may be very far away.
  The code will become even nicer in a next release (I'm
  currently testing with hdop.hdop(), which will have changes
  of the decision-making of storing a current location); so
  the use of no_gps_position_since_boot will become nice.

- display:
  - show P= instead of Batt= if powered from USB
  - "Up " instead of " Up " for uptime if no system time is available
  - display " LoRa-TX: dis" instead of " never TX"
  - display " GPS: no fix " instead of " no GPS fix"
      Why?: "WiFi-Cli no GPS fix" is irritating (no WiFi-Client but GPS fix?
      No, it was WiFo mode Client, and GPS without fix).
  - show P: instead tof Batt: on boot
  - show axp temperature on TTGO

- InpVolts vs BattVolts:
  Hardware without AXP chip (all except T-BEAM TTGO) have no idea of
  battery voltage. -> Changed Display and Telemetry vor this:
  InpVolts instead of VattVolts.

- system time from GPS:
  - Added check if function calls are successful
  - changed nasty code with type errors and misleading variable names
  - etc..

- manual beacon (button pressed): added next_fixed_beacon = ...

- Telemetry
  - removed dependency of define KISS_PROTOCOL
  - the AXP chip of the T-BEAM could measure temperature! Cewl..
    But we already have all 5 telemetry-positions in use.
    -> If we have no battery on boot, we have 3 fields free (Batt V,
    Current in ant out). If we have no usb on battery-boot connected,
    we have one field free for the temperature. Temperature is measured
    in steps of 0.25 degrees C.
  - The new temperature field as well as the "InputVolts vs BatteryVolts
    values" for the different devices needet a re-mix of the positions
    in the telemetry frame.
    I also decided "AC V" and "AC C" to "P V" and "P C". Trackers are
    powered on DC, not AC ;)
    For various reasons, we add temperature to the 5'th field.
    "B Out" was irritating: what, Volt, Current, Light? It's now BCout.
  - Changed equations for Volt. The problem with the old method was,
    that if you have 0 V (i.E. no battery attached), it was interpreted
    by the += 3000 level -> 3V.
    Unfortunately, the APRS spec does not define an encoding if i.E.
    a sensor is not available. ",," would be nice. But the field is
    defined exactly as ",nmo," with n, m and o as digit.
  - We had two cases for
      // DO NOT ENABLE THIS UNTIL YOU READ AND UNDERSTOOD THE IMPACT DESCRIBED ABOVE
    and people have overseen the second case. Changed the concept (one
    boolean variable).
  - Searched more than week why often EQNS are sent (while PARM, etc..
    was expected). Our local state variable (type static) sometimes,
    but not always, was set to 0 on re-entering the function block.
    -> either a compiler problem, or might be a buffer overflow corrupts
    the stack?
    After I fixed this, the same happeneed with the new local static
    variable static const boolan may_add_temperature = ...,
    which changed it's assigned value  during runtime.

- taskWebserver: made status messages more consistent.

- watchdog patches from hb9xar

Signed-off-by: Thomas Osterried <dl9sau@darc.de>
2023-03-27 22:34:18 +02:00
.github/workflows Minor changes 2022-03-07 21:06:05 +01:00
data Texting new wifi AP array. 2022-12-15 09:16:37 +01:00
data_embed bug fixes, features, much work on telemetry 2023-03-27 18:28:25 +02:00
img
include Major changes. Hard work on this new releae. 2023-02-19 20:36:05 +01:00
lib Major improvements and smaller bugfixes 2022-08-07 20:01:24 +02:00
pdf Heltec-WiFi-KIT32 & Heltec-WiFi-KIT32_V2 2021-03-21 17:18:14 +01:00
src bug fixes, features, much work on telemetry 2023-03-27 22:34:18 +02:00
tools Include git hash in version 2021-04-20 17:25:22 +02:00
.gitignore Adds Smart Beaconing settings 2021-07-11 11:54:11 +02:00
.travis.yml
INSTALL.md next typo fix 2022-10-02 16:32:12 +02:00
README.md Get self telemetry path working. 2021-09-19 15:50:35 -05:00
partitions.csv
platformio.ini Major changes. Hard work on this new releae. 2023-02-19 20:36:05 +01:00

README.md

LoRa tracker with KISS TNC capability

Tracker can be used on its own. You can also connect it via blueetooth with APRSdroid. After connection with APRX based DIGI it can be used as KISS-TNC

diagram

Contributors

  • Initial work: OE1ACM, OE3CJB
  • Redesigned: SQ9MDD
  • KISS TNC Over Serial or Bluetooth: SQ5RWU
  • Lora32 board support: DJ1AN
  • Self-telemetry improvement: KB1GIM

Supported boards

  • TTGO T-beam v.0.7
  • TTGO T-beam v.1.0
  • Lora32 board

User key functions:

short press (OLED Enabled):

  • if OLED is OFF a short press will wake it up and show current data (as "Display Timeout" seconds)
  • if OLED is ON with GPS-FIX immediate sending of a frame with the position from the GPS
  • if OLED is ON without GPS-FIX, immediate sending of the frame with the position saved in the configuration

short press (OLED Disabled):

  • with a valid GPS-FIX immediate sending of a frame with the position from the GPS
  • without valid GPS-FIX, immediate sending of the frame with the position saved in the configuration

long press while booting

  • reset to factory default

long press: toggle on or off GPS power supply

  • if the "FIXED_BEACON_EN" option is enabled in the configuration, a beacon will be sent every set time interval

Oled screens information

  • ((TX)) - position frame sent automatically
  • ((RX)) - informs about the received frame
  • ((GPSOFF)) - GPS power-off information
  • ((GPS ON)) - GPS power-on information
  • ((MAN TX)) - information about sending a manually initialized GPS position frame
  • ((FIX TX)) - information about the forced manual sending of a frame with the position saved in the configuration when GPS is off or no fix
  • ((AUT TX)) - information about sending automatic positioning frame when GPS is turned off
  • ((KISSTX)) - information about sending the frame sent by KISS
  • ((WEB TX)) - sending frame as requested via HTTP
  • ((TEL TX)) - information about sending telemetry

How to binary first flash readme... (thanx SP6VWX)

  • Download the appropriate binary file for your board from: https://github.com/SQ9MDD/TTGO-T-Beam-LoRa-APRS/releases
  • Download current version of the esphome-flasher tool: https://github.com/esphome/esphome-flasher/releases
  • Connect your board to your USB port and open ESPHome Flasher.
  • If your board is not showing under Serial Port then you likely need to install the drivers for the CP210X serial chip. In Windows you can check by searching “Device Manager” and ensuring the device is shown under “Ports”.
  • In ESPHome Flasher, refresh the serial ports and select your board's serial port.
  • Browse to the downloaded firmware and select the correct firmware based on the board type.
  • Select/Press Flash ESP.
  • Once complete, “Done! Flashing is complete!” will be shown.
  • any subsequent updates can be done via WWW

Installing from source (only for advanced users)

  • Clone Git repo to any folder of your PC
  • Download and install "Visual Studio Code"
  • Open "Visual Studio Code" and add "PlatformIO" plugin
  • Open "PlatformIO" and click on "Import Arduino Project"
  • In the top part of the window choose youy board then browse to cloned repo and click "import"
  • In the left column click on the ANT-shaped icon, choose your board and click on "Upload". COM port should be detected automatically Wait for procedure to finish and keep reading

Configuring parameters

Wait for the board to reboot, connect to "N0CALL AP" WiFi network, password is: xxxxxxxxxx (10 times "x") and point your browser to "http://192.168.4.1" (http, not https). Hover your mouse to textboxes to get useful hints.

WiFi Settings

you can scan for local SSID or manually type in name and password

  • Scan WiFi: scan for local WiFi networks
  • SSID: name of the AP to connect to
  • Password: password of WiFi AP
  • AUTO AP Password: if configured network is not reachable the AP mode will be enabled, SSID will be your callsign and this will be the password

APRS Settings

These are main APRS settings such as callsign, SSID and symbol (refer to: http://www.aprs.org/symbols.html). Please remember to turn ON GPS in order to use it as a tracker.

  • Frequency: frequency of receive and transmit
  • Speed: speed of the LoRa APRS packet (default: 300)
  • Callsign and SSID: Callsign of the tracker (e.g: N0CALL-10)
  • Relay PATH: destination path of APRS packet
  • Symbol table & Symbol: custom APRS icon
  • Show altitude: allow altitude to be reported
  • Show comment: includes comment in APRS packet
  • Comment: custom message to send
  • Show Battery: includes current battery voltage
  • Fixed beacon: enables static beacon transmission
  • Fixed beacon interval: beacon interval in seconds (please more than 30 minutes to avoid overflow on the network)
  • Latitude & Longitude: fixed beacon position to transmit (in APRS format)
  • Min interval: packet are transmitted not less than x second apart
  • Max interval: maximum interval between packages
  • Speed and course: variables to calculate smart beaconing
  • GPS enabled: enables power to GPS module

Device Settings

These are main device settings, hover the mouse on the checkboxes and explainations will appear.

  • OLED Display enabled: Enables OLED functionalities
  • Bluetooth enabled: Enables bluetooth functions (such as TNC via APRSDROID)
  • LED Signaling: not yet implemented
  • Auto Power OFF: activate auto power off when USB is unplugged (only for TBEAM 1.0 or later)
  • Auto Power OFF delay: timer to turn off board after USB is unplugged (only if enabled)
  • Display show RX Time: when a packet is received display the packet is shown for X seconds
  • Display Timeout: display will turn OFF after X seconds for better power save (0 to disable and keep OLED ON)

Received

Here is the list of recently received stations with some details

Actions

Some shortcuts to useful functions such as manually send beacon

Update

This box allows firmware to be uploaded via OTA

Default WiFi Password:

  • Default WiFi Password is: xxxxxxxxxx
  • that is, 10 times x