MongoDB on the Raspberry Pi

I looked at running MongoDB on the Pi several months back, and while you can download the latest source and compile it yourself which takes a while, there didn’t seem to be any prebuilt binaries (at least not when I last looked).

It seems the 32bit version for ARM is now in the Rasbian repos, so you can just do (from here):

sudo apt-get install mongodb-server

and get it installed and setup ready to go.

If you’re looking for a later 64bit version then some people have rebuilt these for you. Take a look at here, or for more info, also try Andy Felong’s posts, e.g. here and here.

Computer History Documentaries – part 2

It’s been a while since I posted this list of some of the computer history documentaries and dramas that I’ve found most interesting, so I have a few more to recommend and add to the list:

  • Silicon Cowboys – fascinating documentary about Compaq, the development of their luggable PC, and their impact on the development of the PC Compatible market. (4/27/17 – this is currently on Netflix)
  • Bedrooms to Billions – The Amiga Years : incredibly well put together indie documentary about the Amiga
  • Bedrooms to Billions: documentary about the development of the home computer games industry in the UK and Europe. Includes many interviews with the original developers and many involved in the industry at the time. If you had any interest in computer games around the mid to late 80s in the UK, this is a must watch
  • Beep – documentary about sound and music development for computer games
  • Get Lamp – documentary by Jason Scott, covering text based computer adventure games
Nicola Caulfield & Anthony Caulfield (who produced the Bedrooms to Billions documentaries) currently have a new documentary called ‘The Playstation Revolution’ that just reached it’s funding goal on Kickstarter, but if you’d like to back it you can back via MegaFounder (linked from the Late Backer link on the Kickstarter page)

Updating/installing node.js on the Raspberry Pi

The latest versions of Raspbian (e.g. Jessie) come with an older version of node.js preinstalled. If you search around for how to install node.js on the Pi you’ll find a number of different approaches, as it seems there’s not an official ARM compiled version of the latest releases in the Debian repos.

This approach provided by this project has later versions compiled for ARM. Follow the instructions on their site to download and install from the .deb file.

Before you start, if you already have an older version installed (check ‘node -v’), uninstall it first. The version I had on my fresh Jessie install was from nodejs-legacy, so ‘sudo apt-get remove nodejs-legacy’ did the trick.

Amateur Radio homebrew: Raspberry Pi + Packet Radio + social networking integration

I’m putting something together for our River City Amateur Radio Comms Society homebrew show n tell later this year. Here’s my ingredients so far:

I’m thinking of building a bridge between Amateur Radio Packet and social networking, like Twitter.

So far I’ve roughed out node.js to Twitter integration using node-oauth, and I I’ve put together a simple prototype using the node-ax25 library to connect to the KISS virtual TNC on Direwolf. It receives packets and writes callsigns and messages to the console.

Right now I’m testing this on a PC running Debian, with a Rigblaster Plug n Play connected to an Icom 880h. Later when my TNC-Pi arrives I’ll migrate this to the Pi.

So far using the node-ax25 library looks pretty easy. Here’s some code so far to dump received callsigns to the console:

var ax25 = require("ax25");

var tnc = new ax25.kissTNC(
    {   serialPort : "/dev/pts/1",
        baudRate : 9600
    }
);

tnc.on("frame",
    function(frame) {
        //console.log("Received AX.25 frame: " + frame);
        var packet = new ax25.Packet({ 'frame' : frame });
        console.log(new Date() + "From "
            + formatCallsign(packet.sourceCallsign, packet.sourceSSID)
            + " to "
            + formatCallsign(packet.destinationCallsign, packet.destinationSSID));

        if(packet.infoString !=""){
            console.log(">  " + packet.infoString);
        }
    }
);

/**
 * Formats a callsign optionally including the ssid if present
 */
function formatCallsign(callsign, ssid){
    var formattedCallsign = "";
    if(ssid == "" || ssid == "0"){
         formattedCallsign = callsign;
    }
    else{
        formattedCallsign = callsign + "-" + ssid;
    }

   return formattedCallsign;
}

The output for  received messages so far looks like this:

Wed Apr 19 2017 23:10:00 GMT-0700 (PDT)From KBERR  to KJ6NKR

Wed Apr 19 2017 23:12:05 GMT-0700 (PDT)From AE6OR  to BEACON

>  Š¤¤@à–¤ˆŽ@@`–„Š¤¤@`®žžˆ²@`–„Š¨@`¨‚žŠ@aðHello from 5W Garage packet node AUBURN 73's Steli !

Wed Apr 19 2017 23:12:08 GMT-0700 (PDT)From AE6OR  to BEACON

>  Š¤¤@à–¤ˆŽ@@à–„Š¤¤@ஞžˆ²@`–„Š¨@`¨‚žŠ@aðHello from 5W Garage packet node AUBURN 73's Steli !

Wed Apr 19 2017 23:16:49 GMT-0700 (PDT)From K6JAC -6 to ID    

>  K6JAC-6/R BBOX/B KBERR/N

Wed Apr 19 2017 23:19:31 GMT-0700 (PDT)From K6WLS -4 to ID    

>  Network Node (KWDLD)

Wed Apr 19 2017 23:19:50 GMT-0700 (PDT)From NM3S   to BEACON

>  Mike in South Sac.  Please feel free to leave a message. 73's