feasibility of translating communication between IoT devices

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.

compare the cost of an UNO with a LoraShield to the cost of an ESP32 with built in LoRa, WiFi, Bluetooth and a very small OLED screen. Get the kind with the SMA connector, not the pathetic u.fl connector.

that UNO with a LoraShield will have 9 pins available. The ESP has 32 GPIO pins, and they can all be interrupts.

The UNO is an air cooled VW. The ESP is a fuel injected 5.4 liter. the ESP costs less.

The ESP is programmed with the Arduino IDE and uses many Arduino libraries

That sounds like a lot of work to replace a short wire. What are you going to use for a sensor and what will power this equipment. Post a preliminary schematic, not a frizzy thing.

Why not just monitor the air temperature above the cooker?
Anything more than 5 degrees above ambient temperature probably means someone is cooking.

Thermistors are pretty robust. You could use a thermocouple if you plan to have flames shooting towards the ceiling.

gilshultz:
That sounds like a lot of work to replace a short wire. What are you going to use for a sensor and what will power this equipment. Post a preliminary schematic, not a frizzy thing.

Well it's not just turning on the hood, there is also its light, different speeds to control, all of that can easily be controlled with an arduino with an RF transmitter, there is a fully documented project available that does this.
There is no 'sensor', the arduino has to send http get requests over wifi to the cooktop to inform about its status. The cooktop decides when the hood should be one and how fast it should be running. Had I bought a cooktop and hood of the same brand, they would have wirelessly talked to each other, but now I need a middleman to translate between 2 different brands. That middleman could be a Pi or an Arduino (well, I have no clue if an arduino can do this)
This is a question of feasibility, particularly the software capabilities of an Arduino, I have no clue if an Arduino is powerful enough to AES decrypt the json content of a http get request for example. I can't wrap my mind around how that would be possible on a device with just a few Kb of RAM, yet I find Arduino AES decryption projects on github.
Since I'm completely new to Arduino or microcontrollers in general, I thought it was best to poll here before I invest in this.
I thought it was possible someone experienced would immediately shoot this down as not feasible because a more powerful computer like a PI is needed. Since that hasn't happened yet, I might just give it a try.

I have about 65 devices around my home. Most are running on an ESP8266 board, either the ESP8266-01 or the Wemos D1 Mini. They all communicate over WiFi using MQTT. The ESP's already have WiFi and they are cheaper than the Arduino boards, and they have more RAM. What's not to love.

I've never worked with AES encryption, and I avoid JSON, but there are Arduino libraries for both.

Reads like a project for MQTT.

This topic was automatically closed 120 days after the last reply. New replies are no longer allowed.