I am planning a home automation project where a hood will be turned on automatically when the cooktop is turned on. I have worked on Raspberry pi projects before but am completely new to microcontrollers like the arduino.
This is feasibility question if something like an arduino would be a good match.
Turning on the hood with an arduino will be rather straightforward. The hood listen to 433Mhz radiowaves and a well documented project for controlling this hood with an arduino nano is available:
Listening to commands from the cooktop is more complex. It's a Miele device that uses "Con@ctivity 3.0", basically Miele devices send commands to each other over Wifi (both directly and/or through the Miele cloud). I will avoid the cloud api and want everything to work over the home network. There is a good python project on polling for the status of miele devices over a local network, which will be handy for this project as documentation for how the Miele protocol works.
Basically, to get the cooktop status, the microcontroller will have to connect over wifi to the home network and send periodic get requests to the ip address of the cooktop. To summarize:
- the arduino has to make a get request
- the get request needs custom headers
- one of these strings in the header needs to be signed with sha256
- a signature needs to be extracted from the header of the response
- this signature is needed for decrypting the response content (AES)
- the decrypted string contains the status of the cooktop, in json format, so a json parser would be handy
If i stay in my comfort zone, I would do this in Python on an a Pi zero, but I'm wondering if this is a feasible project on an Arduino? If feasible, are there good libraries to do the heavy lifting concerning sha256 and AES? Once this is up and running I want to completely forget about this controller for the lifetime of the devices, at least 10 to 20 years. In that sense I think a microcontroller would be more interesting than a Pi, which will probably wear out or corrupt its sd card after a few years. Would an Arduino be more reliable? The higher power consumption of a Pi will also add up over a decade and would be another good case for an Arduino.