Drone My Roof

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.

More Linux techie bullcrap

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.

Linux Upgrades

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.

Well, that was a waste of time and money

So our house network looks kind of like

-fiber-[Fiber Modem]-[Router/WAP]-[switch]-[security camera]
-[living room drop]
-[dining room drop]
-\
-upstairs-[switch]-[linux]
-[iMac]
-[Mac Studio]

The cables represented by dashes (except the fiber one) are supposed to be Cat5e, but they might only be Cat5. The switches are 10/100/1000 Mbps and all three of the wired computers are running 1000 Mbps. The new one, the Mac Studio, had to be coerced in that speed, because it didn’t seem to be capable of negotiating correctly. I wrote that off to the fact that the switch is several years old and came out before 2.5G/5G/10G Ethernet was a thing. The WiFi is 802.11ac (I think) although I never really saw even close to the theoretical speed out of it. I think most of the time Speedtest.net would show the computers on the wired connections getting somewhere between 600-800 Mbps and the wifi only getting maybe 40 Mbps on a good day. But that was perfectly adequate for most uses – I want the faster speed on my wired computers because I’m uploading big video files and running various servers.

A few months ago, Greenlight told me that they were updating my fiber to 2Gbps. At the time, because my whole network is 1 Gbps, I didn’t think much of it. But recently Vicki’s been complaining about the WiFi being too slow and dropping out whenever the microwave is on. Fair enough, my experience is that home routers is that they need to be replaced every 5 or 10 years, and this one was in that age range (I think.)

I’ve been looking for routers that can do at least 2 Gbps on the fiber “modem” side, and also on the uplink to the switch. I did some investigation, and couldn’t find one at a decent price point. But then a couple of days ago I found a review of “best routers” that seemed to be saying that one of the routers could do the trick. It also had WiFi 6 which should speed up some of the WiFi’d devices. I also found some switches that said that they could do 2.5 Gbps on all the ports.

I spent a very frustrating time yesterday trying to get it all set up. My first problem was I forgot that because I’ve got a static IP, I had to manually enter the WAN IP address and other stuff. I got it all set up, the switches were showing 2.5 Gbps from each other, from the new router, and from the Studio. Speedtest was showing the wired computers were making 900+ Mbps up and down, and WiFi on my iPad was just about as 2/3rds as fast.

One weird thing I noticed is that the link between the router and the fiber “modem” was still showing at 1 Gbps. I didn’t realize it at the time, but the review I read mislead me. The router is capable of 2.5 Gbps WAN, but only using something called “Dual WAN”, which I think means using the both the port labeled WAN and the first port labeled LAN to connect to the fiber modem. But since only that LAN port is 2.5 Gig, I’d be able to get data to the router faster, but it couldn’t go out faster to the upstairs wired computers. I suppose that might make the WiFi a bit faster? Also the fiber modem only has one port, so I’m not sure how to make use of the “Dual WAN”.

I tested port forwarding and all that stuff and it all seemed to be working just fine, when I decided to see if copying files between the 3 wired connections were any faster. (In retrospect, they probably wouldn’t be since 2 of the three computers are only capable of 1 Gbps.) Soon after I started the copy, the Linux computer completely stopped talking to any network. I rebooted and it still wasn’t talking. I fiddled with a bunch of configuration, but the only thing that got it working again was putting back the original 10/100/1000 Mbps switch upstairs. Not sure why that happened, or why switching the switch could fix things.

At that point, I was having trouble with my Mac Studio. The Ethernet kept dropping and coming back up. I looked in the hardware settings for the Ethernet port and it was set to Automatic instead of Manual like it was supposed to be. And every time I switched it to Manual and reconfigured everything, after I clicked “Ok” and then clicked “Show Details” again it was back to Automatic. I eventually gave up on that and just used my old Thunderbolt to Ethernet dongle I used to use with my work laptop when I had one. Actually after I woke up this morning I had an idea and deleted the Ethernet configuration and made a new one, and it worked fine.

Meanwhile I reconnected most of the other devices to WiFi, including the Roku, and right now with Vicki watching videos on one of her devices and me watching videos on the Roku, Speedtest is showing the WiFi speed down to 30-40 Mbps again. Sigh.

So honestly I think I’ve spent a lot of time and money, and given myself a terrible day of screwing around with things that used to work and then didn’t work, and now work again, and all for nothing really. And I still have to manually re-attach some of the Wyze cameras to the WiFi, which in one case will involve going up on a step ladder to push a reset button and show it a QR code.

So this is happening

I’m slowly ramping up to start a drone business. I have the website https://RochDrone.com/ with copious design help from Bob Raymonda, I have business cards (also designed by Bob), I’ve just filed a DBA, and I’m about to start advertising.

My business card

Funny aside here: Notice that the URL is https rather than http. I’ve got several websites hosted on my server, and I’ve been resisting for years getting certificates for them all and redirecting from http to https. I figured it would be a full weekend type job. But what I discovered once I decided that it was a major requirement if I’m going to run a business website on my server was that basically I had to install a script and run it, answering a couple of questions mostly with defaults it provided, and I was done in 20 minutes. And 10 of that was thinking it wasn’t working because I accidentally forwarded the wrong port on my router.

The goal of the business was originally was to get my neighbors to pay me to get a look up on their roofs to see if their gutters are full of leaves or they have a shingle lifting or an obvious leaking spot at a chimney or a vent pipe. I mean, I would have paid for that when I had contractors telling me my gutters were full and I should pay them hundreds of dollars to clean them. But when I talk to other people, they don’t seem all that enthused. Well, maybe when they see the ad they’ll come around.

Alternatively, there’s a lot of real estate listings that would be improved by some nice drone shots. Or maybe contractors who’d like a look at a roof before they start estimating. Or home owners who’d like before and after shots of what the contractor has done. Or maybe weddings or graduating classes who’d like a cool video group picture. Or (and this one I didn’t think of, but I got approached by two rappers) an overhead shot in a music video.

I never thought this would become a full time job. What I’m hoping for is for it to grow to the point where I’ve got one or two shoots a week. But first, I’ve got to drive traffic to my website. Having a link here on my blog couldn’t hurt.

I’m trying to decide if I want my drone stuff to move to a separate YouTube channel. I worry that going forward it’s probably going to be the only content on my channel and I don’t want to make a new channel and starve my existing one.