Passive POE Raspberry PI

I’be been using a Raspberry PI with a DVB-T2 card so we can stream TV to our PCs and tablets around the house.  As the PI sometimes crashes I’ve wanted to make it work with passive POE, I’ve also wanted to put it in a box.

So I’ve built a box which has a barrel connector for my POE adaptor cables.  The box also has a DC/DC converter to convert the 12V-24V I’m using in my server cabinet to the 5V required for the Raspberry PI.

As there wasn’t room in the box to have a lead going from the USB power socket on the PI i decided to feed power in via the expansion connector (i also didn’t have many spare USB cables).  Unfortunately this has the disadvantage of bypassing the poly fuse which protects the PI so I will probably add my own at a later date.

A view inside showing the DC/DC converter module.

Duna 1

So I’m currently going through my periodic phase of being addicted to KSP.  This time I’ve been using the USI Lifesupport mod ( https://github.com/BobPalmer/USI-LS/wiki ) to make things a bit challenging.  This mod requires you to keep your Kerbels supplied with food and have enough space to wander around if they are stuck somewhere for a long time.

The current mission which i’m working on is Duna 1, my first mission to Duna (KSP equivalent of mars).

 

Our brave kerbals posing for a photo on Duna in front of a NuLander 1c lander.

Flying the Grob 103a

On Sunday my usual glider the ASK21 wasn’t available so I flew the clubs Grob for the first time.  This was interesting as the Grob is a lot less forgiving of uncoordinated (flying without using the rudder correctly) flight then the ASK-21.  It really highlighted that I’ve started to develop a habit where the first thing I drop in high concentration situations is my rudder control.

Even though my rudder control caused me lot’s of problem I still covered quite a lot flying the Grob.  The aircraft is much less placid then the ASK21 which was really interesting when I practised stalling it.  I found it to have a much more obvious buffeting which was interesting.

A Grob 103 similar to the one we have out our club.

I also made lots of progress with taking of on the winch which was welcome as I haven’t been able to practice this for a few weeks due to the club winch being out of action.  The highlight being my first couple of launches where I correctly flew the whole of the launch on my own!

Outside of real world aviation I’ve also bought some new Saitek rudder pedal’s for my PC.  I think having pedals is even more important when you fly real aircraft as well as simulators and will hopefully get me more into the habit of using the rudder more when I fly in real life.  I’ve also been playing around with trying to stall and spin various aircraft in X-Plane and DCS.  It’s been particularly interesting with DCS’ F86 as this really shows up the affects of high G on stalling speed.   While stalling the F86 I managed to get it to stall where the wing drops and it goest into a dive.  Recovering from this was really difficult and I crashed the aircraft into the ground quite a few times.

IMG_20151026_214019

 

 

Learning to Fly


So after a work trip to a local gliding club I ended up enjoying it so much I decided to learn to fly gliders.  It’s been going really well for the last couple of months and last Sunday I did my first landing with me operating all the controls (my instructors have been using the airbrake to control the descent rate for my earlier landings).  I’ve also been experimenting with recording my flight logs so I can see where I’ve been flying and generally get a better idea of how to improve my circuits (basically the path you have to fly to perform a landing).  So after using a program called gpsvisualizer I made a track of my last flight on Sunday.

Untitled

I also took a picture of the instrument panel on one of the clubs ASK21’s that I fly:

DSC_0028_no_id

As you can see there’s a lot less instruments then you see on powered aircraft.  We also have a device call a variometer instead of a vertical speed indicator.  The variometer is designed to show if you are climbing or sinking due to atmospheric effects such as thermals.  The other instrument that is rarer is the G meter which is one with the 3 dials next to the altimeter.  This is needed as most gliders are certified for acrobatic flight and I’ve already experienced pulling about 3Gs from flying a fast turn when we had some altitude to burn off.

 

Terraria: I have a space gun and it’s mine all mine!

So I’ve finally defeated the Eye of Cthulu in Terraria and I’m now starting to be a lot stronger. I also used explosives to destroy a couple of shadow orbs and caused a meteor to crash (which I mined). So I now have a space gun and better armor. Now the next step will be trying to kill the eater of worlds.

I have a space gun!
I have a space gun!

All the demon forges!
All the demon forges!
Crossing the corruption made easy.
Crossing the corruption made easy.

Socket coding in Android

So I’ve recently been playing about with Android for ‘Not So Super Secret Startup Idea’ and needed some code to communicate data such as Phone Calls/Text messages and other things from my phone to another device using TCP/IP. This is a bit harder on Android then it is on a PC as Android is bassed on apps having something called Activities and Services.
An Activity is the part of the Application which handles user input and can be destroyed at any time by the OS. This makes it pretty much useless for running anything which will communicate with the outside world without user intervention.
The other part part of an Android app is called a service which can be used to perform tasks in the background, process events from Activities, etc.
So what I currently have is an Android app which has a Service to handle TCP/IP communications from a telnet client on a PC. The service will also send data such as GPS location, phone calls and text messages (currently work in progress) over the socket to the PC.
One problem with the default TCP/IP functions is that they block (do not return until the right amount of data is received). I choose to use threads to handle blocking I/O and post Intents (a form of IPC) to the main activity to update it’s UI.
There is however one problem with using Threads in that when the Service is stopped there is no clean way to Kill a thread. This can be gotten around by closing the socket and setting a variable inside the threads main loop to tell it that it needs to shutdown cleanly.
So here’s some quick and dirty code which output’s GPS location and the phone no. of any calls received to a socket:

GPSTest