RF-Communication-and-Tracking

Repository contains the Code (Javascript, Arduino (c++), Python, HTML, and CSS) to create a LoRa RF communication, tracking, and UI.

MIT License

Stars
0
Committers
1

RF-Communication-and-Tracking

RF communication and tracking project using C++, Python, and JavaScript for communication, data processing, and user interface.

Hardware:

The following list of hardware devices are used in conjuction with the Software.

Software:

The software consists of three main languages:
  • C++
  • Python
  • JavaScript

C++:

  • C++ handles communication with the LoRa RF transciever and passes incoming serial data to Python via the USB Serial port.

JavaScript:

  • JavaScript handles user input and passes all data to Python in standard JSON format.

User-Interface Photos

Full-User interface (not the prettiest :) )
Example chat messages

Python:

  • Python handles communications between both UI and the Arduino Uno.
  • Incoming data is processed, converted to JSON, and displayed on the UI.
  • Out going data is serialized and sent to the Arduino for transmission.

Communication Beacon:

The Communication beacon is a portable RF extension, used to increase the total reception and transmission range for RF communication.

Hardware:

Communication Beacon Hardware

 - Raspberry Pi 4b
 - Reyax RYLR998 Lora Transceiver

Software:

Communication Beacon Flowchart: beacon_software

Tracking Beacon:

The tracking beacons are used to get RSSI measurements relative to the rovers position and send this data back to the basecamp for RF location based tracking.

Hardware:

 - Arduino Uno (any arduino based uC would work).
 - Level Shifter
 - RF transceiver

Software:

 - C++

If you have any additional questions or comments regarding this project, please feel free to reach out to me at [email protected]