Episode

Home automation with Go

Podcast
Go Time: Golang, Software Engineering
Published
Sep 10, 2024
Duration seconds
3429
Processing state
processed
Canonical source
https://changelog.com/gotime/330
Audio
https://op3.dev/e/https://cdn.changelog.com/uploads/gotime/330/go-time-330.mp3
JSON
/v1/public/podcasts/go-time-golang-software-engineering/episodes/home-automation-with-go
Markdown
/podcast/go-time-golang-software-engineering/home-automation-with-go.md

Actions

  • POST https://stenobird.com/v1/public/podcasts/go-time-golang-software-engineering/episodes/home-automation-with-go/transcription-requests
    Idempotently request low-priority transcript generation for this episode.
  • GET https://stenobird.com/podcast/go-time-golang-software-engineering/home-automation-with-go.md
    Read the agent-friendly Markdown representation of this episode resource.

Summary

Explore the practical application of Go and TinyGo for building private, decentralized home automation systems. Learn how to move away from cloud-dependent 'black box' smart devices toward custom hardware controlled by your own code.

Topics

  • Go Programming
  • TinyGo
  • Home Automation
  • Internet of Things
  • Raspberry Pi
  • Microcontrollers
  • Edge Computing
  • Software Engineering

Highlights

  • Main idea: Using Go for home automation allows for complete data sovereignty and avoids the privacy risks of commercial cloud-based ecosystems
  • Practical takeaway: Leverage TinyGo and drivers for microcontrollers like the Raspberry Pi Pico W to interface with sensors and actuators
  • Practical takeaway: Use cross-compilation to develop applications on a laptop and deploy containerized images directly to edge devices like the Pi Zero
  • Failure mode: Hardware assembly and component integration can be a significant hurdle for software-focused developers
  • Main idea: Go's simplicity makes it an accessible entry point for beginners to move from 'Hello World' to complex IoT projects like automated bird feeders

Chapters

  1. 1:00 Cloud Development Environments: An introduction to Coder and the benefits of provisioning standardized development environments in the cloud.
  2. 5:10 The Shift to Go SDK: Discussing the transition from standard Go to using the full SDK for complex home automation projects.
  3. 9:40 Privacy and Data Sovereignty: The risks of using commercial smart home products that collect user data in proprietary clouds.
  4. 13:55 Embedded Devices and Pi Zero: Exploring the use of embedded devices and the role of microcontrollers in automation.
  5. 18:15 Cross-Compilation and Deployment: How to develop on a laptop and deploy containerized Go applications to Raspberry Pi hardware.
  6. 26:30 TinyGo and Microcontrollers: The availability of drivers for hardware like the Pico W and the ease of using Go for low-level programming.
  7. 48:15 Hardware Challenges: Reflecting on the difficulties of physical assembly and hardware integration compared to software development.