piGate, piGate – get your Raspberry Pi iGate here !

I’ve create a downloadable image of the Raspberry Pi SD card with all of the installed and configured software for an iGate. I’ve also created a short video walking a user through the setup process.

UPDATE UPDATE UPDATE !!! Read to the very end. Things have changed as of 28-July-2014)

pigate-kitThe complete set of parts was detailed in my piGate post.  A few people asked for a copy of the SD card. I decided I would create a new piGate from scratch to insure I have all of the instructions and didn’t forget any steps.

I started with PA0ESH’s article. Erik has written and updated a PDF of the steps he used to create his iGate. The most recent version I found has “Sunday, 8 December 2013″ near the top of the PDF. As a precaution, you can find a copy here.

Note: Erik has since published a guide and an install script which uses DXIPRS for the iGate. I stayed with APRX as my iGate software because I have used it for more than 20 iGates and it has been very stable and easy.

I use Win32 Disk Imager to create the initial SD card. I also use a simple ping tester which will quickly ping a range of IP addresses and tell me which ones reply. There are versions for Windows, Mac, and I have one on my iPhone. I use KITTY for my SSH terminal.

Addendum: For Windows users, here is a command that will help find the IP of your Raspberry Pi once it has booted:

FOR /L %x in (1,1,255) do ping -n 1 192.168.2.%x | find /I “reply”

 

After downloading the most recent Rasbian image from the internet, I write it to the SD card, insert the SD card into a Raspberry Pi, connect an Ethernet cable, and add power. I use the ping tester to locate the likely IP address(s) for the Raspberry Pi and then start KITTY with each IP address until I get the right one.

Once I have the SSH session, I use the default Rasbian account which is user=pi, password=raspberry. I run the command raspi-config and set the timezone, locale, and hostname. I did not expand the filesystem to fill the SD card but that was only because I was hoping to make the compressed download of the finished image as small as possible. It did help a little. For my own use, I would expand the filesystem.

With the base operating system up-to-date, I started with Erik’s instructions.

The first deviation I made was to not make the change to downgrade the USB from USB 2.0 to USB 1.0. The change was not needed with the USB audio adapter I used.

An improvement I made to the instructions occurs at the step to use arecord to test the configuration thus far. I used the Pofung radio set to 1/4 volume and connected with the audio cable to the microphone input on the USB audio adapter. I launched a second SSH window to the Raspberry Pi. In the second window, I started alsamixer. I started arecord in the first window. I then used alsamixer in the second window to adjust the CAPTURE level, while watching the character based VU meter from arecord. I adjusted the level until the meter was about 80% and not over modulating. Then I exited both programs, deleted the test recording, and closed the second SSH window.

When creating the ax25-up and ax25-down scripts, I gave then the “.sh” extension because that is what I usually do. No reason beyond my personal preference.

At the end of Erik’s guide, he describes generating a website using txt2html and a cronjob and a lot of steps. I went a much simpler route. I setup a CGI perl web page that sucks in the aprx-rf.log file on-the-file. This means, anytime the webpage is refreshed in the user’s browser, it has the most recent log data. There is not need to convert or have a scheduled job to convert stuff. I did need to create a symbolic link from /var/log/aprx to /var/www/aprxlog to make the logs accessible to the lighttpd web server.

To help keep the logs manageable, I setup log rotation for APRX logs. Here is the contents of /etc/logrotate.d/aprx

/var/log/aprx/*.log {
        daily
        rotate 2
        size 8k
        nocompress
        missingok
        notifempty
        create 644 root adm
}

Of course, you can skip all of that work and just download the 7z compressed piGate image I created of the final product !

Watch the instructional video for setting up a iGate using my piGate image or download (50mb) a copy for reference.

UPDATE: 28-July-2014

One thing that I’ve experienced on more than one occurrence is a corrupted SD carad because of unexpected or incomplete shutdown. To mitigate this problem, I went through multiple writ ups to make the piGate SD card read-only for runtime. It turns out to be a bit messy to get right because various applications and start-up tasks assume the system is read-write.

The four hurdles were to first get the Raspbian operating system to function with the boot partition as read-only. Next was to get the iGate software working and logging to a ramdisk. Third was the little web server which makes reviewing the iGate log easy with a web browser. And forth was getting DHCP networking to behave.

The new compressed image (updated link above) has everything working so you don’t need to be bothered. The only new steps are the presence of rpi-ro and rpi-rw commands. Anytime you need to edit a file on the Raspberry Pi, you will need to make it read-write before you edit files and then make it read-only after. For example, to change the /etc/network/interfaces file to configure WiFi or to set a static IP address, you will run three commands: rpi-rw then nano /etc/network/interfaces then rpi-ro. I’ve updated the instructional video with this example.

recent stereoscopic images

For my nearsighted friends, here’s another batch of images. So take off your glasses, look into the distance and hold you smartphone about 18″ from your nose!

winging it

the wood lot

Nick found a chew bone

finished mowing

new red shoes

a Raspberry Pi iGate which meets performance specs

My supply of OLPC XO-1 laptops has really dried up. I currently have two – the one that has faithfully been running my iGate for the past 3 years and a backup just in case.

Over the past 9 months, I built 15 iGates using that design. eBay was a good provider Smile

I still get requests for iGates. Given the laptop was the only “used” item, I started looking for a solution that was 100% off-the-shelf new parts. The Raspberry Pi was the logical choice.

pigate

After months of experimenting with combining a Raspberry Pi with and SDR (software defined radio), I concluded the design worked but required strong, nearly perfect radio transmissions. Since APRS is predominantly transmitter in motion, the signals are rarely perfect and seldom strong. Eventually, I caved to the realization that – while I could build such an iGate – it would not perform.

I went back to the drawing board and took my tried and tested iGate design. The laptop has four useful components built it – a computer, a screen, a keyboard, and wireless. While I could add all of those to a Raspberry Pi, it didn’t work from a cost stand point. With some basic computer skills, a “terminal” connection using SSH from a regular computer can access the Raspberry Pi to do the minimal configuration needed. That eliminated the need for a screen and keyboard. The network option of a wired connection vs a wireless connection was nearly 50:50 with the people who wanted and iGate – thus I consider it an option rather than a required part.

In the end, I was able to create an iGate using a Raspberry Pi that has the same software architecture of the XO-1 Laptop. I used Debian as the base linux operating system. I Used Soundmodem which turns a sound card into a TNC. I used APRX for the iGate software. I used a low cost handheld HAM radio to receive the transmission.

Here is a list of all the components which can be sourced from Amazon.com. If you had nothing lying around and you had to purchase everything, the cost is 47+5+4+5+4+30 = $95. Included in these prices is the antenna adapter for the radio. I included it because nearly everyone who asked for an iGate needed that adapter. FYI – The pictured system has an beefier radio (+$9) and WiFi (+$9).

I have an image of the final SD card. After I run it for a week as my primary iGate, I will de-personalize it, compress it, and try to post it to this blog.

Addendum: If you want more USB ports and want to avoid the SD card sticking out, there is the new Raspberry Pi Model B+ ($46) which uses a microSD card and has 4 USB ports. It does require a different case which have limited choices but expect the availability of the B+ and cases to become more prolific in the near future.

Advanced yoga balancing posture

This is for my yoga friends, here is an advanced balancing pose for you to try !

It requires one sock. Place the sock on the floor right in front of you. Take a deep breath and move into the tree pose as you’re starting position. Next, transition to half downward dog. Pick up the sock. Transition back to tree pose. Now move the hand holding the sock down toward the bent knee. This is where it gets tricky …

maintain you balance while your dog attempts to wrestle away the sock before you can put it on your foot!

I call this “tug of warrior” pose :-)

Photo testing the Nexus 7

sunrise photo using Nexus 7 camera (click for original)

sunrise photo using Nexus 7 camera (click for original)

 

I’m in the process of evaluation the Google / ASUS Nexus 7 tablet. This is the 2013 or 2nd generation model.

The primary test is as a aviation flight planning and navigation device. I’ll be comparing it to the iPad Air. (The iPad Mini would be a better test from a size or portability perspective but I don’t own an iPad Mini.)

While I have the Nexus 7 I decided I should also test it as a general purpose mobile device since most people would not buy it as a unitasker.

The camera takes pictures which are 2592×1944. I decided a sunrise would be a good test with its extreme dynamic range. You can see the full size by clicking on the picture.

Note: this blog automatically recompresses images to 85% quality so the original image on the devise is a larger file size and is somewhat less grainy than the copy on this blog.

Personal drones – who gets to decide ?

Someone created a video of fireworks using one of the growing populations of quad-copters. This is not actually a drone. It’s really an remote control aerial craft. (I’ve decided to differentiate RC craft from drones by the presence of autonomous flight capabilities – which are now available on some of these personal devices.)

Anyway, the video shows a professional fireworks display recorded from the quad-copter and the operator flies the craft right into the display.

There are lots of comments on the video and most fall into either "beautiful" or "safety". However, there is another category I did not see voiced – "who gets to choose?"

Here is my first line of questioning …

Can people attending the event see the quad-copter in the fireworks ? Does it detract from the visual display? I’m guessing a few people may have seen it as it was illuminated by one of the bright explosions but probably not too many people actually noticed it.

Here is my second line of questioning …

The operator of the quad-copter thought it was cool to fly his craft into the fireworks. OK, unless there is some regulation, let’s assume he is within his rights.

Now, in 2015 and 10 million people have seen the video and think it is really cool. 1% of those want to make their own video of fireworks up close. 1/10 of 1% of those happen to choose the same display. There are now 100 quad-copters flying within the same fireworks display.

What happens when 100 RC craft are flying in close proximity to each other ? Will 100 quad-copters be visible to the public ? Will 100 quad-copters run the risk of colliding and crashing? What happens the next year ? Or at some other event ? What happens when those quad-copters are upgraded to drones ?

I’m not answering any of the questions I pose.

the video that got me asking these questions