LaserNet

Highlights⌗
Description⌗
Learn more on Octanne’s LaserNet website.
LaserNet is a C++ and web project using a pair of Raspberry Pi, lasers and sensors in order to transmit data between two computers.
This was my first project in pair, and I am proud of what we accomplished. I took charge of the synchronization and communications of the lasers, while my colleague was setting up a C++ WebServer. We made a web interface to control the state of the Raspberry, and to send messages and commands to control them.
The “Net” part of the project was about transferring internet packets. We were able to read http packets, however, sending them to act as a seamless bridge is another challenge. At the end, we simplified the project to only send messages through the Raspberry Pi.
As a result, we were able to establish a communication between the two Raspberry Pi. The maximum stable transfer rate was a hundred octets|bytes per second.
Hardware | Price |
---|---|
2x Raspberry Pi 4 B 2GB | 100.73 € |
4x photosensitive sensors (binary with a potentiometer) | 3.34 € |
4x KY-018 photoresistor module (analog) | 1.28 € |
4x KY-008 laser transmitter module (650nm 5mW 5V) | 1.48 € |
Total | 106.83 € |
In parallel, I developed a tool to detect plausible synchronization issues with stream reading. I present you SimLine (Sources), a DNA-sequence alignment inspired tool to compare long strings of data. Unlike diff tools such as git, this comparison tool works with values on a single line.
Context⌗
For our ISN (Informatique et Science du Numérique, now equivalent to Numérique et Sciences Informatiques) project, we asked ourselves of the feasibility of the communication between two computers using lasers. The idea is to position two Raspberry Pi with a laser and a sensor each, in order to send and receive data.
Overview⌗
Raspberry Pi Box made with Fusion360 | Sensor and laser support |
---|---|
![]() | ![]() |
![]() | ![]() |
Dashboard and console |
---|
![]() |
Stress test received vs sent |
![]() |
Errors detected by SimLine |
![]() |