For a long time ive been working on another scouting system. In a world full of them, im not trying to compete, im just showing what I think is the best solution for my team. I’m part of team 5199 Robot Dolphins, and we have, like many others, have been working on a scouting program of our very own. I have been one of the sole workers on the programming side of this project as i professionally specialize in data visualization, and took it upon myself to mix my two favorite hobbies.
Currently, the inplimentation we are using is a web-based form which users can input data through a GUI, it saves that data locally on the device and sent through Bluetooth to a central database. That central database hosts the entire webserver, database, and also has enough processing power to run the in-house data visualization program I am developing with the d3.js library. All these fancy words to say, we are creating a new solution which takes a lot of difficult to solve problems, and solves most if not all of them. Including JSON page configuration for easy form changing between or during seasons. Multiple storage locations for minimal data loss while still having immediate analysis results. And disconnection to the interwebs to make sure everything runs in the worst possible conditions.
Currently the software is under development, and is really only half functioning. But the hardware has been prototyped and tested as a viable solution. It is centerd on a raspberry pi which has its own redundant power supply that can last on its own ~6 hours. A screen, mouse, and keyboard for 100% remote operation. It hosts the webserver using a Bluetooth PAN network and can be wired to any display for immediate visual analysis of the data it holds within.
Not really sure yet. I think I might, but the codebase is definitely not ready yet. I have an older project which is a scouting system in a usb. But it isnt really public friendly yet
Looks very helpful, would be great to implement a similar system for us, with one central computer. What do you mean when you say the pi hosts the web server? Are you creating a local host or viewing files in the pi? I’ve been confused for a while about the rules involving this, I’ve seen users who say you aren’t allowed to set up a server in the stands/pits, especially not on venue Wi-Fi, etc. Do you know the rules regarding this?
I have seen many discussions on this topic and looked into a lot of them as I was developing my solution. On ChiefDelphi, the consensus seems to be Wifi bad, Bluetooth maybe kind of ok. And that’s the way I’m doing it. I don’t know how to make a proper app, so I wanted to stay the way of a web service. And since WiFi was out, and cellular is always spotty, I used Bluetooth. The Raspberri Pi creates something called a Bluetooth Pan network that devices connect to. Its run entirely on bluetooth, however the devices on that network think its a normal wifi network. So all i had to do was create an apache webserver on the Pi, make sure it ran through the bluetooth network, connect devices to that network. And you can access the hosted website through a normal web browser
Makes a lot more sense, so it’s never online at all, but rather hosted by the pi and viewed through the PAN? This seems like the proper way to do it, as you don’t need 8+ devices trying to upload data to a webserver over cellular. My question to that would be is it possible to view the data in the pits? Do you know how far the range is?
I doubt it would be far enough. Ive tested it once and it went about 15-20 ft in the stands before the signal degraded too much. Our strategy team usually comes to the stands during team picking so it isn’t much of a problem for us. However i am working on a solution where you would walk to the stands, reload the page, and could walk away after storing all the relivant data locally. If you have a cellular modem that could also work by hosting the website through that.
A cellular modem is a broad term for a lot of devices. Most phones can be cellular modems, there are purpose built USB dongles or full devices. All it really means, is a device that can bridge between the cellular internet, and the local network you have devices on. In the case using my software. All you would have to do is get the public IP of the modem you are connected to. Configure some sort of port forward to the webserver, and tell people who want to access it from cellular, to simply enter that public ip and port number into their browser, and it will appear.
The cellular solution is really simple basic webserver stuff you can look up. However it requires a stable cellular connection. Which my team couldn’t guarantee