Raspberry Pi Tutorials

On Friday night I successfully created a 2 node Pi computer. I tested it with the MPICH2 script and it indicated that both nodes, RApi0 and RApi1, were talking to each other.

Raspberry Pi Tutorials

Below you'll find a merged set of posts on my Raspberry Pi Tutorials and fun links I found. The Raspberry Pi is a cheap credit card-sized computer that helps kids 'hack' and learn computing. It's a great way to build lots of fun projects too. I hope to add to this list as time goes on but I thought my readers would like to see an updated list from my archives.

Bitcoin Mining with a Raspberry Pi

I started bitcoin mining with my Raspberry Pi and an ASIC miner, just for fun because I like to tinker.  I doubt that I'll get rich off this, but I just wanted to try out this "real" digital currency.

I'm not 100% sold on it yet, it does have some great advantages (i.e. decentralized, low transaction fees), and some disadvantages (i.e. governments might not like it), so it remains to be seen if it will be viable. In the meantime, I'm mining 24/7 with a goal to get to 1 BTC by the time I'm 90.

RapidAnalytics (RapidMiner Server) on a Raspberry Pi

I'm attempting a feat that I believe hasn't been done or thought of before, putting Rapid Analytics (RA) 1.3 on a Raspberry Pi. I know that the Pi is woefully underpowered for such a task but I installed an ARM optimized version of Java and it seems to work just fine.

Now the trick is to finish the download, unzip, config it, and try to initialize it from the command line.  If it works, I'll use it for purposes such as downloading stock and sentiment data.

After tinkering with it for a while I had some great success installing Rapid Analytics 1.3 (RA) on the Raspberry Pi. I originally tried to do all this via SSH (headless), but I was running into the X11 error on my windows machine. In the end I had to connect the Pi to my large screen TV and start X windows from there.

I got RA to initialize into the configuration routine right after I opened a terminal window but got stopped in my tracks when it asked me for what database I want to use.  Shoot, I didn't install any!

So I spent the rest of the evening downloading and installing MySQL, PHP, and Apache before running out of space on my 2 GB SD card. I have too much crap on the card from my tinkering projects to finish the install. Double shoot!  Looks like I need to buy a 16GB card now!
I learned two things so far from this project: 1) you'll need the ARM optimized Java version for the Raspberry Pi, and 2) always get a larger SD card. Although the RA configuration routine initialized quickly on the Pi, it remains to be seen if RA can run well on it, so stay tuned for more RA and Pi (RAPi?) fun.

Update: After talking with some IT folks, I realized that I might just be able to make Rapid Analytics on a Raspberry Pi (RAPi) happen. I need to go back and split the memory better on the Pi AND possibly make mini clusters of Pi.  How cool would that be? Stay tuned for more on this project.

It is with a heavy heart that I must report that my Rapid Analytics on a Raspberry Pi experiment has failed.

It did not fail from an installation or configuration standpoint - that went extremely well - it failed when I tried running it.  It was loaded into memory and proceeded to hit a resource brick wall. After 40 minutes of just churning the CPU and going nowhere, I killed the process.

This experiment failed purely from a hardware and memory resource aspect. I knew that Rapid Analytics is resource-intensive, and that the odds were against me, but I decided to try it anyway and share my results with you.

Here are a few things I've learned from this experiment:

  1. Raspberry Pi is a very capable computer,  you can do a lot with it provided you figure out a way to keep your resource fingerprint small;
  2. You can run MySQL and Apache from the Pi quite easily and installation is a breeze,
  3. The ARM optimized version of Java works great on the Pi;
  4. Rapid Analytics 1.3 can be installed and configured, but hardware limitations prevent it from running;
  5. You can't use the run.sh to start up RA, it gives you a VM not supported error, you have to use: sudo /opt/jdk1.8.0/bin/java -Xms256M -Xmx496M -jar run.jar,
  6. I got an appreciation of what Java can do and how it works, and;
  7. I cant help myself, I'm addicted to Rapidminer and Raspberry Pi.

Clustering Raspberry Pi with RapidAnalytics

My initial setback in running Rapid Analytics on a Raspberry Pi might end up being just a small stumbling block in the end. The only thing that's preventing Rapid Analytics from running on a Pi is hardware, a single pi is not quite there to run both X Windows and Rapid Analytics effectively.

Yes, I could put Rapid Analytics on a bigger and more powerful machine, but that defeats my minimalistic approach to this project. I want to run Rapid Analytics on the most cheapest and minimalistic set of hardware out there, and using a Pi is a great way to do it (cheap and damn minimal).

After a conversation with my IT director, he suggested clustering the Pi's together. There is a great article out there about a student, Josuha Kiepert, that built a 32 node  Pi cluster. That cluster runs at 10 Gigaflops/sec. That's INSANE!

I started pulling together information on hardware and software to do this.  I think I can pull this off with 4 Pi's clustered together using the Tomcat software. Tomcat is a system to run java in a distributed fashion across several bits of hardware, in this case 4 Pi's.

{{< raspberrypi >}}

I put in another order for 2 more Pis with power and ethernet cabling, an ethernet switch, and some more SD cards.  Total cost is $140 shipped, plus the other 2 Pi's @$35 each + cables and SD cards.  I'm looking at potentially having a capable Rapid Analytics Pi cluster for under $400.

Update

With every few steps forward on this project, I inevitably take a step back. On Friday night I successfully created a 2 node Pi computer. I tested it with the MPICH2 script and it indicated that both nodes, RApi0 and RApi1, were talking to each other. This was a HUGE accomplishment for me.  Just to get this point was a pain in the butt because of SD card corruptions and faulty image writing, but the time was well spent.

Saturday evening I then started the process of installing Apache, PHPmyAdmin, and MySQL, as the backbone for getting Rapid Analytics 1.3 to work. Everything was installed well and then I downloaded and installed Rapid Analytics.  I went through the configuration quickly and set the hostname to RApi0. Then I set my parameters to load Java and run the Rapid Analytics JAR file. The server started within 6 minutes! WOW! Awesome! But then I couldn't get to view the configuration screen in the browser. I was pointing the URL to https://localhost:8080.  At this point it was 1AM and I was tired, I decided to power down and restart tomorrow with a fresh mind.

Sunday morning I restarted both RApi0 and RApi1 and fired up JAR file again. This time, it churned and finally crashed out. Out of Memory Exception. Damn! What went wrong?

My initial thoughts on what went wrong were this, and I welcome any of my readers to chime in with suggestions (please!):

  1. I installed MySql, Apache, PHPmyAdmin, and Rapid Analytics on my head node, RApi0, and when I powered up on Sunday morning, MySQL and Apache started on RApi0. I believe that this could be an issue because it didn't load into the shared resources of RApi0 and RApi1. I welcome your thoughts!
Setting the hostname in the RapidAnalytics 1.3 to RApi0 meant that I should've pointed my browser to https://RApi0:8080. Ugh.<

My next step was to power up the 2 node Pi and manually start up Apache and MySQL once both Pi talk to each other, then start the JAR.

In the end, it ALL failed. RapidAnalytics was not designed to run in this fashion.

While this was a failure, it was a really cool learning event. I was able to initially install RapidAnalytics but not run it. On top of all that I learned how to cluster Raspberry Pi's together, so mini supercomputers are possible!

Build your own Alexa with a Raspberry Pi

Raspberry Pi's are becoming so ubiquitous for all types of tinkering. I have to try this when I have time but wanted to share with you this cool find:

Build a Flying Drone with a Raspberry Pi

I was part of a pre-seed startup that closed down before it even got started. We wanted to use autonomous drones to help mankind but we never 'got off the ground.'

All is not lost though, I learned a lot about building a drone and how the NVIDIA Jetson TX2 works. So what's next?

An autonomous drone with a Raspberry Pi. I'm trying to recreate the TrailNet experiment, stay tuned for some summer fun!

Raspberry Pi Projects

{{< img src="rpi.jpg" alt="Raspberry Pi">}}

This is just my running link list related to anything Raspberry Pi. Commentary may be included.

Weather Related:

Space Related:

Top 10 Raspberry Pi Projects

Some of these projects are darn cool. Perhaps the best one is Amazon releasing instructions on how to turn your Pi into an Echo Dot.

https://www.youtube.com/watch?v=4yfK90OJrek

Of course, the weather station project and retro video arcade game project is cool too.