X Team Lora

logo High Level Requirements


Mobile Crowdsensing Framework over Low-power Wide Area Networks


Functional Requirements

Our functional requirements are based upon the requirements list we obtained from meeting with our client. This section is separated into the three main parts of our project: the Android library, the proxy server, and the proof-of-concept application which implements the library and server.

Android Library

An Android library which abstracts the process of encoding data and sending it from the phone to the LoRa Node. The above functions will be able to service the basic API calls made by the OpenCellID application.

As mentioned above, we will be designing our encoded messages to work with OpenCellIDs APIs and all other applications will be ignored for the time being. Our encoded message will be able to use a few API hooks from the aforementioned applications when we are finished.

If a message is too large to be encoded into a single packet, our library will drop the message.

If the library finds that a message is too large, it will drop the message in instead will report an error to the node which will then be passed along to the gateway.

Functions which establish a WiFi connection to the LoRa Node and transmit the encoded messages.

Similar to how the first byte will represent the application that is sending the message, if the library finds that an unsupported application or an application that is supported is trying to send a message that is to large, it will drop the message in instead will report an error to the node which will then be passed along to the gateway.

Proxy Server

A configurable proxy server which abstracts the process of receiving data on the LoRa Gateway and forwarding it to its intended destination.

Proof of Concept Application

A proof-of-concept application which extends the OpenCellID app and demonstrates the use of the library and proxy server developed above.

Non-Functional Requirements

Our non-functional requirements are based on our client desire for this project to serve as a tool for future development of mobile applications using LoRaWAN as a network. The section also includes the basic requirement of security common to all networked applications.

The framework will maintain the security of data entrusted to it The framework will be easily usable by future developers The framework will be easily extensible by future developers

Environment Requirements

When formulating our functional and nonfunctional requirements, we also needed to take into consideration the CANIS Lab and their technology. Environmental requirements deal with the domain requirements and their interactions with the system and the final product will run on. They are as follows:

Team 6: Team Lora