18

Recently I purchased a TP-Link HS100 smart plug which I configured using an app and all is working well. Now I am trying to understand the underlying software and hardware architecture for such an implementation. Based on simple Google searches, the following is my understanding.

The headless smart plug makes a peer to peer connection to a device such as a mobile phone or computer. Using a device with a UI, network configurations are entered into the IoT device. The IoT device then connects to the access point to make some type of authentication with a cloud service, and establishes a connection. The mobile app communicates the commands to the cloud service which then relays the command to the smart plug. This is pretty straightforward.

I like to understand a little bit deeper in both software and hardware architecture for this type of design. It is fair say that there is some type of Wi-Fi device like the CC3100 Wi-Fi chip or similar. There is some type of microcontroller like an ARM Cortex. It could be an integrated Wi-Fi controller such as a CC3200.

What is the underlying software and hardware architecture to implement such a design to setup and establish a secure communication link? What type of minimum security needs to be implemented to secure the device? I am hoping someone on this site has experience with such an adaptation (2.4 GHz) and is willing to share their experience.

Helmar
  • 8,450
  • 6
  • 36
  • 84
Mahendra Gunawardena
  • 1,550
  • 11
  • 30

2 Answers2

6

One of the underlying software and hardware architectures you can use to implement such a design is:

Arduino core for ESP8266 WiFi chip

It is based in a low cost single chip solution and it can use WPA2 for security.

On the server side you can use SSL/TLS. Check thinger.io arduino libraries 2.5+

For the server side you can also use thinger.io.

Bence Kaulics
  • 7,843
  • 8
  • 42
  • 90
555
  • 246
  • 1
  • 2
0

You can also use a raspberry Pi. It comes with the wifi, ethernet, usb hardware. You can, for instance, install Linux on it. Then you have the full fledged support for any of the communication technologies.

I am using a raspberry pi 3+ with a relay board to effectively press buttons on the remote of my gate controller. I have software running on it that emulates a Rest api. My home automation server then communicates with it using this.

Rohit Gupta
  • 507
  • 2
  • 3
  • 18