# Integrantes do grupo

| Nome            | Matrícula       |
|------------------|-----------------|
| Cainã Valença de Freitas     | 180014412 |
| Pedro Rodrigues Pereira    | 170062686  |

# Sonoff Basic R4

O Sonoff Smart Switch (Basic R4) é um dispositivo de automação residencial inteligente que permite controlar aparelhos elétricos remotamente. Ele é projetado para integrar conectividade Wi-Fi e Bluetooth com uma interface acessível via o aplicativo eWeLink, que possibilita ligar, desligar e configurar cenas automáticas para dispositivos conectados.

<figure style="text-align: center;">
  <img src="./assets/images/basicr4.png" style="width: 500px;" alt="Sonoff Basic R4">
  <figcaption>Figura 1: Sonoff Basic R4</figcaption>
</figure>

## Funcionalidades:

Além de permitir o controle remoto de aparelhos elétricos, o Sonoff Basic R4 oferece diversas funcionalidades para automação residencial, incluindo:

### **Controle Remoto**:
O Sonoff Basic R4 permite controlar dispositivos elétricos por meio do aplicativo eWeLink, que oferece uma interface intuitiva para ligar e desligar aparelhos de qualquer lugar.

### **Cenas Automáticas**:
É possível configurar cenas automáticas no aplicativo eWeLink para acionar dispositivos conectados em horários específicos ou de acordo com eventos predefinidos.

### **Compatibilidade com Assistente de Voz**:
O Sonoff Basic R4 é compatível com assistentes de voz como Amazon Alexa e Google Assistant, permitindo controlar dispositivos por comandos de voz.

### **Monitoramento de Consumo de Energia**:
O aplicativo eWeLink permite monitorar o consumo de energia dos dispositivos conectados, fornecendo informações detalhadas sobre o uso de cada aparelho.

### **Proteção Contra Sobrecarga**:
O Sonoff Basic R4 possui proteção contra sobrecarga, desligando automaticamente em caso de excesso de corrente.

### **Atualizações OTA**:
O firmware do Sonoff Basic R4 pode ser atualizado via OTA (Over-the-Air), garantindo a segurança e a adição de novos recursos sem a necessidade de conexão física.

### **Integração com Outros Dispositivos**:
O Sonoff Basic R4 pode ser integrado com outros dispositivos IoT e sistemas de automação residencial para criar cenários personalizados e ampliar suas funcionalidades.


## Magic Switch
Um grande problema ao utilizar controladores de automação residencial, principalmente no controle de lâmpadas, é que ao desligar o interruptor físico, o Sonoff é automaticamente desligado, pois ele é alimentado pela rede elétrica. Dessa forma, não é possível mais controlar o dispositivo remotamente. Uma grande adição do modelo Basic R4 é o Magic Switch, que consegue manter sua conexão simultaneamente com o interruptor físico, permitindo que o usuário possa controlar o dispositivo tanto pelo interruptor físico quanto pelo aplicativo eWeLink.

<figure style="text-align: center;"> <img src="./assets/images/magic-switch.png" style="width: 500px;" alt="Magic Switch"> <figcaption>Figura 2: Magic Switch</figcaption> </figure>
Para fazer uso do Magic Switch, é necessário que o interruptor físico seja trifásico e que as duas saídas do mesmo estejam interligadas. Ou seja, independente do estado do interruptor físico, a corrente elétrica estará sempre alimentando o Sonoff Basic R4. O Magic Switch é capaz de identificar o clique do interruptor, e assim, o Sonoff pode interpretar o comando de desligar o dispositivo e mesmo assim se manter energizado.

* Fonte: [Sonoff Basic R4 User Manual](https://sonoff.tech/wp-content/uploads/2023/12/BASICR4-user-manual-EN.pdf)

## **Listagem de características**: 

### **Unidade de processamento**:
<table>
  <tr>
    <th>Microcontrolador (MCU)</th>
    <td>ESP32-C3FN4</td>
  </tr>
  <tr>
    <th>Fabricante</th>
    <td>Espressif Systems</td>
  </tr>
    <tr>
    <th>Arquitetura</th>
    <td>RISC-V (32 bits)</td>
  </tr>
    <tr>
        <th>Frequência de Clock</th>
        <td>Até 160 MHz</td>
    </tr>
    <tr>
        <th>Coprocessador ULP</th>
        <td>Permite execução de tarefas com baixo consumo energético, como leituras de sensores.</td>
    </tr>
    <tr>
        <th>Periféricos</th>
        <td>I2C, SPI, UART, ADC/DAC</td>
    </tr>
    <tr>
        <th>Proteções</th>
        <td>Proteções integradas contra falhas.</td>
    </tr>
</table>


O ESP32-C3 é um microcontrolador desenvolvido pela Espressif altamente flexível, que atende demandas de dispositivos IoT(Internet of things). O mesmo é baseado na arquitetura RISC-V de 32 bits e oferece uma solução eficiente e integrada. A frequência de clock de até 160 MHz permite uma plataforma confiável e de alto desempenho para aplicações conectadas. O design do microcontrolador possui foco nos recursos de *input* e *output* o que facilita seu uso em uma vasta gama de cenários industriais e domésticos. Apesar da enfase de seu design, um grande ponto ressaltado é o equilíbrio entre os recursos presentes, os custos e a segurança empregados.

Seu Coprocessador ULP (Ultra Low Power) é dedicado a realizar tarefas de baixo consumo de energia, como leitura de sensores, possibilitando com que o principal núcleo do microcontrolador possa ser desligado para economia de energia. Esse comportamento habilita com que a ESP32-C3 seja utilizado para aplicações que demandam longa vida útil da bateria.

O ESP32-C3 possui vários periféricos, sendo eles I2C, SPI, UART, ADC e DAC, que baseam a conexão com sensores e atuadores. Além disso, o microcontrolador possui proteções integradas contra falhas, garantindo a segurança do sistema. Segue abaixo o Diagrama de Blocos Funcionais e Pinout do SoC(System on Chip) ESP32-C3:

<figure style="text-align: center">
  <img src="./assets/images/diagrama-de-blocos-funcionais.png" style="width: 500px;" alt="Diagrama de blocos do ESP32-C3">
  <figcaption>Figura 1: Diagrama de blocos do ESP32-C3</figcaption>
</figure>



<figure style="text-align: center;">
  <img src="./assets/images/pinout-esp32c3.png" style="width: 500px;" alt="Pinout do ESP32-C3">
  <figcaption>Figura 2: Pinout do ESP32-C3</figcaption>
</figure>



* Fonte: [Sonoff Basic R4 User Manual](https://sonoff.tech/wp-content/uploads/2023/12/BASICR4-user-manual-EN.pdf)
* Fonte: [ESP32-C3 Series Datasheet](https://www.espressif.com/en/products/socs/esp32-c3)



### **Memória**:

<table>
  <tr>
    <th>Tipo</th>
    <th>Capacidade</th>
    <th>Função</th>
  </tr>
  <tr>
    <th>Memória RAM</th>
    <td>SRAM 400kB(320 KB RAM + 80KB Cache)</td>
    <td>Execução do Firmware e dados em tempo real</td>
  </tr>
  <tr>
    <th>Memória ROM</th>
    <td>4M de memória flash</td>
    <td>Armazenamento do firmware e suporte para OTA(Over-Air-Updates)</td>
  </tr>
</table>

* fonte: [ESP32-C3 Series Datasheet](https://www.espressif.com/en/products/socs/esp32-c3)

### **Sistema Operacional**: 
<table>
  <tr>
    <th>Sistema Operacional</th>
    <td>Sem sistema operacional (bare-metal)</td>
  </tr>
  <tr>
    <th>Firmware</th>
    <td>Controla diretamente o hardware.</td>
  </tr>
</table>


O Sonoff Basic R4 não possui um sistema operacional base(bare-metal). O firmware controla diretamente o hardware.

**Observação**: Apesar de o ESP32 ser compatível com RTS(Ex.: [FreeRTOS](https://www.freertos.org/)) no manual oficial do produto não possui nenhuma menção sobre o uso de um sistema operacional.

* Fonte: [Sonoff Basic R4 User Manual](https://sonoff.tech/wp-content/uploads/2023/12/BASICR4-user-manual-EN.pdf)
* Fonte [Espressif ESP-IDF Documentation](https://www.freertos.org/)

Sensores e Atuadores


### **Sensores e Atuadores**:	


<table>
  <tr>
    <th>Sensores</th>
    <td>Sensor de temperatura para prevenção de superaquecimento.</td>
  </tr>
  <tr>
    <th>Atuadores</th>
    <td>Relé de 10A</td>
  </tr>
</table>

O Sonoff Basic R4 funciona basicamente como um atuador, controlando dispositivos físicos por meio do relé de 10 Amperes. Apesar disso é possível sim integrar outros sensores ao Sonoff e construir uma rede de informações para a automação tanto residencial quanto industrial. Realizando a integração de sensores de temperatura, movimento, umidadade e outros, é possível personalizar seu uso e criar cenas customizadas para o uso do dispositivo. Um grande ponto a ser levantado é que a integração de outros sensores se torna muito mais fácil com o uso do firmware Tasmota.


* fonte: [Automation Tasmota Firmware](https://automation.baldacchino.net/flashing-tasmota-on-a-sonoff-basic-r4-connecting-to-home-assistant/)

* fonte: [Sonoff Basic R4 User Manual](https://sonoff.tech/wp-content/uploads/2023/12/BASICR4-user-manual-EN.pdf)


### **Interfaces de Comunicação sem fio**: 
<table>
    <tr>
        <th>Wi-Fi</th>
        <td>IEEE 802.11 b/g/n 2.4GHz</td>
    </tr>
    <tr>
        <th>Bluetooth</th>
        <td>Bluetooth 4.2</td>
    </tr>
</table>

O Sonoff Basic R4 possui interfaces de comunicação sem fio, como Wi-Fi 802.11 b/g/n e Bluetooth 4.2. O que garante a conexão com dispositivos móveis, outros dispositivos IoT e a internet.

* fonte: [Sonoff Basic R4 Presentation Page](https://sonoff.tech/product/diy-smart-switches/basicr4/)
* fonte: [Sonoff Basic R4 User Manual](https://sonoff.tech/wp-content/uploads/2023/12/BASICR4-user-manual-EN.pdf) 

### **Unidades de Entrada/Saída (I/O)**:
<table>
  <tr>
    <th>GPIO</th>
    <td>Usado para controlar o relé e ler o estado do botão de ativação.</td>
  </tr>
</table>

O Sonoff Basic R4 utiliza GPIO como principal interface de entrada e saída. O microcontrolador ESP32-C3 suporta as unidades ADC/DAC e PWM, porém ambas não são implementadas no produto.

* fonte: [Sonoff Basic R4 User Manual](https://sonoff.tech/wp-content/uploads/2023/12/BASICR4-user-manual-EN.pdf)


### **Fonte de Energia e Sistema de Alimentação**:
<table>
  <tr>
    <th>Entrada/Output:</th>
    <td>100-240V AC, 50/60 Hz, com capacidade de até 10A.</td>
  </tr>
  <tr>
    <th>Gerenciamento de Energia (PMIC):</th>
    <td>Gerencia o consumo de energia  e desliga automaticamente em caso de superaquecimento.</td>
  </tr>
  <tr>
    <th>Circuitos de Reset:</th>
    <td>Reset manual via botão físico.</td>
  </tr>
</table>

O Sonoff ẽ alimentado diretamente pela rede elétrica e possui um gerenciamento de energia PMIC que desliga automaticamente em caso de superaquecimento. O circuito de reset é feito manualmente através do botão físico.

* fonte: [Sonoff Basic R4 User Manual](https://sonoff.tech/wp-content/uploads/2023/12/BASICR4-user-manual-EN.pdf)

### **Firmware e Atualizações**:

<table>
  <tr>
    <th>Firmware</th>
    <td>Controlo pelo eWeLink</td>
  </tr>
  <tr>
    <th>Atualizações OTA</th>
    <td>Presentes para manutenção e novos recursos.</td>
</table>

Todo firmware do Sonoff Basic R4 é configurável e controlado via o aplicativo "eWeLink". Com ele possível a crição de cenas inteligentes, descrevendo situações específicas para o acionamento de dispositivos. Além disso, o firmware do Sonoff Basic R4 pode ser atualizado via OTA(Over-the-Air) para manutenção e adição de novos recursos.

Apesar da maioria das vezes ser utilizado o aplicativo eWeLink, é possível utilizar o firmware Tasmota, que é um firmware de código aberto para dispositivos baseados em ESP8266 e ESP32. O Tasmota permite a integração com plataformas de automação residencial como Home Assistant, OpenHAB, Domoticz e outros. Sendo necessário o hard flash do firmware Tasmota.

<figure style="text-align: center">
  <img src="./assets/images/connection-sonoff.png" style="width: 500px;" alt="eWeLink">
  <figcaption>Figura 3: Conexão através do Smartphone</figcaption>
</figure>

* fonte: [Sonoff DIY Tasmota Firmware](https://tasmota.github.io/docs/Sonoff-DIY/)
* fonte: [eWeLink](https://www.ewelink.cc/en/)
* fonte: [Sonoff Basic R4 User Manual](https://sonoff.tech/wp-content/uploads/2023/12/BASICR4-user-manual-EN.pdf)


### **Interface com o Usuário (UI)**:
  <table>
    <tr>
      <th>Indicadores LED</th>
      <td>LED azul com diferentes padrões para indicar estados como emparelhamento, operação normal, offline e sobrecarga.</td>
    </tr>
    <tr>
      <th>Botão de reset</th>
      <td>Liga/desliga o relé. Entra no modo de emparelhamento.</td>
  </table>

  O Sonoff Basic R4 demonstra uma interface de comunicação com o usuário bem limitada, contando apenas com um LED azul que indica diferentes estados do dispositivo e um botão físico que liga/desliga o relé e entra no modo de emparelhamento ao ser pressionado por mais tempo. Na imagem a seguir é possível visualizar o LED em destaque e o botão de reset ao lado.

  <figure style="text-align: center;">
    <img src="./assets/images/led-reset-button.png" style="width: 500px;">
    <figcaption>Figura 4: LED e Botão de Reset do Sonoff Basic R4</figcaption>
  </figure>

  * fonte: [Sonoff Basic R4 User Manual](https://sonoff.tech/wp-content/uploads/2023/12/BASICR4-user-manual-EN.pdf)
  * fonte: [Sonoff Basic R4 Presentation Page](https://sonoff.tech/product/diy-smart-switches/basicr4/)


## Artigos acadêmicos relacionados

### IoT enabled Smart Switch With User-Friendly Electrical Interfacing
Este artigo apresenta um design inovador para interruptores inteligentes IoT com foco na interface elétrica de fácil uso. Ele aborda soluções para integração eficiente com sistemas elétricos existentes, destacando a usabilidade e a segurança do usuário. A proposta complementa o Sonoff Basic R4 ao oferecer insights que podem melhorar ainda mais a interface elétrica e a segurança, aspectos críticos em dispositivos de automação residencial.

**Referência completa:**  
[IoT enabled Smart Switch With User-Friendly Electrical Interfacing](https://ieeexplore.ieee.org/iel7/9761170/9761283/09761327.pdf)  

---

### Design and Implementation of ESP32‐Based IoT Devices
Este artigo detalha a concepção e implementação de dispositivos IoT baseados no ESP32, explorando suas capacidades de conectividade e processamento em projetos IoT. Os conceitos abordados reforçam a base tecnológica do Sonoff Basic R4, que também utiliza o ESP32-C3, mostrando como este chip pode otimizar funcionalidades como controle remoto e automação.

**Referência completa:**  
[Design and Implementation of ESP32‐Based IoT Devices](https://www.mdpi.com/1424-8220/23/15/6739/pdf-vor)

---

### Design of an ESP32-Based IoT Smart Home Automation Management System
Este artigo descreve um sistema de automação residencial inteligente baseado no ESP32, oferecendo uma abordagem integrada para gerenciar dispositivos IoT. Ele complementa o Sonoff Basic R4 ao enfatizar como integrar dispositivos individuais em ecossistemas de automação mais amplos, promovendo conectividade e controle centralizados.

**Referência completa:**  
[Design of an ESP32-Based IoT Smart Home Automation Management System](https://www.academia.edu/download/117493752/GJRECS4410226.pdf)



## Produtos Relacionados

### [Shelly 1](https://shelly.cloud/products/shelly-1-smart-home-automation-relay/)
<figure style="text-align: center;">
  <img src="https://m.media-amazon.com/images/I/61MioxR4DlL.jpg" width="500" alt="Shelly 1">
</figure>

Dispositivo de automação residencial com conectividade Wi-Fi, controle remoto via aplicativo e integração com assistentes de voz.

### [Philips Hue Smart Plug](https://www.philips-hue.com/)
<figure style="text-align: center;">
  <img src="https://m.media-amazon.com/images/I/71SlK4IEESL._AC_UF894,1000_QL80_.jpg" width="500" alt="Philips Hue Smart Plug">
</figure>

Tomada inteligente focada em automação e controle remoto, integrada ao ecossistema de iluminação Hue e conectividade Zigbee.

### [Tuya Smart Switch](https://www.tuya.com/)
<figure style="text-align: center;">
  <img src="https://ae01.alicdn.com/kf/Sa64cde6dc7d2454f92465667765c631a5.jpg" width="500" alt="Tuya Smart Switch">
</figure>

Switch inteligente similar ao Sonoff, com controle via Wi-Fi, suporte a automação e compatibilidade com diversas plataformas IoT.


## Referências Bibliográficas

1. Sonoff Basic R4 User Manual. Disponível em: [https://sonoff.tech/wp-content/uploads/2023/12/BASICR4-user-manual-EN.pdf](https://sonoff.tech/wp-content/uploads/2023/12/BASICR4-user-manual-EN.pdf).

2. ESP32-C3 Series Datasheet. Espressif Systems. Disponível em: [https://www.espressif.com/en/products/socs/esp32-c3](https://www.espressif.com/en/products/socs/esp32-c3).

3. Espressif ESP-IDF Documentation. FreeRTOS Overview. Disponível em: [https://www.freertos.org/](https://www.freertos.org/).

4. Automation Baldacchino. Flashing Tasmota on a Sonoff Basic R4. Disponível em: [https://automation.baldacchino.net/flashing-tasmota-on-a-sonoff-basic-r4-connecting-to-home-assistant/](https://automation.baldacchino.net/flashing-tasmota-on-a-sonoff-basic-r4-connecting-to-home-assistant/).

5. Sonoff Basic R4 Presentation Page. Disponível em: [https://sonoff.tech/product/diy-smart-switches/basicr4/](https://sonoff.tech/product/diy-smart-switches/basicr4/).

6. Tasmota Documentation. Sonoff DIY. Disponível em: [https://tasmota.github.io/docs/Sonoff-DIY/](https://tasmota.github.io/docs/Sonoff-DIY/).

7. eWeLink Official Page. Disponível em: [https://www.ewelink.cc/en/](https://www.ewelink.cc/en/).

8. Artigo acadêmico: "IoT enabled Smart Switch With User-Friendly Electrical Interfacing". Disponível em: [https://ieeexplore.ieee.org/iel7/9761170/9761283/09761327.pdf](https://ieeexplore.ieee.org/iel7/9761170/9761283/09761327.pdf).

9. Artigo acadêmico: "Design and Implementation of ESP32‐Based IoT Devices". Disponível em: [https://www.mdpi.com/1424-8220/23/15/6739/pdf-vor](https://www.mdpi.com/1424-8220/23/15/6739/pdf-vor).

10. Artigo acadêmico: "Design of an ESP32-Based IoT Smart Home Automation Management System". Disponível em: [https://www.academia.edu/download/117493752/GJRECS4410226.pdf](https://www.academia.edu/download/117493752/GJRECS4410226.pdf).

11. Shelly 1 Product Page. Disponível em: [https://shelly.cloud/products/shelly-1-smart-home-automation-relay/](https://shelly.cloud/products/shelly-1-smart-home-automation-relay/).

12. Philips Hue Smart Plug Product Page. Disponível em: [https://www.philips-hue.com/](https://www.philips-hue.com/).

13. Tuya Smart Switch Product Page. Disponível em: [https://www.tuya.com/](https://www.tuya.com/).

