Exploring the Internet of Things

I’ve been intrigued by IoT, jealous of friends’ experiences, but personally haven’t yet taken the plunge.

Maybe I was worried I would get too frustrated, or perhaps I lacked the focus, and would you believe that I just can’t stand the sight of my own hackish soldering?

However, I fondly remember a science fair project with my father: we made a device that detected the number of people walking through a doorway, breaking a light beam, with an optical sensor that incremented a two-digit LED display counter. That was cool.

So when Arah mentioned that our friend Al was having some issue getting the temperature sensor on his Grove system to communicate with Amazon’s IoT cloud service, I was nervous, but offered to help, if only to be another pair of (inexperienced) eyes.

Al’s vision is to create a semi-autonomous garden: one that detects its own temperature, humidity, and eventually waters itself. As I entered his back yard, at least four rabbits scattered away. I wondered if he would automate anti-rabbit defenses as well? This is the sort of thinking that eventually leads to Skynet.

Initially everything looked reasonable, if a bit crude, messy and bewildering: the configuration in Amazon’s cloud, the software assembly tools and configuration on the laptop, the source files and libraries downloaded, and the files deployed to the device. But still the temperature data was not flowing through the Internet from the little device in Saint Paul, Minnesota to the massive data center in Bend, Oregon. This was the Internet of Difficult Things (IoDT).

My first mistake was assuming that we were trying to pipe the temperature sensor data through Al’s laptop. No, the laptop was there to build and deploy the software, but this is Arduino we’re talking about: it may be tiny, but it is the server itself, with its own operating system and wireless connection, and not some peripheral of the laptop!

I stopped being concerned about the state of the folders and files on Al’s laptop, and spent more time inspecting the device itself via secure shell. It became clear that the files on the device had not updated in several days, despite our attempts to build and deploy. WTF?

Increasing the debug settings, we discovered that the COM port was unavailable because of interference from the very same secure shell we were using to debug. Al suggested we drop our SSH session to the device and voilà: suddenly temperatures were updating every second.

When I grabbed the thermistor on Al’s kitchen table and watched the heat of my hand immediately update the cloud, I was elated. I think I might have to get my own IoT kit soon and start sharing notes with the rest of y’all.



Changing Gears

Yesterday and today I did something that I’ve not done for years: yoga, specifically Vinyasa style.

It’s ironic: my awesome partner in crime is a yoga instructor. But me, a yoga practitioner? Not so much.

I selected a DVD from near the turn of the century and tried to remember how to relax. Short story: I tried too hard on Day One. I received some helpful pointers from my better half, and today’s Day Two practice was more about relaxation and less about strained achievement.

Additionally, in the realm of “when was the last time you did that,” today I made bread.

My sister’s gluten-free cookbook and bread machine led me toward a loaf of rice flour, garbanzo flour, and unusual ingredients like xanthan gum. It wasn’t great, but it was bread after all. Yum.

Last Week In Review

Last week was the first week since I put myself on requiescence from my career of over twenty years, so I mostly tried not to overdo it, but instead take it somewhat easy.

After a weekend of perhaps too much beer and too many hours of XCOM 2, I felt the need to get some exercise. Monday morning began with a 9 mile walk which proved I have a lot of work to do before I am ready for this summer’s hiking trip to Glacier and Waterton.

Arah and I did some cooking on Tuesday and I walked around the neighborhood, adding to Little Libraries some of the childhood books recently brought up from Rochester.

Wednesday was busy: Ed drove up from Northfield. We parked downtown at the Depot and took the Green Line into Minneapolis, exiting at the Hennepin Avenue station.

Ed hadn’t yet been to the Marvel Bar, so I had to share its peculiar entrance and ambiance. For whatever reason we were guided toward New Orleans beverages: Ed had a Sazerac and I had my first Creole, which was an interesting variation on the Vieux Carré. The bartender attempted to explain to me an ingredient in the Creole that was only recently available in North America via Colorado, but I confess I have forgotten the details of her mixology lesson.

Larry found us, despite the nondescript entrance, and we proceeded to Lucé for a slice apiece. Ed and I used to frequent this Warehouse District location shortly after it opened, so it was a bit surreal to revisit it some 23 years later: damn it, that’s half our lives ago!

We then arrived at the main event: Pure Bathing Culture and Lucius at First Avenue. While I had purchased and enjoyed the music from these bands ahead of time, both performances exceeded my expectations, and the surprise addition of Gaelynn Lea made it very special.

One of my goals for this time off from work is remembering what I like to do when I’m not working, so going back to some old haunts like Lucé and First Ave with cronies like Ed and Larry really helped.

By Saturday I was feeling like was starting to calcify again, so I plotted another 9-ish mile walk, this time following the Lilydale trail. I did spy a Bald Eagles’ nest, and saw one of the birds perching and another in flight.

Bald Eagles' nest between Mississippi River and Pickerel Lake.

A photo posted by Steve Morman (@stephen.morman) on


On Sunday I completed a years-overdue repair of the laundry chute door, too heavy for its 90 year old fasteners: the top hinge was pulling out of the stripped-out holes in the door frame. After much swearing, piloting (too narrow), repiloting (too short), burnt wood smoke from the drill, I was able reattach the hinge above with new fasteners. Hopefully it’ll hold for a few years.

Beep Beep Boop

I see that both WordPress and FourSquare both use silly text that sounds like R2D2 when you are waiting for content to load. I like it better than a progress bar or a spinner, but maybe only because it’s novel, but that’s wearing off as I see it more.

Meanwhile, brewing continues. Upgraded to 5 gallons, which has been interesting. I have started measuring original and final gravity, and my measurements relatively closely match expected outcomes.

One point of room for improvement and refinement: temperature. I still let the beer get too warm. That’s fine right now in the summertime, when I’m brewing saison style, but I need to better control the temperature.

The garden has been a disappointment. The vegetable garden became overgrown, and only the radishes produced food. We have a couple of tomato plants on the back porch that are starting to bear fruit, and we’ve harvested a few raspberries, but without petroleum-fueled food distribution, we certainly would starve. Then again, it’s not like I’ve spent that much time in the garden.

The rain garden is healthier than normal, perhaps because of a few sessions of aggressive weeding, so the neighborhood pollinators can thank me, even if we’ve precious little flowering plants of our own beyond wildflowers.

And then there are the hops: brutally attacked by squirrels, they are stunted. The Centennials are barely a foot tall, but the Willamettes have at least reached the top of the clothes line.

We’ll call this a “building year” for gardening, and invest in raised beds with chicken wire next year.