Fires and Fire Ants

We recently arrived at one of our favorite, idyllic anchor spots. It’s a spot that is sheltered from wind and has reliable stretches of warm dry weather–perfect for varnishing. Our arrival this year was about a week too soon because the temperatures have been way too hot (upper 90’s F with a couple days over 100F) for either sanding or varnishing. As a result, we have spent time on the computers interspersed with two or three leaps overboard into the very pleasant 78F water to cool off. Night time temperatures cool off nicely, but the ship’s cat has been a real complainer–her thick Norwegian Forrest cat fur being just too much for the local conditions and she has never been one for swimming.

The first sign of real trouble was a huge dragon fly that I had earlier admired on the fore-deck was later covered in and being consumed by ants. I threw the carcass overboard and hosed down the deck and regretted not taking a picture of the big dragon fly before its demise. Then Brenda noticed some ants down below one evening, and more the next evening. Brenda remarked that a visiting friend, Milly, had mentioned ant problems on their boat last year. The pieces were beginning to click together. We wondered where the ants could be coming from. In the light of day, there were no ants on any shore lines. Ants can’t swim, so we wondered if a few were dropping from the over hanging tree limbs or being carried by the wind.  We didn’t yet realize that the ants on Milly’s and our boat were no ordinary ants.

The two mile stretch of water on either side of where we anchor is a posted 5 mile-per-hour (mph) no wake zone to protect the embankments. It is one of just a few areas in the California Sacramento Delta that still has large trees lining the banks and excessive wakes erode the soil around tree roots and leads to fallen trees. During our varnish-fest stay here, we feel we are doing a great public service by giving speed boats another reason to slow down to something near the posted 5 mph limit; the drivers may not be literate because before and after passing us, many are going closer to 50 mph and throwing out huge wakes.  But, where the speed limit signs don’t work, a sense of courteous behavior sometimes does.

The waterway is a little wider where we anchor, but it is important to keep Mahdee near the embankment so that she is out of the way of passing boats. Further, to ensure that wind or wakes of law breaking boaters (without even a sense of what’s courteous) don’t throw Mahdee onto the rocky embankment, we usually have four lines holding us in position; the bow anchor, a stern anchor, a bow shore line and a stern shore line. It takes a little effort to get everything right, but with two of us on board we can get secured pretty fast and we sleep well at night.

Our friend Milly sails solo and so I volunteer to run the shore lines for her boat when she visits and anchors nearby. This year, when we were tying up Mahdee, I recognized the tree trunk from a previous visit, but initially thought it was a tree that I had once tied Mahdee to. The appearance of ants was a clue that perhaps this was the tree trunk that I had tied Milly to last year.

Then Brenda developed a nasty painful blistery welt and I remarked that I hadn’t seen such a welt since we lived in Texas and had fire ants in the yard and eventually the house too–a nightmare. We thought that fire ants couldn’t be this far north in California. I remembered seeing that they had been seen and reported in the LA/San Diego areas, but they couldn’t be this far north near San Francisco and Sacramento–could they?

Some online searching revealed that fire ants love a drought and that the current California drought has enabled the northward spread of these awful creatures.  California has classified fire ants as an invasive species and they are so destructive that some jurisdictions will quarantine an area, but fighting the spread of aggressive fire ants is a losing proposition. It was clear that not only were we once again in fire ant country, we had tied up right next to a big nest of them and they were in our virtual back yard–there goes the neighborhood.

In the video–a hint of things to come: I’m securing the shore line in entirely the wrong spot. The high crotch in a big tree seen towards the end of the video ultimately ended up being our safe-from-all shore anchor spot.

Shore anchor from Schooner People on Vimeo.

It was after dark and the cat’s water bowl was swarming with ants and she was clearly very distressed. I went outside with a flashlight and discovered that the bow shore-line was now twice its normal one inch diameter, thick and brown with an awe-inspiring invading army–now I was distressed too. We went to general quarters and locked down the boat. Our goal was to make it until morning when the ants would go into hiding from the heat and we could see well enough to reposition the shore line away from any fire ant nests.

Brenda prepared a bowl of boric acid and I sprayed and washed the deck and lines to knock off as many ants as possible. We left a dry segment of line where it came aboard the boat and coated that with powdered boric acid. We surrounded the water bowl with more powdered boric acid and put her food bowl in a moat using a baking pan of water. Poor kitty spent a miserable night in the heat and confused about how to flip her dry food out of the moated bowl and onto the floor which she does before eating each morsel. She whined and complained all night so that Brenda could hardly sleep and in the morning the moat around the food bowl was full of soggy uneatable cat food.  I was worried that while sleeping, I would roll over onto a string of these biting ants and be covered in painful welts. No one aboard Mahdee was happy.

First order of business the next morning was to relocate the bow shore line. Fortunately, the wind was blowing from Mahdee’s stern.  I untied Mahdee from the tree trunk and was very careful not to disturb the sleeping ants in the now obvious nest.  This stretch of slough has lots of trees to choose from so I picked the biggest tree and put the line way above ground level.

We are still left with a huge, but diminishing number of ants on the boat which are now cut off from their home nest. As we find them, we are killing and washing them overboard using the deck/anchor wash-down. With relaxed security measures, the ship’s cat is returning to her happy normal self and so are the humans.

In keeping with current events, I am now doing periodic “border patrols” to ensure our shore lines are not breached again and Brenda knows why Milly hasn’t been back to visit this year–she is reluctant to accept my misguided helpful actions of tying her boat up to a fire ant nest. The following morning, during a patrol I found the deck covered in black and white grit–another mysterious first. It turns out that a middle of the night wind-shift carried ash and soot from the devastating wildfires and coated our decks. We realized that the same drought that has enabled the fire ants to move here is also enabling horrific fires–a real double whammy for the area.

The Power of Raspberry Pi: over reaching and hitting the wall

For background, see the previous post here. At this point, the Raspberry Pi (RPI) has proven itself aboard Schooner Mahdee by reliably logging data from our Airmar weather station plus other boat data and displaying that data on an HDMI monitor, as well as monitoring that data and sounding alarms as required. We built in the capability for more than one computer to read the Airmar weather/boat data from the RPI network port at the same time. To realize that potential, we needed a Wifi access point. A USB Wifi dongle, supporting the access point protocol, with the right software (in our case HostAPD) turned the RPI into an access point for all Mahdee users. A good access point provides some basic network services that were set up on the RPI–such as IP address assignment DHCP server–and is a domain name server (we used Bind9 server) for all the Wifi-connected computers aboard the boat.

Raspberry Pi and Cat

Further adding to the roles for the RPI, I wanted to be able to read email without turning on any other computer, so we needed to set up internet access on the RPI. We set up the RPI to use either a Sprint phone with a data tethering plan using PPP or our Verizon Wifi hotspot using a second USB Wifi dongle. Since Brenda’s Windows 8 machine can’t tether directly to the Sprint phone, we decided to make the RPI Mahdee’s internet gateway that can be switched between either Sprint or Verizon. That also meant a better firewall setup for the RPI.

The RPI doesn’t have a hardware clock (by design it would rely on an internet connection to set the time on boot), so when we rebooted the RPI, sans-internet, in the middle of nowhere in Alaska, the data logger had the wrong time stamps. To fix that, we setup a USB puck GPS as a time source for the RPI. This meant also running a GPS position server on the RPI which is then available on a network port of the RPI for other computers aboard Mahdee. The fast high resolution GPS data was also setup to be used by a Python anchor watch and position alarm which I’d previously written for the Nokia N810. The sound system on the RPI is not very good nor very loud even with our USB powered amplified speakers.  For the alarms we setup a piezo-electric buzzer which is energized by a RPI GPIO port so that we can hear alarms anywhere aboard the boat. The RPI also uses GPS time stamps to provide a network time basis for other computers aboard.

With the 2TB Passport hard drive attached to the RPI, it only made sense to put a copy of our public file archive on it and thereby make it available to us 24-7. The public file archive includes repair manuals in PDF form for most boat systems (nice to have in an emergency), all of our photos as well as digital books and magazines (nice for passage entertainment). This nicety meant putting PDF and e-book readers on the RPI. Then, to enable access to those files from Windows computers, we setup a Samba server which also requires a network time server. Fortunately we already had the GPS-based network time server on the RPI.

To enable us to read our email when there is no internet connection available, we setup the RPI with OfflineIMAP to sync mail from our main email server (an off-boat/shore-based virtual private server) whenever we have internet access. I read email using Mutt which can run in a terminal on the RPI. Brenda likes to access email using SquirrelMail webmail via her computer’s web browser, so we added an Apache2 web server to the RPI along with Squirrel Mail and an IMAP server.

In among the public archive data is our music collection, so we setup RPI as a network music player. On those long passages, we thought it would be nice to listen to music, but this is where things start to break down. The poor, now very overloaded, RPI just couldn’t make the music sound even decent. I also setup my Bluetooth stereo headset on RPI, but that was even worse than listening to broken up music through the speakers.

Many boaters want their RPI to run a navigation program like OpenCPN. I had managed to compile a version of OpenCPN on our first RPI, but running OpenCPN required all the resources of the RPI and I was not willing to forego all the other important roles our RPI was needed for–simply to use OpenCPN as a backup chart plotter.  Our real chart plotter is used to display radar and chart data including charts for other countries without free official charts (like Canada). Not needing to run OpenCPN helped a little with our overloaded RPI situation.

From the RPI GUI interface, I found web browsing to be very slow and unproductive. I could get email and read it using Mutt just fine, but there was other trouble lurking. Brenda informed me that basic web access from her computer through the RPI Wifi access point was way too slow. I tried it using my main computer and had trouble too. I had had hopes–fantasies perhaps–that RPI would also run a contact and calendar web service. Most people would just use Google for this, but we are often not near internet access and besides, who really wants to trust the big guys with all of your sensitive contacts and scheduling. But, it was not to be–at least not yet.  Stay tuned for the next installment in this series of posts about the RPI and how we turned the corner towards success.

The Power of Raspberry Pi: the blissful beginning

When we first heard about the Raspberry Pi (RPI) credit-card sized computer we thought that it might meet the goal of a low energy usage (just over 1 Watt) server on Mahdee that ran 24-7 and performed some essential functions. Those functions included logging, serving and displaying boat and weather data, as well as monitoring that data and sounding alarms when something isn’t right.  Our first RPI took many months to arrive because of demand exceeding supply in 2013 and the RPI coincidentally arrived at the marina office on Pi day (March 14).  It was late afternoon when I excitedly went to the office to take delivery (possibly just before 1600 and presaging a near obsession with this delicious sounding device).

Screencast of weather program on Raspberry Pi

The first RPI had only 256MB of memory and saw little use before we broke the SD socket. So it was replaced by the upgraded RPI with 512MB memory. With twice the memory of the original RPI and an over-clock ability, I was full of anticipation about what this improved, yet still power sipping lilliputian computer was capable of.  In hind sight, there was much to learn about the RPI.  This is the first in a series of blog posts describing how Raspberry Pi’s are used, and how their use has evolved aboard Schooner Mahdee. For the impatient and those who prefer doing rather than reading, the latest version 2 of the Raspberry Pi (RPI-2) can be purchased here and by following that link, you get a great price and can help to support the Raspberry Pi Foundation mission as well as this site.

Weather data on Mahdee is provided by our mast-top Airmar PB-100 weather station. The Airmar PB-100 provides relative and absolute wind direction and speed, barometric pressure, temperature, humidity and dew point, as well as boat magnetic heading, pitch angle and roll angle, GPS position, GPS course and GPS speed. The Airmar data is multiplexed with some boat data such as depth-sounder, water temperature and boat speed through the water before being sent via USB to the RPI. In order for the RPI to decode the Airmar data, the ftdi_sio kernel module must be loaded. And the crucial trick after loading that module, is to execute this special command:

echo 0403 d9a8 > /sys/bus/usb-serial/drivers/ftdi_sio/new_id

Without that change the data is not a readable serial port stream. With that change, the Airmar data is readable. We wrote a script to capture the USB serial data, time stamp each line with computer time and save it to a file. Initially, that data was saved on the RPI SD card which the RPI uses like a hard disk and also has the operating system and programs on it. SD cards have a fixed number of writes in their life, and after about a year, the limit was achieved and the SD card failed. So, we got a new SD card for the operating system and programs and a Passport USB-2 hard drive to hold data and thus preserve the life of the SD card.

When the weather and boat data are being saved, the data are forked and also sent to a serial-to-network converter that provides a pseudo serial port that is available on a network port of the RPI. We then wrote a QT-based program to connect to that port, read the data and display it on the RPI’s HDMI monitor. The QT program requires a GUI on the RPI and has many alarms including a position/anchor alarm, as well as a wind speed alarm. We cross-compiled the QT program to make different executables that run on the various computer architectures we have on Mahdee. An early version of that program was published on my GIT account, but if anyone wants a copy, please let me know so that I can update the version on my GIT account.

In the first versions of the QT program, we discovered that the displayed data was lagging further and further behind because the QT program could not always keep up with the Airmar data feed. This defect became painfully obvious during three sequential southerly gales while sailing north in March off the Oregon coast on our way to Alaska and striving to not unintentionally gibe–the displayed wind gust directions were just not matching the observed effects. It was pitch dark and freezing cold out in the cockpit with boarding seas and driving rain and we really, really wanted to steer from inside Mahdee’s warm, sheltered chart house and that required a good weather display with real-time information. We fixed that problem (later while recovering in a marina in Alaska) by allowing data to be dropped in the QT program so that the displayed data is the most recent data. If we want to analyze all data, we can then retroactively parse the saved file.

Sometimes the data capture would fail which would freeze the data displayed by the QT program. This required us to first notice the data freeze and then find the source of the problem.  We immediately noticed a data freeze when we were hit by a williwaw in a fjord in BC Canada and the displayed wind speed froze at only 56 knots even though conditions and our control of Mahdee were rapidly deteriorating. At the white-out stage, we knew something was wrong with the display.  The fix was usually to manually restart the data capture program, but there were often long gaps with no saved data because we didn’t notice the failure right away (or alternatively we were too busy fighting to control Mahdee in a williwaw). This was a big problem if we were counting on the RPI to sound an alarm–e.g. if the anchor came unset while we were asleep. So we wrote a Cron script to periodically check for file updates and if too much time passes without an update, a script automatically runs to restart the data stream. Alternatively if the external Passport USB drive becomes unavailable, the logger will automatically switch over and use the SD card for data storage. The automatic scripts greatly improved the reliability of our weather and boat data and improved confidence that the alarms will sound when they should. At this point, the RPI became a key piece of safety equipment aboard Mahdee.

Of course, we want the RPI to do more and in the next post we will discuss our experiences loading up (overloading?) the RPI.

Google Analytics Alternative