This project was inspired by the need for a offline App at a robotics competition. It is a high school competition that has the students compete against other robotics teams. They needed an offline server because the WiFi at the events are usually not reliable or secure and allows the team connect to the app reliably.
What it does
The web app hosts a friendly user interface that contains a scouting form that replaces the need for a paper form. It helps the information be quickly input, analyzed, and shared. It can be utilized on any internet enabled device due to the responsive design of the web app.
The server uses a raspberry pi 2. It is running a modified version of raspbian called Rachel Pi. This allows for the Pi to act as a server that hosts the Web app.
How we built it
Challenges we ran into
There were a lot of challenges when setting up the web server. Our first idea was to use an idea called PiRateBox which allows for anonymous offline file sharing. We planned to add PHP and MySQL to the design to allow us to host the web page. The problems we ran into with this idea is we could not connect the device to the internet in order to install the necessary files to run Apache and in return PHP and MySQL. We spent more time than we should have trying to make this work.
We also tried another form of a raspbian server, but also had trouble connecting to the internet to install necessary functions. Even with the OS we chose, we still had trouble getting updates from online. The main cause of this is because we were making an offline server.
We were unsuccessful in creating an access point for the server. We believe it is because we are trying to make an access point at the same time as we are trying to download updates from the internet.
The hardest part with the WebApp was using the new Bootstrap 4 (in beta) instead of the old Bootstrap3.XX. It also proved difficult using Jquery to work with the new bootstrap
Accomplishments that we're proud of
The web app ended up looking really good. We are proud that we could learn the new Bootstrap 4 even though it is still in beta. The new graphs and input selections that we were able to learn showed to be a great learning experience and success.
What we learned
We learned the difficulties that come with trying to make a server that is offline. We also learned some new tools and techniques to make awesome web apps that have a simple user interface.
What's next for Scout FRC WebApp
The use of thebluealliance.com API will be added. The use of github webhook in order to allow the web app to be updated on the Pi whenever the github repository is updated. Then the app can be used at the competition this Spring and every competition after.