IMDEA Networks – GSoC 2017

Pervasive Wireless Group of IMDEA Networks Institute presents two of the main Free/Open Software projects for Google Summer of Code 2017: OpenVLC and Electrosense.

 

OpenVLC is an open-source, software-defined, flexible, low-cost Visible Light Communication platform. OpenVLC is in partnership with University of HoustonSUPSITU Delft and IEIIT/CNR and it is used by top research groups. Visible Light Communication, sometimes also referred to as “LiFi” uses standard off-the-shelf visible light LEDs to transmit data using the visible light spectrum. VLC is receiving strong attention from the designers of the 5G networks and beyond. VLC can enable new pervasive wireless systems in the context of Internet of Things. The lack of an open-source reference platform for VLC networks is hindering the progress of the research community. The ElectroSense network is a crowd-sourcing initiative to collect and analyze spectrum data. It uses small radio sensors based on cheap commodity hardware and offers aggregated spectrum information over an open API. The initiative’s goal is to sense the entire spectrum in populated regions of the world and to make the data available in real-time for different kinds of stakeholders which require a deeper knowledge of the actual spectrum usage. ElectroSense Network is an iniciative where Industry and academia partners work together like ArmasuisseIMDEA NetworksKU LeuvenSero Systems and University of Ljubljana
Web: http://www.openvlc.org/
Git Repository: https://github.com/openvlc/openvlc
Web: http://electrosense.org
Git Repository: https://github.com/electrosense/

 

IDEAS LIST for GSOC 2017

Project #1: OpenVLC – Shifting OpenVLC’s time-sensitive operations to Arduino Due

  • Brief Explanation: The source codes of OpenVLC are currently fully written as a Linux driver that implements a new network interface for communication with visible light. Therefore, OpenVLC’s physical layer signal processing needs to share resources with the host Linux OS, which limits the rate of sampling the visible light signals and thus results in a low throughput (~10 Kbps). The GOAL of this project is to use a dedicated processor to implement the time-sensitive operations of OpenVLC, to boost up OpenVLC’s performance greatly. In particular, this project will investigate to use the board Arduino Due which has a Atmel SAM3X8E ARM Cortex-M3 CPU. The work will shift the time-sensitive operations in OpenVLC to Arduino Due and implement an efficient interface between the Arduino Due and the main board BeagleBone Black (that runs the software of OpenVLC).
  • Expected results: Run the time-sensitive operations of OpenVLC driver in the board Arduino Due to boost up the rate of sampling the visible light signals. The throughput is expected to be increased by 100 times (to several Mbps).
  • Knowledge Prerequisite: C, Linux driver
  • Mentors: Ander Galisteo (PhD student),  Qing Wang (PostDoctoral Researcher) and Domenico Giustiniano (Research Associate Professor)

Project #2: OpenVLC – Android based visible light communication between LEDs and smartphones

  • Brief Explanation: OpenVLC’s software is hosted by the embedded board BeagleBone Black that runs the Debian Linux OS. OpenVLC’s hardware is designed as a cape that is attached to the BeagleBone Black board. The GOAL of this project is to design an APP residing at an Android smartphone that is capable of communicating with an OpenVLC node through visible light. The APP will use the smartphone’s camera to detect the visible light signals by taking advantage of the rolling shuttering effect of cameras. The student does not need to start the development from the scratch, due to the fact that part of the source codes of the OpenVLC driver can be reused in developing the Android APP.
  • Expected results: Communication between an Android Smartphone and an OpenVLC node. Throughput is expected to be several Kbps.
  • Knowledge Prerequisite: C, Android app development
  • Mentors: Ander Galisteo (PhD student),  Qing Wang (PostDoctoral Researcher) and Domenico Giustiniano (Research Associate Professor)

Project #3: OpenVLC – Run OpenVLC on the Raspberry Pi Zero

  • Brief Explanation: A grand challenge in the OpenVLC project is to support the embedded boards that have smaller and smaller size nowadays. This is why we envision to run the OpenVLC code in the Raspberry Pi Zero board that is tiny and only costs 5 US dollars. The work will require the porting of the current OpenVLC driver to the Raspberry Pi Zero board which runs a Linux OS with Xenomai patch to support time sensitive operations. The challenges will be to optimize the source codes of OpenVLC in Raspberry Pi Zero considering the limited computational capabilities of the board and to design an efficient and simple interface for the OpenVLC hardware front-end.
  • Expected results: Successfully run the OpenVLC on the board Raspberry Pi Zero. Achieve a throughput of at least tens of Kbps.
  • Knowledge Prerequisite: C, Linux driver (Eagle knowledge is a plus)
  • Mentors: Ander Galisteo (PhD student),  Qing Wang (PostDoctoral Researcher) and Domenico Giustiniano (Research Associate Professor)

Project #4: Electrosense – Anomaly detection (TensorFlow)

  • Brief Explanation: One of the main challenges in spectrum monitoring is to detect anomalies in a certain frequency channel in real time. An anomaly could be understood as there is a non-official transmitter in the radio channel, the modulation is not the expected one, etc. Learning some interesting features from the signal and applying a neural network could provide an interesting tool to detect in real time if something is wrong in the signal.
  • Expected results: A neuronal network to detect anomalies detection.
  • Knowledge Prerequisite: Tensor Flow, C++, python (GNU radio and Matlab is a plus).
  • Mentors: Roberto Calvo-Palomino (PhD student) and Domenico Giustiniano (Research Associate Professor)

Project #5: Electrosense – Location of the transmission source

  • Brief Explanation: Location of the source signal is always interesting to detect the origin of the transmission. For instance if you detect some anomalies because a non-official transmitter is using the channel (related with project #4) you would like to detect the source of this transmission. The main idea in this project is to build a prototype with a few sensors that can collaborate to detect the source of the transmission.
  • Expected results: A prototype/testbed to localize the transmission source.
  • Knowledge Prerequisite: C++, signal processing, rtl-sdr (GNU radio and Matlab is a plus).
  • Mentors: Roberto Calvo-Palomino (PhD student) and Domenico Giustiniano (Research Associate Professor)

Project #6: Electrosense – Integration with Android Smartphones

  • Brief Explanation: Currently the Electrosense networks has more than 40 static sensors (RaspberryPi) deployed in Europe. All of them scan the spectrum in their locations, but it could be interested to deploy mobile nodes to retrieve spectrum data from different locations. Each sensor uses a RTL-SDR device to scan the spectrum which is compatible with Android Smartphones. The goal of this project is to develop a JAVA application for scanning the spectrum in android smartphones and send the spectrum data to the server.
  • Expected results: Spectrum Monitoring client developed in JAVA for Android.
  • Knowledge Prerequisite:  Android, NDK, C. (android-studio is a plus).
  • Mentors: Roberto Calvo-Palomino (PhD student) and Domenico Giustiniano (Research Associate Professor)