So in the last blog post I left off with wanting to do some manual editing of the waypoint file. The first thing I had to do was grab the KMZ file from the controller. The controller is an Android device, and I have two programs that are supposed to allow you to connect to Android devices on your Mac. I’ve had inconsistent results getting these connections to work. One of the programs, OpenMTP, warns you to close the background tasks from Google Drive and Dropbox and Android File Manager before it will be able to connect. And by trying various combinations of doing that, rebooting the computer, rebooting the controller, I was able to connect a few times.
The waypoint file is a KMZ file, which is actually a zip file containing two files, template.kml and waylines.kml. They’re both relatively straight forward XML files. You can figure out most of the syntax just by looking at one of the files you’ve downloaded from the controller. So after I got a connection to my controller, I grabbed one of the KMZ files, extracted the waylines.kml file to copy the first “<Placemark>” to the end of the “<Folder>” and change the “<wpml:index>” tag from 0 to 17. I refreshed the file in the KMZ file and uploaded it to the controller.
This gave me a full circle that returned to the start, which made it much closer to what I wanted. I still get a little bobble when I restart – even though it’s moving from point A to point A, it still has to turn the drone about 45 degrees and then back, for some reason. Also I decided that since I’d decided to change from shooting a hyperlapse to a sped-up video, the drone was moving too slowly. Also it looked like the gimbal angle was down too far, so the roof was not the center of the video. I made the changes to the waylines.kml file to support that – I changed all the “<wpml:waypointSpeed>" from 0.213… to 0.852 (meters/second). and I changed all the “<wpml:waypointPoiPoint>” so the third argument (the height) changed from 3.0 to 5.0 (meters above ground). But then I had a multi-hour long struggle to try to get the damn controller connected to my Mac. Eventually I gave up, and tried my ancient Windows laptop. I don’t know why, but I thought Windows had native support for Android. But before I could even try, I discovered that since the last time I used it, it’s decided that it no longer has any drivers for the WiFi or Ethernet controllers. I presume that’s something to do with the fact that it’s Windows 10, and it’s ineligible for upgrade to Windows 11. Not that I could, without a network connection. So I guess it’s going off to electronic recycling. Pity.
But as I was coming to terms with the fact that the laptop I “borrowed” from a former employer is no longer working, I glimpsed a USB A to USB C port handing off one of the front USB ports on my Linux box. I use the Linux box from the command line all the time, but I figured for this I’d probably need to be in the GUI. So I logged into KDE, and plugged the controller in. And it immediately popped up a Dolphin file manager window showing all the files in the controller. So I was able to do those changes. What a change to find something that’s easier in Linux than on the Mac.
I did a couple of test flights this morning. At first, the one bit of XML I wasn’t sure about, the command for what to do at the end of the waypoint flight, wasn’t set right. Fortunately you can do that easily on the controller. After those first two flights, I wasn’t happy with where the drone was pointing. I decided to edit the POI on the controller, and did two more circles and I think it came out just about perfect. I suppose I could make another edit and duplicate “<Placemark>“s 2-16 at the end so it can do two circles without having to restart, but I’m kind of running out of time. And what I’ve got now is pretty good, especially after I speed it up in Final Cut Pro X.
So we signed a contract last week to get a new roof done on our house. It’s going to be ridiculously expensive, and both Vicki and I have had moments of self-doubt about committing to this. But one thing I wanted to get out of this, as well as “not having water leaking inside the walls that we don’t discover until the plaster starts failing”, is a great drone video.
One thing I’ve seen before, and what I want to emulate, is a video where the drone flies circles around the house being worked on, but with it doing it as a sort of time lapse, maybe taking a flight every hour or so while the work goes on. In my mind, I see it as doing about a turn and a quarter to a turn and a half, and then fading into the next flight, and so on.
My first problem is getting it to do consistent circles. The problem is that the DJI Air 3 can do waypoint flights, but there isn’t a “do a circle at this distance from this POI” waypoint option. I found a site that would generate a bunch of points to define a flight around a point, but it ends the flight at the 16th point, rather than completing the flight back to the start. When you edit the waypoint flight on the controller, you have options for what to do at the end of the flight, and one of the options is to fly to the start point. Jackpot, you might think. But no, when it does, the drone points toward the final point, and flies towards it, instead of sidestepping to it. I got a smoother and more complete circle using the QuickShots circle, but since you have to highlight an object to circle around with your finger on the screen, I have worries about how repeatable it will be.
My second problem is that originally I was thinking in terms of doing a hyperlapse. The waypoint editor in the Hyperlapse is simpler than the main waypoint editor for some stupid reason – you can’t define a POI to point the camera at, for instance. The instructions for the site that generates the waypoint file involve you connecting the controller to your computer and copying the KML file on top of another waypoint file. But I haven’t seen any instructions on how to do that with the waypoint editor in Hyperlapse. So I’ve been experimenting with the timed exposure mode where it just takes a photo every two seconds and then I combine them into a video in Final Cut Pro X. For my first several tests, I was trying to use manual exposure so I could use a really slow shutter speed to get a tiny bit of motion blur. But yesterday when I was doing these experiments it was partially cloudy, and every time the sun peaked out from behind a cloud the exposure blew out. I even tried pre-processing all the frames through Adobe Photoshop Elements and that helped, but that didn’t fix the blow out. In retrospect I probably should have set the exposure when the sun was out.
Today I tried again, but this time I used automatic exposure. I think the results were better. But again, today was sunny with a few clouds, so it was probably a simpler exposure problem. When clouds came over, it did get a bit darker.
The third problem was that when you create a hyperlapse in Final Cut Pro, the video isn’t stabilized. Weirdly, in Final Cut Pro X you can’t stabilize a compound clip, you have to export it as a video, re-import it, and then stabilize the newly imported video. And it’s been pretty windy while I’ve been doing these tests, so even with the stabilization, the resulting video was not very stable. I was starting to get less in love with the idea of a hyperlapse. I’m starting to think that what I want to do is shoot a video, and then speed it up. I tried that out (with a QuickShots circle) and I really like the result – the video is very smooth, and it had much more consistent exposure.
So all I have to do is solve the problem of making a waypoint file with a double circle, and make it repeatable. I’m hoping I might be able to edit the XML of the KML file manually. I guess that’s tomorrow’s testing.
My Linux box has a M2 NVME drive with standard stuff, but bigger files go on two hard drives in a RAID1 (mirrored). A few months ago, one of the drives fell off the RAID, which usually means it failed. Luckily when one drive fails in a RAID1, the content continues to be available.
At that time, I just bought a new drive, swapped it in for the old one, and then added it to the RAID and then it automatically resynchronized. No muss, no fuss, no bother.
But a few days ago, I noticed that the SMART monitor on the other hard drive was showing some errors. I guess it makes sense that if one drive fails after 6 years, it’s not too surprising that the other one does as well. It hadn’t failed off the RAID yet, but I figured I’d be proactive. I ordered a new hard drive, figuring it would be as simple as last time.
And of course, this time it wasn’t that simple. After swapping the drive, the box wouldn’t boot, because the BIOS didn’t recognize the M2 NVME drive as a bootable drive. It showed up in the NVME configuration menu of the BIOS, but I couldn’t add it to the boot menu. I tried the “update the BIOS over the network using a PXE boot, but it just hung up and didn’t work. But that option had put the PXE boot options in the boot priority menu, and wouldn’t let me add anything else until I disabled all boot options. So I fiddled a few BIOS configurations (I think I turned off support for some AMI special NVME mode and turned on some boot thing that I had no idea about), and rebooted, and this time it booted. But now the command I used last time, mdadm /dev/md0 --add /dev/sdb failed because the RAID was inactive. So after a bit of googling and a bit of experimenting, I found the combination that worked:
mdadm -A --run /dev/md0 /dev/sda
mdadm /dev/md0 --add /dev/sdb
The first command re-assembled the RAID with just the first drive in it, and the run option to make it make it active even though it doesn’t have both drives. The second command then adds the second drive. I couldn’t put both drives in the first command because when I tried it said that the new drive wasn’t formatted or whatever for RAID.
So now the RAID is happily resynchronizing and I’ve got no SMART errors showing up in my munin console. So all is right in the world. Now if only I could convert the RAID box I have on my Mac Studio from a RAID0 (interleaved for maximum speed) to a RAID5 (safer for long term storage) without paying $150 for a new license for SoftRAID.
Both my home server, and my VPS (Virtual Private Server) need updates. My home server uses Kubuntu 22.04 LTS, and the current version is 25.04 (or 24.04 if I want to stick to LTS, which I probably should). My VPS is on Debian 10.13 (buster), and the current stable version is 12 (bookworm). Both are nagging me that the version they’re running is no longer supported and I should upgrade ASAP.
Ok, for the Kubuntu machine, there’s an update program. But when I run it
sudo do-release-upgrade
I get a message that says
The package 'postgresql-14-postgis-3' is marked for removal but it is in the removal denial list.
I think that means I need to remove PostGIS and try again, and then hopefully reinstall PostGIS after the update. But I’m reluctant to do so, in case it breaks something. I guess I need to bite the bullet and do it.
My VPS was originally Debian 5, and over the years I’ve upgraded it many times just by editing the /etc/apt/sources.list to the new release name, and running
sudo apt update
sudo apt upgrade
But when I contacted Linode technical support about something else, they were horrified that I appeared to them to be using Debian 5. When I told them what I’d done, they were even more horrified. Evidently the proper way update is to spin up a new VPS instance with their Debian 12 image, and then migrate applications and files over. I’d worry about missing something. On the other hand, it might be a chance to leave behind the cruft of things I no longer need.
I guess I’ll start with the local server by removing PostGIS and proceeding from there. For the VPS, I might try just cloning the VPS and doing the old fashioned way.
Since the last time I wrote about it, we’ve been camping 3 times.
Fair Haven State Park
Fair Haven is a pretty short drive, a little more than an hour. We drove through an incredibly intense rain storm and I got utterly drenched sprinting across from the parking lot to the camp office to check in. The rain had pretty much ended by the time we got to our campsite. When we arrived, many of the campsites were quite flooded. Our trailer pad was fine, but much of the grassy area around it was soaked. The water spigot was just across the road from our campsite and it was surrounded by a puddle 8 feet across and just over ankle deep. We stopped before we backed into our site and filled the fresh tank from it, which involved me taking off my shoes and wading across to the tap. Our “loop” of the campsite was at the top of a bluff, and it dried out pretty quickly after we’d got set up.
The site had electricity, but no other services. We took the dogs for a walk around the loop and met one or two of the other campers. One of them had “accosted” us while we were filling our fresh tank telling us about how terrible the water had tasted from that very spigot, which got me very worried because I hadn’t tasted it before filling up. Turns out it tasted fine. I suspect her problem was the age of her camper and the plumbing therein. Later walking around the campsite her husband also accosted us to show us pictures on his phone of some birds he’d seen while he was fishing. I don’t know how it does it, but RVing makes me so chill I find these sorts of encounters funny instead of irritating.
During our four days there, we walked the dogs several times, rode our bikes (even managed to climb the bluff we’re on top of), and went into town for a meal. We ate at the dive-iest dive bar you’ve ever seen. The place looked like you’d probably get stabbed if you were there after dark, but they had an amazing selection of hard liquors and the lady behind the bar loved to talk. Again, I’m RV-chill and Vicki is always chill so we had fun talking to her.
On the second or third day I had to refill the fresh tank – when I’d been filling on pulling in I’d been distracted by the lady with the bad taste problem and had stopped filling when the vent had started gurgling instead of waiting until the water was coming out the vent so it wasn’t completely full. I tried to reach across the road with our two fresh water hoses but came up a few feet short, so we semi-packed up and hitched up and dragged the trailer a few feet closer. I can’t remember if it was the same “trip”, but we also made a trip to the dump station because the grey tank was getting worryingly full. I really have to wonder about the logic of making the grey tank only 60% as big as the fresh tank when most of your water ends up going down the sink and shower drains.
Anyway it was a nice park with a beach on the lake and a small pond and lots of trails and not too far away so I’d like to go back.
Little Wolf Beach and Campground
Our next trip after that was another trip to a canoe/kayak race, the Tupper Lake 8 Miler. The organizer was Roger G and I’d kind of promised him I’d come and do drone video of his race when we’d talked at the Round the Mountain race.
Little Wolf Beach and Campground is owned by the town of Tupper Lake. Although it’s on a pretty little lake, it’s one of those “cheek by jowl” RV parks where every campsite is barely wide enough for your trailer and a picnic table. On the other hand, it has full hookups. I like full hookups.
Videoing the race went really well. It was brilliant sunshine, the race was extremely well attended, and I got some good footage. I followed the starters for the first 1,000 yards or so, then packed up and headed out in my truck. I was hoping to get to a bridge on a private road that was about 1/3rd of the way on the out and back course, so I was hoping to get paddlers on the way out as well as the way back. Unfortunately the route to the bridge was blocked by a locked gate. Plan B was to get to a point near the turn-around point, but after creeping down a very rough private road, I found the cabin at that spot was occupied and I didn’t want to answer questions about why I was on their private road so I turned around. Instead I headed to a very long dock that goes well into the river. Unfortunately it was about a mile from the start and finish so I didn’t see the outgoing paddlers, and I barely got set up in time to get the first returning paddlers. Three of the fastest paddlers in the state were together in a K-3 and attempting to beat the course record, which was set the previous year by two of those three in a K-2. I got most of the returning paddlers (missing one or two because I was out of position or doing a battery change) but I ran out of battery as what I think was the last paddler was coming through.
After I decided to use the RV to travel to races to video them, I bought a laptop and an external SSD drive. This allowed me to start editing the video while I’m in the RV, then move the SSD to my home setup and put the finishing touches and upload it to YouTube when I get home.
Tupper Lake 8 Miler Video
One of the nights there was a torrential thunderstorm. I was really glad to be in a trailer instead of a tent. When we walked the dogs the next morning, we noticed that all the tents that had been in the non-RV part of the campground seem to have vanished overnight. The campground is on sandy soil, so it was dry and well drained, and it was amusing to see that both tiny ant hills and ant-lion tunnel traps had reappeared in great numbers.
It was scorching hot in the days after the race, so mostly I was content to just sit inside and edit my video. However, Vicki needed to go into town to buy some groceries – we’d had a bit of a checklist failure and some of the things we’d planned to eat didn’t get loaded into the trailer before we left. I took the time to do a full flush of the tanks. Especially the black tank. I flushed, added a few gallons of water via the tank flush valve, and flushed again. I repeated that 7 or 8 times, until I finally stopped seeing any brown water or shreds of toilet paper. One thing about RVing is you get very aware of where your utilities come from and where they go.
It wasn’t the greatest place for walking or biking around, but again it was so hot neither us nor the dogs really felt like it.
On the drive home, it was very hot. The truck started making a very high pitched whine, especially when climbing hills. Since we’re kind of skirting very close to (or possibly over) the line of how much we’re legally allowed to pull with the truck, I’m very scared that I’m damaging the truck. On the other hand, I’ve never owned a truck or a diesel or a turbo charged vehicle before, so I don’t know what is normal. My brother suggested there might be vibration in the hoses going to or from the turbo charger. I opened the hood (usually a very bad idea, considering my track record) and I did find one bolt that looked like it was supposed to be holding down one of the hoses, and it was missing a nut. I was fortunate to have a nut in my toolbox that was the exact right size but the wrong thread pitch, so I took it to the local hardware store and got one that was correct. Unfortunately I couldn’t test whether that fixed it because I only heard the noise when towing the trailer and the trailer had already gone back to the storage yard.
Scogog Landing
Scogog is a medium sized lake north of Oshawa and Pickering. Last time we went up to Canada to see my kids (and their kids) we stayed at Darlington Provincial Park, which was a really nice campsite, but this time it didn’t have any spots left, so Vicki found this campground. It had some terrible reviews, but a year or two ago it changed names and the reviews got way better, so I guess somebody poured some money into it.
Driving up, I discovered that the magic nut that I’d replaced on the truck hadn’t fixed the whine problem, although maybe it had removed one element of it? Hard to tell. The truck didn’t seem to be suffering, though, so maybe we’ll be ok.
It only has 11 spots for transient RVs on one side of an inlet on the lake (with electrical and water, but no sewer), and on other other side of the inlet they have what looks like at least a hundred and possibly more “seasonal” RV spots. This is where RVs go to die. I didn’t see a single one that wasn’t anchored down by decks, gardens, fences, and other signs that they never move. And some of them aren’t even RVs, they’re more like manufactured homes. I suppose they’re called “seasonal” because they don’t plow the snow in the winter, but it looks like most people probably spend the entire summer, or at least most weekends there. They also have a very basic restaurant, that actually had live entertainment on the Saturday night we were there. There were also a community hall and they had some programs on for kids during the day and adults in the evening. And an area with a couple of outdoor pools and playground equipment. So yeah, probably a nice place for kids before they get too addicted to social media.
It took me about 11 backs and forths to get the trailer aligned into the spot, because the spots are narrow and there isn’t much room on the other side to forward into without either hitting dock furniture or going into the inlet. Our spot had a telephone pole just off the camp side of the trailer pad, which I actually tapped when maneuvering (and discovered later that I’d knocked a piece off the awning machinery cover).
So it was a massive hit on my RV chill the next morning when Vicki told me I had move the trailer forward a bit so there’s room to open the awning because of that stupid telephone pole. So we disconnected (but didn’t put away) the electrical cord and water hose, put the slider in, raised the jacks, removed the chocks and levelers and re-hitched. Didn’t bother with the weight distribution bars. Pulled forward a couple of feet, but because the trailer hadn’t been exactly aligned with the pad, it took a couple of back and forths to get it positioned right. I don’t know why, but when we dropped the hitch, the trailer leapt to one side, half way off the blocks we put under the tongue jack. There was nothing to do but re-hitch it, try to move it back where it was supposed to be (more back and forths), and then when we dropped the hitch it leapt again, this time completely off the blocks. At this point I said I was done, and we proceeded to re-setup everything.
Afterwards, the kids and grands all came to visit at the trailer. (Side note: out of respect for my grandkids privacy, I’m not going to use their names. My older daughter L has two school aged boys. My younger daughter A has one very young girl.)
The youngest boy (G) found that the inlet had an ample supply of medium sized perch and spent a lot of time flogging them with a fishing line. He even caught a few. He was casting and retrieving with a worm on a hook and a bobber on the line, so if I hadn’t been having a bad pain day I probably should have played the kindly old grandfather and taught him something about fishing. Not that I know a lot, but I did fish a bit when I was a teenager. I was terrible at it and rarely caught anything, and he was catching perch so maybe it’s just as well I kept out of it.
The young girl (M) is still painfully shy around Vicki and I, but I think she is warming up a bit.
After a while at our trailer, we all headed into Port Perry for dinner. The place we originally picked was too full so we headed to another place that wasn’t too expensive but a thousand percent nicer than the place at the campsite. The children’s menu portions were *huge*. My Montjaro-reduced appetite would probably have been sated with the chicken fingers and fries that G had.
That evening, the sinks all backed up, indicating that either the grey tank was full, or there was a vent problem. I didn’t sleep very well worrying about it. The next morning, I went up on the roof and blew down the vent pipe, which caused some big bubbles in the sinks, so I knew the vent wasn’t blocked. At some point, I want to try measuring how much water goes in the grey tank before it starts backing up in the sinks because sometimes people find the manufacturer has put the vent tube too far into the tank which causes a vapor lock where the air in the tank above the bottom of the vent pipe can’t exit. But whether or not that’s happening, at this point we need to hitch up again and drive the trailer over to the dump station. Sigh. At least this time, when we returned I had a better handle on how to back into that spot so it didn’t take too many back and forths. And when we unhitched, the trailer didn’t leap. I wonder if that’s because the previous time we didn’t drive very far so it didn’t release any tension on the hitch, or because we used the weight distribution bars this time.
After we finished dumping the tanks and re-setting our campsite, we met A and her husband and child M in Port Perry again. This time we spent some time poking around shops, eating ice cream and listening to some live music that the Port Perry tourism board provided. It was fun, if a bit hard on my pain levels.
Monday’s drive home was pretty uneventful except we’d had to stop for fuel twice – I’m a cheap bastard at heart and I didn’t want to pay Canadian prices for diesel if I didn’t have to, so I put in barely enough to get back over the border, and then stopped at an OpenRoads stop after we got back to the US.
Miscellaneous Tinkering
During this period, I also did some tinkering in the trailer.
Put some wood strips to keep the batteries from sliding around in the under-bed box
Put a slide-out carrier in one of the panty cupboards
Put a metal holder for the fire extinguisher because the plastic one that came with the fire extinguisher broke
Bought a replacement vent fan for the one in the bathroom, because the installed one has a switch that Vicki can’t easily reach. I haven’t installed it yet because I’m waiting for cooler weather so I’m not working on the roof in 90F weather.
I’ve ordered but not received a portable tank to drain the grey tank into so we don’t have to keep hitching up and dragging the trailer to the dump station
Ok, this is kind of long. I’m too lazy to break this into separate parts, but in the future I’ll try to write more frequently.