https://github.com/jonwakefield/rf-communication-and-tracking
Repository contains the Code (Javascript, Arduino (c++), Python, HTML, and CSS) to create a LoRa RF communication, tracking, and UI.
https://github.com/jonwakefield/rf-communication-and-tracking
arduino lora raspberry-pi rf ui
Last synced: 6 months ago
JSON representation
Repository contains the Code (Javascript, Arduino (c++), Python, HTML, and CSS) to create a LoRa RF communication, tracking, and UI.
- Host: GitHub
- URL: https://github.com/jonwakefield/rf-communication-and-tracking
- Owner: JonWakefield
- License: mit
- Created: 2022-10-04T18:30:56.000Z (almost 4 years ago)
- Default Branch: main
- Last Pushed: 2024-08-10T22:53:05.000Z (almost 2 years ago)
- Last Synced: 2025-02-09T01:33:02.016Z (over 1 year ago)
- Topics: arduino, lora, raspberry-pi, rf, ui
- Language: C++
- Homepage:
- Size: 12.5 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# 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.
- Arduino Uno: https://store-usa.arduino.cc/products/arduino-uno-rev3
- Raspberry Pi 4 b: https://www.raspberrypi.com/products/raspberry-pi-4-model-b/
- Sparkfun Bi-Directional Logic Level Shifters: https://www.sparkfun.com/products/12009
- Reyax RYLR998 Lora Transceiver: https://reyax.com/products/rylr998/
- PROTO-boards (bread boards)
### 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:

## 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 jonwakefield.mi@gmail.com