An adaptable underwater wireless communication platform
Explore the docs »
View the Code
·
Report Bug
·
Request Feature
Table of Contents
Every year billions of dollars are invested collecting terabytes of data from underwater ROVs, Remotely Operated Vehicles, that is critical for the operation and maintenance of offshore infrastructure. Current implementations use either wired or acoustic wireless methods to retrieve the information from ROVs. The former is fast, but increases the risk of entanglement, while the latter suffers from high latency and low data rates. The objective of this project is to design a short-range, high-data-rate, wireless, underwater communication system to enable high-speed communication in shallow waters without the use of a bulky wire. Specifically, we use software-based error detection and correction techniques, layered on FM radio encoding to take advantage of the high-data-rate qualities of electromagnetic communication at frequencies that minimize the impacts of poor signal propagation in water. The error correction algorithm and communications circuits are designed based on radio wave, communications, and circuit theory. The main advantages of our solution are the high data rates and lack of physical wire. When integrated with ROVs, our wireless communication system enables easily deployable and maneuverable communications for underwater investigations, which reduces the risk, cost, and time spent on scientific study.
Some core concepts associated with our project.
This network code is meant to be run on a Raspberry-Pi in combination with a SX1262 LoRa Hat. Specifically, this code is set up to be run on the North American 915MHz band. If in another region, please use the corresponding publically available frequency band.
See guide on initial setup with the raspberry pi here
Below is an example of how you can instruct your audience on installing and setting up your app. This template doesn't rely on any external dependencies or services.
- Purchase and set up 2 Raspberry Pis with an SX1262 LoRa Hat.
- Clone the repo
git clone https://github.com/DevonMillerJunk/CapstoneProject.git
- Set up the data that you wish to transfer
- Run either the test bench, or custom program on top of the library
With a pair of Raspberry Pi and SX1262 LoRa Hats, one is able to set up a transmitter and receiver. The transmitter can run the transmission test best and the receiver can run the receiving test bench. Depending on the test bench run, stats can be output to the command line.
- Design of Standard
- Basic Test Bench for Antenna Assessment
- Error Encoding and Decoding
- Implementation of CRC code generation
- Error Correction through RS decoding
- Optimization of parameters
- Adaptive Code word lengths
- Network Implementation
- Packetization of the data
- Timing and ackknowledgements
- Integration of Error Encoding and Decoding
- Retransmission of failed packets
- Advanced Test Bench
- Basic Test Bench built on top of Network Implementation
- Metrics Collection and Assessment
See the open issues for a full list of proposed features (and known issues).
- Devon Miller-Junk - dsmiller@uwaterloo.ca
- Johan Alant - jalant@uwaterloo.ca
- Yrina Guarisma - yguarisma@uwaterloo.ca
- Braden Bakker - bgobakker@uwaterloo.ca
Project Link: https://github.com/DevonMillerJunk/CapstoneProject
Special Thanks to all of the following for their assistance with this project