What it does

Our project attempts to demonstrate a rough proof of concept for a distributed web-based network for communication and development in areas with no internet. The Freewave RF technology allows us to develop html/javascript web pages as if they were being hosted on the web, but instead they are hosted on a distributed network of freewave radios. This network allows for automatic 2-way communication between a server radio and a client radio.

How we built it

We used a barebones python based flask web server that hosted simple javascript and html web pages. We implemented a web chat and a 2-way tic tac toe game as well as a ping checker to demonstrate potential uses of this network. The chat and video app demonstrates the ability to wirelessly communicate over long distances with others in the network without any internet, and the tic tac toe game demonstrates an automatic update of information between client and server. The ping checker, represents the ability to display other types of data (sensor, etc.) in the web apps. As this technology improves, more robust and fluid UI can be made to allow for a user experience indistinguishable from the internet.

Challenges we ran into

This project posed many different challenges that forced us to combine and leverage each team members’ experience. The logistics of setting up the radios and ensuring they were communicating with each other as well as transferring the files for the project to the radio were handled by those on our team experienced in operating systems and hardware. Contrasting these lower level challenges, we had the problem of web-development and learning new frameworks. To tackle this, we split up the development into separate “sectors” so one person had to learn javascript/html/css displaying the web page and another was in charge of the flask baseline and javascript that performed most of the logic of the project.

Accomplishments that we're proud of

This project had many smaller, more proof-of-concept approaches to develop that show that the RF network is extendable to handle a large range of web applications. Our biggest accomplishments were setting up an automatically updating tic tac toe application that allows players to communicate wirelessly without the internet. This showed that the radios are capable of repeated and constant server-client requests that could handle more than just a simple game like tic tac toe.

What we learned

Since our team is comprised of mostly newcomers to the hackathon community and our entire team has no web development experience, we learned how to handle the simple web frameworks and development tools. During this project, we had to learn how to use flask without any previous experience as well as interfacing it with javascript, html, etc. Since we are all new to hackathons and we have big differences in skills between our team members (2 electrical engineering, 2 math/computer science), we learned how to effectively communicate to those of different disciplines as well as how to combine individual strengths to create a project in the short time provided.

Future Improvements and New Features

FreeWave ZumIQ provided an incredibly interesting platform. The potential applications of a RF network are wide and varied. For example, an RF network that utilizes the ZumIQ’s synchronization of frequency hopping between clusters of radios could be used to create a network whose packets are also constantly changing in frequency. The security of this network would be bolstered by the unpredictable frequency that adversaries would need to collect on. If the signal scheduling and emission firmware were made robust and powerful, we could foresee a very secure wireless, web based network that is functional in any environment. In addition, the daisy chaining of central server radios and client radios could extend the range of these networks beyond the 60 mile range of an individual radio, greatly increasing the usability of this network. As the radios’ computing power increases, these could even begin to perform small computations and act as an isolated, cloud cluster.

Built With

Share this project: