This repository contains hardware and software for building practical Visible Light Communication system. The PURPLE board is a cape that works with BeagleBone Black embedded computer. With PURPLE, one can send and receive information using visible light.
The hardware design is available in the eagle folder.
- Firmware running on PRU including both transmitter and receiver
- User-space program to run on embedded Linux environment
- Hardware schematic
- Partlist to assemble your own cape Digi-Key
- PCB ordering OSH Park
- config/
This directory contains all configuration files used before make.
- docs/
This directory contains all documents and notes used as instructions and tutorials deployed in class.
- example/
This directory contains the userspace program to send and receive msgs through light.
- firmware/
This directory contains the binary files that's going to run on PRU
- pcb/
This directory contains the hardware schematic and the PCB layout as well as the partlists.
- src/
This directory contains the source file that needs to be compiled into the binary file under firmware folder.
- test/
This directory contains the test and debugging file in user space for the PRU source code.
- Summary of set up
- Hardware
- Beaglebone Black
- Purple Cape
- SD card
- Micro USB cable
- Software
- BBB Driver[Windows][Mac][Linux]
- SSH[Windows][Mac/Linux]
- Internet Connection (optional)
- Ethernet Cable (Required physical access to the LAN port of your router/access point)
- Wireless Dongle
- Hardware
- Configuration
- Dependencies
- Deployment instructions
- LED installation.
- Photodiode installation.
Step 1: Insert SD card to BBB board. Make sure SD card has been flashed with the purple image.
Step 2: Boot Up the BBB board and connect the board to your PC/Laptop. Make sure you have successfully installed the drivers for BBB.
Step 3: SSH to the board. ssh [email protected]
Step 4: When you login, Change to root.
sudo -s
Step 5: Go to purple repository.
cd purple
Step 6: Reload the pru remoteproc kernel module.
rmmod pru_rproc
modprobe pru_rproc
Step 7: Compile the code.
make clean
make
Step 8: Make sure the code got compiled succesfully.
Step 9: Start listening on incoming messages on one purple board.
cd example
./receive
Step 10: Start sending the messages on other purple board.
cd example
./send "hello world"
Step 11: Make sure the message got received correctly.
Step 12: Congratulations. You've completed this short tutorial.
- Shengrong Yin ([email protected])
- Omprakash Gnawali ([email protected])