I have been working on a project to make communications between multiple devices on the field quite simplistic. I present to you, the DevServer. It is an HTTP (TCP) based server, where the Java or C++ API can send and retrieve values, and at the same time, have them available on other devices on the network.
Features:
Mostly STL C++, some DLib, with most headers commented out.
Amazing web interface, which is clean, fast and works well
AJAX for most web loading!
The web pages are loaded into RAM on runtime, so the load times are quite minimal
C++, Java, and possibly JavaScript(browser) APIs will be released soon
Most of you will be wondering, what is this, and why I made this. This is a server, in which you can store and access data through. It supports multiple clients at the same time, so it can be used for passing data between a coprocessor and the cRIO. This nifty server comes bundled with a powerful web interface which has documentation, a way to send values, and a way to monitor all the values in real time. Based off vanilla JavaScript, the web interface requires no client setup. However, it is designed for webkit, so it may not display properly in FireFox and IE.
The code is available on GitHub, HERE]
If you want to automatically download and install the server in Debian/GNU Linux, I have written an installer, and a simple one-line command to install:
Run this command:
wget https://github.com/yash101/Other/blob/master/DLib/DevNodeServer/DevServer2/CMAKE_STANDALONE/install.sh install.sh && chmod +x install.sh && ./install.sh
Remember, this system is not completed. I will be adding a ton of new features in the future!
The red boxes on the side are debug and control boxes. The X button shuts down the server. The R button is meant to reload all the dependencies, but is currently broken! The shut down button is disabled by default, however, because when I set up my demo, people were shutting down the server. To re-enable it, enter dserv/src and comment out “#define DISABLE_REMOTE_SHUTDOWN”. You can change the port number and a number of different settings from this file too. However, make sure to recompile!
Recompiling: Directory(dserv/src)
cmake .
make -j 4
This is my main implementation of FRC Socket Programming! Thanks, everyone, who replied to my previous thread, FRC Java TCP client
WINDOWS USERS:
I will be providing a Visual Studio 2012 Express solution soon. While this will probably be tomorrow, it will be solely based off the number of changes I will need to make to the code to make it compile, and how much time I have on hand!
Suggestions are welcome. I want this to be amazing!