After work today I was zapped, but I got the file structure tested and confirmed on the server side for the initial testing. Everything is using Linux so it is easy to set up the testing grounds. I’m trying to make the device installation as quick as possible with minimal fussing about.
Oh and I also fixed a bug with the ‘~’ (home) location in java. Using ‘user.home’ gives me the home directory (actually on Windows too I found out but not tested, no need).
Eventually all of this will be in C++ so I’m 0% stressing at the moment. The servers will need to be C++ because of the JVM overhead.
I also fixed my PC in Linux which was not connecting to many websites. I had set up the fixed IP for testing without setting the routers gateway correctly. Chrome seems to mask this by loading up some websites but the rest it couldn’t find. The fix was done by assigning the fixed IP on the routers side. Eventually a VPS will cause me a few headaches.
I think tomorrow I will get back down to using Blender because that is the main source for this project. Royalty free 3D models/animations I want to test out.
I’ve been doing odds and sods today.
- Play a list of videos on a continuous loop full screen. By using libvlc and the Java wrapper I’ve finally got a full screen player working in less than 60 lines of code which plays a list of video files.
- Write a server and test over the internet. Using just a Java server, the initial test worked which was to accept a connection and send “Hello world!” back. Now that it is running I can expand the server with all the functionality I require. This will be handling the back-end database, media and installations.
- Define a KISS (Keep It Simple Stupid) database for handling devices and media.
- Write a mobile Android app to manage the setup of devices and assigning play lists. This is going to be a big one and a lot of work and I need to be on site when setting up devices and getting them playing without glitches.
- Expand on the software for the media player so that it can update itself from the server with not only media updates, but also software updates.
- Run an outside test live over the internet and update the playlist.
- Get more experience with Blender and video creation. For the most part, I’m more than capable of producing the videos in approximately an hour for everything I need. The more I get familiar with Blender then I can add more effects to the videos which will be a bonus.
- Bully test the server. I already have someone on hand that can test the servers integrity and stability. Pen-testing the server will give me some good pointers to how to make it more secure. I’m also considering the 2 way login.
That’s the plan for the next couple of weeks. Just so long as I get some free time I can move along quite quickly with this with the exception of the bully testing and updating.
Right now, things are looking almost bullet proof. Fingers crossed.
I forgot to add the VPS (Virtual Private Server)
I had 2.5 days carried over for holidays so I took a long weekend off beginning half day on Friday. All to go for long rides with the missus on our motorbikes. And she was very happy because she has only been riding for almost a month now.
Anyway, documents have been written up towards this project and a very important document that I created regarding it from about six years ago needs altering. No database plan has been setup yet until the spreadsheets are finalised. Number crunching has been pretty good.
At the moment I have four sample videos created, although I need a lot more, to which a demonstration setup can be made. When all the sample videos have been produced, they will range through all categories of businesses.
My Intel tiny PC turned up and I am not disappointed. I may as well stick to 30 frames per second instead of 60 as the current videos play perfect. I’ve got it to boot up in Linux and auto run my software to play the videos on a loop. No screen tearing and running all over these last four days.
Over the next one to three weeks I should have the server infrastructure in place where I can live test my new system. As mentioned above, the documentation has been more of an important matter over this weekend off when I’ve had the time. The infrastructure will include storage, database solutions, communications, security protocols and a users interface to the server.
Throughout this entire project I’ve kept to a strict diet of royalty free and open source. In the future, the software I have used will get donations.
The initial test was a single ‘cpp’ program which links to ‘libvlc’ and ‘X11’ which opens a full screen window and attaches each instance being played to the full screen window. Now it gets complex. (not really)…
This is proving to be easier than I thought.
The Eclipse GWT project was setup. The parallax3D jar library added. A test AnimatedScene class with some basic geometry tests done. Spin a few of them around.
That’s me done for tonight. Got work in the morning.
I’m hoping I can load in Blender models, or even .OBJ models. If not, I’ll figure something out. Also 3D text I need.
No screeny yet cos of screen tearing.
Tonight I had a full on plan to get my own VPS (Linux based) and setup a Tomcat server ready for my WebGL personal project showcase. I’m planning on porting some old school samples from years ago from both IrrLicht and Dark Basic Pro.
So far, I’ve not made a start as the missus passed her CBT today (Motorbike Compulsory Basic Training) and she is way over excited.
VPS and Tomcat are still in progress.
I also plan on studying this WebAsm too for much faster rendering.
If it chills out tonight, which is highly unlikely, then I’ll make a start.
After faffing about with CopperCube and CopperLicht, which is fun to play around with, I’ve found it quite restricting for the type of demonstrations that I want to do. So I’ve decided to head on back to Parallax3D, bypassing the urge to play with LibGDX again.
LibGDX is good but each LibGDX project has to be a complete GWT module in itself, which means copying over all the GWT stuff again. It probably is likely that I could integrate it into a GWT project and I might try it at some point.
However, Parallax3D just appears to have everything and is a simple Jar file which is added to a GWT project.
So… It’s finding out what mesh files (hopefully wavefront OBJ’s as well) and I’ll be up and running if the weather is bad this weekend.
I also need to FTP this site as my homes Sky router isn’t working with the DNS service.
Enough of this. Time to setup a project on my lappy.
Yes, most definitely it has been some time since I last posted anything on my blog. That’s because this last month I have hardly had any real chill time to myself. Well, I have had some, but it never lasts for long enough.
Anyway, I’ve still been faffing about. I recently purchased CopperCube so that I could delve deeper into WebGL. Plus I’m familiar with Irrlicht, and CopperLicht makes working with 3D graphics a doddle.
I’ve also found that I can actually call myself a full-stack developer considering recent projects I’ve been working on. One project involves a C/C++ TCP/UDP server for communications, A Java TCP server to use Java AWT graphics, GWT for a web interface instead of installing software. The server does many things, too many to mention, but I’m well chuffed with it.
Setting up the server involves freshly installing Linux. Then installing Apache Tomcat. Making a few modifications to the system and then installing the software.
Device connect on the network via ethernet or wifi and will automatically detect the location of the server because of the UDP heart beat. Clever stuff really. Probably not, but all the same, it works great.
I’ve also played around with having a home TCP server which can be made use of from my mobile phone while I am out, my tablet or a PC, as well as a GWT web interface.
After playing around with all of this, there’s lot’s more I want to play with. Maybe Vaadin or similar. Move on to desktop 3D graphics again instead of openGLES 2.
I’ve also finally got myself an i7 laptop with nVidia graphics. Cheap off eBay! So I can develop on the go. That’s if the battery is good in it.
There’s other things over this last month that have tickled my fancy, but I won’t mentioned that here. Tempting though.
Hopefully this weekend I will have a long one as I’m booking Friday and Monday off because I seriously need to relax a little.
Until next time…
Yesterday I played around with a webGL engine and added it to my home hosted servers website. So it will not be available to view all the time.
Here’s a screenshot of it running in the Chrome browser:
As it say on the page, thinking of data in C++ takes some time and some mental planning. Java with its quirks, I finally think I’ve got the knack of it.
Click here: WLGfx@home to view my PCs hosted site.
If it doesn’t load up then my home PC is not switched on.
There’s still quite a bit to do to this site, especially to do with the 3D stuff. I’ve got to setup a decent scene to show off with. Some cool shaders and some decent meshes.