Quantcast
Channel: Bold Apps Tech Blog
Viewing all articles
Browse latest Browse all 10

Innovate or Die: Banana Pi Servers

$
0
0
2014-01-22 19.08.25

 

This week Bold held it’s first ever Innovate or Die Days, Bold’s version of Hack Days (with more innovation and potentially more death?). This event is an opportunity for all employees to spend 48 consecutive hours building innovative and creative tools, programs, and anything they can dream up to help make Bold an even better place to work.

THE RULES:

  1. Employees must team up in groups of 1 to 3 and submit their ideas and any costs at least one week in advance.
  2. All projects must be for use in the office, related to the company, and/or generally related to the industry, but cannot directly involve their job.
  3. Each team is given 48 hours to complete their project.

If you have read any of my posts before or visited any of my other blogs you will know that I am a huge fan of Linux, Raspberry Pi, and Open Source in general. I teamed up with Tyson Kroeker, another developer at Bold and set out to build a small form factor, open source continuous integration server.

DSC_0167

The Hardware

In order to keep the entire form factor small, we opted to use a Banana Pi, a small Linux computer based on the Raspberry Pi with much higher specifications. We used an 8GB SD card to act as the main drive as well as a 500GB Seagate Barracuda for code storage. We also decided it was important to incorporate3D printing into the project so we printed 2 different cases for the Pi, one of which is visible at the top of the page.

The Banana Pi is preferable over the Raspberry Pi just because we will be running Jenkins which is a Java  application and requires slightly more CPU and I have little patience for the sever to be slow. This entire project could be recreated on a Raspberry Pi though if you don’t have access to a Banana Pi.

The Software

We installed Jenkins for Continuous Integration, which is an entire post in it’s self. We also installed LAMP to process PHP, run a  MySQL server and of course run a web server to utilize this all. We also installed the Open JDK for Linux to run Java. The operating system that was running on the Banana Pi was the Raspian image, which is a customized version of the Rasperry Pi’s Raspian image. All of the images for the Banana Pi (Including Android) are available on their website and installation is the same as installing an image for the Raspberry Pi, you can get instructions on my website for all operating systems here.

DSC_0243

What Did We Learn?

We faced a couple challenges right off the bat. We anticipated having issues with WiFi so we actually brought 4 different adapters. One Asus which didn’t work, 2 D-Link sticks which only sort of worked, and one other brand I can’t even remember which obviously didn’t work. We opted to utilize the Banana Pi’s onboard ethernet port, which we connected to a USB to Ethernet adapter plugged into Tyson’s Mac.

We found that the Lubuntu image for the Banana Pi worked fine in regards to speed but quickly found that we were running into issues where every time we unplugged or plugged in a USB device the OS locked up and sometimes needed a reboot to get going again. For a build like this, that is incredibly annoying so we ended up reformatting the card and installing Raspian on it because I knew from experience using my own Banana Pi at home that the image was fine.

DSC_0212
We also ran into some 3D printing issues since I had just upgraded the auto levelling probe and hot end (like 75% of the important parts) and had not totally calibrated everything in time our prints slightly warped. Our red case did not turn out nice but we did get a nice black print that we added a Bold vinyl sticker to. The end product looked nice in a sleek little case, with a working operating system and a web server an continuous integration built in.

We were asked to answer several questions while building our projects: What void does this fill? What is the future for the project? And what tech did we use? I think I have adequately covered the tech used in the project and I briefly covered the tech used but to answer the other 2 we would like to eventually utilize this to automate tests and continue pumping out quality code at a slightly more automated pace. As for the void, we lacked small computers with 3D printed cases in the office. The Banana Pi has proved to be a very versatile little machine that expands on the Raspberry Pi in a very positive way.

Pictures

Here is a gallery of pictures I took during our build.

DSC_0167 DSC_0166 DSC_0178 DSC_0168 DSC_0236 DSC_0216 DSC_0232 DSC_0170 DSC_0234 DSC_0243 DSC_0241 DSC_0211 DSC_0169 DSC_0183 DSC_0176 DSC_0214 DSC_0213 DSC_0227 DSC_0186 DSC_0235 DSC_0190 DSC_0242 DSC_0212 DSC_0178 - Copy DSC_0215 DSC_0174 DSC_0171 DSC_0172 DSC_0240

 

 

The post Innovate or Die: Banana Pi Servers appeared first on Bold Apps Tech Blog.


Viewing all articles
Browse latest Browse all 10

Trending Articles