this post was submitted on 14 Nov 2023
1 points (100.0% liked)

Home Automation

79 readers
2 users here now

Home automation is the residential extension of building automation.

It is automation of the home, housework or household activity.

Home automation may include centralized control of lighting, HVAC (heating, ventilation and air conditioning), appliances, security locks of gates and doors and other systems, to provide improved convenience, comfort, energy efficiency and security.

Warning: Working with electricity can result in injury, property damage, or even death if it is not done properly. Please keep this in mind while assisting others. If you are not sure about what you are doing, hire a licensed professional.

Rules

founded 1 year ago
MODERATORS
 

Hi,

Having lost it with my glitchy Mill stupid heaters, I was scrolling through this subreddit for inspiration and noticed a) there is a lot to learn and b) this looks like something I would like to do a course on!

So, can anyone recommend a good course for me? I have an MSc, so score highly on numeracy and logic. I am reasonably tech savvy as an end user but want to get more into the design side - I think there is a lot of untapped potential in HA! I have intermediate python skills at best and close to no experience with IoT or home automation. I would want to learn about the types of hardware and software available and how to customise them. I'd especially enjoy a course including a hands on hardware project.

Possible goals for me would be to use smart sockets and thermostats to make my own smart heating controller, or to control smart lighting based on ambient light...

TIA for any thoughts or recommendations!

Edit: included question on hands on project

you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 1 points 1 year ago

I think the key things to focus on here will be understanding the fundamental technologies and architectures that are common in the space.

Some of the technologies that I would start with:

  • Microservice Architecture
  • Docker image design and building
  • MQTT networking
  • Zigbee and Zwave Protocols
  • Fundamentals of Embedded Programming
    • Learn a little C++ and C just so you can read examples and work from there.
    • Learn how to think about working with minimal memory and compute resources
  • Investigate ESP32 Based development boards.
    • They are inexpensive and allow you to fail fast and cheap

The good new for you is that many of the major projects out there are written in python, so understanding and contributing will come quickly to you. One thing that I would recommend is to become aware of how professional development workflows can help you. Learn standards like PEP8, learn how to document your code with docstrings, learn branching, merging, pre-commit testing, unit testing, and how to maintain a good standard of quality. Each of these topics are not absolutely necessary, but they are incredibly valuable skill to develop as you are learning about HA topics.

As for hardware, you will have to eventually get some tools like a logic analyzer or an oscilloscope when you are serious. You can get a really cheap Saleae clone logic analyzer to start with. Getting an oscilloscope is often a major commitment to device development. You will want to buy one good enough that you can actually use it. That can be expensive.

If you want to design your own boards, you will need to both learn layout tools and the fundamentals of electrical design. A good book for electrical design is "The Art Of Electronics" This books is among the best I've read for actually communicating how circuits can be used and designed to suit your needs.

A common professional board layout software is Altium. I believe it has some student edition options if you still have a university email. Outside of that I think it is prohibitively expensive, so you may want to look for opensource alternatives.