Automate Your Home Using Go (PragProg)

Dive into extraordinary and robust home automation projects written in Go. Deploy, host, and maintain code in your home lab using best of breed Go-based tools.


Ricardo Gerardi @rgerardi and Mike Riley @mriley

edited by Jacquelyn Carter @jkcarter

Take control of your home and your data with the power of the Go programming language. Build extraordinary and robust home automation solutions that rival much more expensive, closed commercial alternatives, using the same tools found in high-end enterprise computing environments. Best-selling Pragmatic Bookshelf authors Ricardo Gerardi and Mike Riley show how you can use inexpensive Raspberry Pi hardware and excellent, open source Go-based software tools like Prometheus and Grafana to create your own personal data center. Using the step-by-step examples in the book, build useful home automation projects that you can use as a blueprint for your own custom projects.

With just a Raspberry Pi and the Go programming language, build your own personal data center that coordinates and manages your home automation, leveraging the same high-powered software used by large enterprises. The projects in this book are easy to assemble, no soldering or electrical engineering expertise required.

Build a temperature monitor that can send alerts any time defined thresholds are exceeded and report the temperature readings on a time-based series chart. Change the color of lights to visually indicate the current outdoor weather status. Create a networked motion detector that triggers an alert any time motion is detected, such as a door opening or closing, a pet wandering around, or deliveries or visitors arriving on your front porch. Even have these triggers initiate a more complex Go-based automation sequence. Integrate a small, high-resolution camera into a bird feeder that takes excellent, up-close photos whenever a bird perches at the feeder, and broadcasts them to your Discord server where your family and friends can see these wildlife captures in real time.

Control your home with hardware you configure, and manage it with Go code that you create and modify any time you want to enhance your home automation capabilities.

Ricardo Gerardi is an IT professional with over 20 years experience in large and small companies, including serving as a Principal Automation Consultant at Red Hat. Ricardo has been developing command line tools for a long time, for different purposes including automation, monitoring, and data analysis tools, and he has now adopted Go for all his projects.

Mike Riley is the author of several titles published by Pragmatic Bookshelf, as well as a member of the company’s Technical Advisory Board. He has been tinkering with computers since the late 70s beginning with the Tandy TRS-80, and has been a lifelong adventurer in science and technology.