Pular para o conteúdo principal

Seeed Studio XIAO MG24 Conectar HomeAssistant Com Matter

Introdução

Neste wiki, utilizaremos o Sonoff Zigbee 3.0 USB Dongle para acessar o HomeAssistant e, assim, atuar como um roteador de borda, enquanto o Seeed Studio XIAO MG24 atuará como um dispositivo de protocolo Matter com a rede Thread. Para sua conveniência, iremos guiá-lo através das três perguntas a seguir para se engajar melhor no processo. Agradecimentos ao autor @tutoduino pelas ideias deste WiKi

O que é Matter?

Matter (anteriormente CHIP) é um padrão universal de camada de aplicação desenvolvido pela Connectivity Standards Alliance (CSA).

  • Interoperabilidade entre diferentes fornecedores em redes IP (Wi-Fi/Ethernet/Thread)
  • Tipos de dispositivos padronizados (por exemplo, luzes, fechaduras de portas, termostatos)
  • Comissionamento seguro usando códigos QR/NFC
  • Criptografia de ponta a ponta com Distributed Compliance Ledger (DCL)

O que é OpenThread?

OpenThread é uma implementação de código aberto do protocolo de rede Thread. Ele cria redes mesh de baixa potência e seguras para dispositivos IoT usando a tecnologia de rádio IEEE 802.15.4. Principais recursos:

  • Suporte IPv6 integrado (6LoWPAN)
  • Topologia de rede auto-organizável
  • Criptografia AES-128 para todas as comunicações
  • Compatível com dispositivos tão pequenos quanto lâmpadas ou sensores

Qual é a relação entre Matter e Thread?

Agradecimentos ao autor@tutoduino por uma explicação muito detalhada deste ponto, aqui citada!

Após esta breve introdução ao Matter e ao Thread, você agora entende que Thread e Matter têm propósitos diferentes e operam em camadas diferentes da pilha de tecnologia. Para recapitular:

Thread:

  • Thread é um protocolo de rede mesh sem fio e de baixa potência projetado para dispositivos de casa conectada. Ele fornece uma forma confiável e segura para que os dispositivos se comuniquem entre si e com a internet.
  • Thread cria uma rede local que permite que os dispositivos conversem entre si mesmo se a internet cair.

Matter:

  • Matter é um protocolo de camada de aplicação que fica em cima de protocolos de rede como Thread, Wi-Fi e Ethernet. Ele tem como objetivo simplificar e unificar o ecossistema de casa inteligente, garantindo que dispositivos de diferentes fabricantes possam funcionar juntos de forma transparente.
  • Matter define como os dispositivos se comunicam e interagem no nível de aplicação, com foco em interoperabilidade, segurança e facilidade de uso.

Conexão entre Thread e Matter:

  • Matter pode usar Thread como um de seus protocolos de rede subjacentes. Isso significa que dispositivos usando o protocolo Matter podem se comunicar por meio de uma rede Thread.
  • A combinação de Matter e Thread permite um ecossistema de casa inteligente robusto, seguro e interoperável, no qual os dispositivos podem se comunicar localmente e de forma eficiente.

Visão Geral do Hardware

Home Assistant GreenSonoff Zigbee 3.0 USB Dongle Plus–ZBDongle-EXIAO MG24Grove - Temperature&Humidity Sensor (SHT31)Seeed Studio Grove Base for XIAO

Visão Geral do Software

Gravando o dongle Sonoff ZBDongle-E

O dongle Sonoff ZBDongle-E vem com firmware que permite apenas a comunicação com dispositivos Zigbee. Para habilitá-lo a funcionar com o protocolo de rádio Thread, você deve gravar um novo firmware. Você pode atualizar o firmware do dongle diretamente pelo navegador Chrome em https://darkxst.github.io/silabs-firmware-builder. Depois de inserir o dongle no seu computador, clique em "Connect" e selecione o firmware "OpenThread" para alterar o firmware.

Dispositivo Sensor de Temperatura e Umidade Matter

Se esta é a primeira vez que você usa o XIAO MG24 como um dispositivo Matter, você pode consultar este wiki sobre como configurá-lo.

  • Passo 1. Baixe a Library do Github.

  • Passo 2. Consulte How to install library para instalar a biblioteca para Arduino.

  • Passo 3. Reinicie a Arduino IDE. Abra um novo sketch e copie o código a seguir para o novo sketch.

#include <Matter.h>
#include <MatterTemperature.h>
#include <MatterHumidity.h>
#include "ArduinoLowPower.h"
#include "SHT31.h"
#include <Wire.h>


SHT31 sht31 = SHT31();

float humidity;
float temperature;

MatterHumidity matter_humidity_sensor;
MatterTemperature matter_temp_sensor;


void setup() {
Serial.begin(115200);
while(!Serial);
Serial.println("begin...");
sht31.begin();

float temperature = sht31.getTemperature();
float humidity = sht31.getHumidity();

Serial.printf("Temperature: %.02f\n", temperature);
Serial.printf("Humidity: %.02f\n", humidity);

Matter.begin();
matter_temp_sensor.begin();
matter_humidity_sensor.begin();
matter_temp_sensor.set_device_name("XIAO_MG24");
matter_temp_sensor.set_vendor_name("Seeed_Studio");
matter_temp_sensor.set_product_name("Matter_SHT31");

if (!Matter.isDeviceCommissioned()) {
Serial.println("Matter device is not commissioned");
Serial.println("Commission it to your Matter hub with the manual pairing code or QR code");
Serial.printf("Manual pairing code: %s\n", Matter.getManualPairingCode().c_str());
Serial.printf("QR code URL: %s\n", Matter.getOnboardingQRCodeUrl().c_str());
}
while (!Matter.isDeviceCommissioned()) {
delay(200);
}
Serial.println("Matter device is commissioned, waiting for Thread network...");
while (!Matter.isDeviceThreadConnected()) {
delay(200);
}
Serial.println("Device is connected to Thread network");
Serial.println("Waiting for Matter device discovery...");
while (!matter_temp_sensor.is_online() || !matter_humidity_sensor.is_online()) {
delay(200);
}
Serial.println("Matter device is now online");
}

void loop() {

delay(1000);

float temperature = sht31.getTemperature();
float humidity = sht31.getHumidity();

Serial.printf("Temperature: %.02f\n", temperature);
Serial.printf("Humidity: %.02f\n", humidity);

matter_temp_sensor.set_measured_value_celsius(temperature);
matter_humidity_sensor.set_measured_value(humidity);


LowPower.sleep(600000);
}

Configuração do HomeAssistant

Etapa 1. Add-on Store

Você precisa baixar dois plugins com base nas imagens。

Etapa 2. Configuração do Thread

Adicione o plugin OpenThread Border Router. Este plugin permite criar ou ingressar em uma rede Thread e transformar o Home Assistant em um Thread Border Router!

Selecione a rede correspondente na configuração do serviço Thread.

Configuração do Home Assistant no celular

Para adicionar um dispositivo Matter ao Home Assistant, você precisa instalar o aplicativo Home Assistant no seu smartphone. O smartphone atua como o “coordenador” do Matter, adicionando novos dispositivos à rede Matter e definindo configurações de segurança, enquanto o HomeAssistant Green atua como o controlador do Matter, gerenciando todos os dispositivos conectados à rede Matter.

Adicionando um dispositivo Matter

Para incorporar um novo dispositivo Matter ao seu sistema de automação residencial, escolha "Add Matter Device" e escaneie o código QR incluído com o dispositivo. Este tutorial demonstra como gerar o código QR usando o site CHIP, com base na URL fornecida pelo XIAO MG24 no Serial Monitor.

Painel do HA para ver temperatura e umidade

Depois que o código QR for adicionado com sucesso, podemos ver nosso sensor de temperatura e umidade no painel do HA!

Suporte Técnico e Discussão de Produtos

Obrigado por escolher nossos produtos! Estamos aqui para oferecer diferentes tipos de suporte para garantir que sua experiência com nossos produtos seja o mais tranquila possível. Oferecemos vários canais de comunicação para atender a diferentes preferências e necessidades.

Loading Comments...