Pular para o conteúdo principal

Primeiros Passos com o Módulo Wi-Fi HaLow para XIAO

Introdução

Este tutorial o guiará na configuração e uso do Módulo Wi-Fi HaLow Wio-WM6108 com um XIAO ESP32S3 para construir um cliente Wi-Fi HaLow. Wi-Fi HaLow (IEEE 802.11ah) é projetado para aplicações IoT de longo alcance e baixo consumo de energia, operando na faixa de frequência abaixo de 1 GHz. Iremos passar pela configuração de hardware, configuração de software e demonstrar como estabelecer conectividade Wi-Fi HaLow para seus projetos de IoT.

Principais Recursos

  • Conectividade Wi-Fi de longo alcance de até 1 km em linha de visada
  • Baixo consumo de energia, ideal para dispositivos IoT
  • Operação abaixo de 1 GHz para melhor penetração através de paredes e obstáculos
  • Compatível com a placa de desenvolvimento XIAO ESP32S3
  • Processo de configuração e ajuste fácil de seguir

Visão Geral de Hardware

A tabela a seguir descreve as principais especificações do Módulo Wi-Fi HaLow Wio-WM6108:

CaracterísticaValorUnidade
Tensão de Operação3.3V
Corrente de OperaçãoTBDmA
Protocolo Wi-FiIEEE 802.11ah-
Faixa de FrequênciaAbaixo de 1 GHz-
AlcanceAté 1km
InterfaceSPI-
DimensõesTBDmm

O que é Wi-Fi HaLow?

Wi-Fi HaLow é um protocolo de rede sem fio baseado no padrão IEEE 802.11ah, projetado especificamente para aplicações de Internet das Coisas (IoT). Operando na faixa de frequência abaixo de 1 GHz (tipicamente 900 MHz), o Wi-Fi HaLow oferece várias vantagens significativas em relação ao Wi-Fi tradicional:

  1. Alcance Estendido: o Wi-Fi HaLow pode alcançar distâncias de até 1 quilômetro em condições de linha de visada, superando em muito o alcance do Wi-Fi convencional.

  2. Melhor Penetração: os sinais de frequência mais baixa conseguem penetrar melhor através de paredes e outros obstáculos, tornando-o ideal para ambientes desafiadores.

  3. Baixo Consumo de Energia: projetado tendo em mente os dispositivos IoT, o Wi-Fi HaLow possibilita anos de vida útil de bateria para dispositivos conectados.

  4. Escalabilidade: suporta milhares de dispositivos conectados a um único ponto de acesso, perfeito para implantações IoT em grande escala.

  5. Segurança: herda os robustos recursos de segurança da família Wi-Fi, incluindo criptografia WPA3.

Por que o Wi-Fi HaLow é Importante

O Wi-Fi HaLow atende às crescentes necessidades das aplicações IoT que exigem conectividade de longo alcance, baixo consumo de energia e a capacidade de lidar com inúmeros dispositivos simultaneamente. Ele preenche a lacuna entre o Wi-Fi tradicional e as tecnologias LPWAN, oferecendo:

  • IoT Industrial: possibilita conectividade confiável em fábricas, armazéns e ambientes industriais.
  • Agricultura Inteligente: fornece cobertura em grandes áreas agrícolas para redes de sensores.
  • Cidades Inteligentes: suporta extensas redes de dispositivos conectados em ambientes urbanos.
  • Rastreamento de Ativos: permite o rastreamento de longo alcance de ativos e equipamentos valiosos.

Ao combinar a familiaridade do Wi-Fi com os benefícios de conectividade de longo alcance e baixo consumo de energia, o Wi-Fi HaLow está preparado para desempenhar um papel crucial na expansão das aplicações IoT em diversos setores.

Arquitetura de Sistema Wi-Fi HaLow

Uma rede Wi-Fi HaLow típica consiste em vários componentes-chave que trabalham juntos para possibilitar conectividade IoT de longo alcance e baixo consumo:

  1. Ponto de Acesso (AP): o hub central da rede Wi-Fi HaLow, responsável por gerenciar conexões e rotear dados entre os dispositivos e a internet.

  2. Estações (STA): os dispositivos clientes que se conectam ao Ponto de Acesso. Podem ser sensores, atuadores ou outros dispositivos IoT.

  3. Gateway: atua como uma ponte entre a rede Wi-Fi HaLow e outras redes (por exemplo, Ethernet ou celular).

Neste tutorial, vamos configurar o XIAO ESP32S3 como um cliente Estação (STA) que se conecta a um Ponto de Acesso Wi-Fi HaLow. O XIAO usará o módulo WM6108 para estabelecer e manter a conexão HaLow.

Framework MM-IoT-SDK

O módulo WM6108 utiliza o MM-IoT-SDK da MorseMicro, que fornece:

  • Suporte a múltiplos protocolos: permite integração perfeita com vários protocolos de IoT
  • Gerenciamento de baixo consumo: consumo de energia otimizado para dispositivos alimentados por bateria
  • Recursos de Segurança: mecanismos integrados de criptografia e autenticação
  • Configuração Fácil: API simplificada para configuração e gerenciamento de rede

A arquitetura do MM-IoT-SDK consiste em várias camadas:

  1. Camada de Abstração de Hardware (HAL): fornece uma interface unificada para diferentes plataformas de hardware
  2. Pilha de Rede: implementa a pilha de protocolo Wi-Fi HaLow
  3. Camada de Aplicação: oferece APIs para desenvolvimento de aplicações e gerenciamento de dispositivos

Esse framework permite que os desenvolvedores implementem rapidamente a funcionalidade Wi-Fi HaLow, mantendo flexibilidade para aplicações personalizadas.

Materiais Necessários

Aqui estão os materiais necessários para executar este tutorial.

XIAO ESP32S3 SenseMódulo Wi-Fi HaLow Wio-WM6108 para XIAO
nota

Este tutorial é aplicável apenas à série XIAO ESP32-S3. Usaremos o XIAO ESP32S3 Sense como exemplo neste tutorial.

Além do que foi mostrado acima, você talvez precise preparar antenas adicionais adequadas para uso com WiFi-Halow. Aqui estão os modelos de antena verificados e recomendados.

Kit de Antena Interna de Longo AlcanceAntena de Longo Alcance de 2,6 dBi

Para conectar a antena ao módulo WiFi-Halow, você também pode precisar comprar o Cabo de Antena SMA para I-PEX.

Cabo de Antena SMA para I-PEX

Se você estiver usando isso pela primeira vez, pode consultar o vídeo a seguir para a instalação da antena.

Instalar ESP-IDF v5.1.1

Antes de começarmos a programar, precisamos instalar o ESP-IDF v5.1.1 em seu computador. ESP-IDF é o framework oficial de desenvolvimento para os chips da série ESP32.

Etapa 1. Baixe o ESP-IDF Tools Installer para Windows

Baixe o ESP-IDF Tools Installer para Windows. Este instalador inclui todas as ferramentas necessárias para o desenvolvimento com ESP-IDF.

Etapa 2. Execute o instalador

  1. Execute o instalador baixado como administrador
  2. Siga as instruções para instalar Python, Git e outras ferramentas necessárias
  3. Quando solicitado, selecione as seguintes opções:
    • Instalar ESP-IDF v5.1.1
    • Instalar Python
    • Instalar Git
    • Adicionar ESP-IDF Tools ao Path

Etapa 3. Verifique a instalação

Abra um novo Prompt de Comando e execute:

esp-idf --version

Se a instalação foi bem-sucedida, você deverá ver o número de versão 5.1.1.

dica

Após a instalação, talvez seja necessário reiniciar o computador para garantir que todas as variáveis de ambiente sejam configuradas corretamente.

nota

Para instruções mais detalhadas sobre a instalação do ESP-IDF v5.1.1, você pode consultar a documentação oficial da Espressif:

Clonar e Configurar o Repositório mm-iot-esp32

Siga estas etapas para clonar o repositório mm-iot-esp32 e configurar as variáveis de ambiente:

Etapa 1. Clone o repositório

cd %USERPROFILE%
git clone https://github.com/Seeed-Studio/mm-iot-esp32.git

Etapa 2. Exporte as variáveis do IDF

cd %USERPROFILE%\mm-iot-esp32
export.bat

Etapa 3. Configure a variável de ambiente MMIOT_ROOT

Você pode definir isso permanentemente através das Propriedades do Sistema do Windows:

  1. Abra Propriedades do Sistema (Win + R, digite sysdm.cpl)
  2. Clique em "Environment Variables"
  3. Em "User variables", clique em "New"
  4. Nome da variável: MMIOT_ROOT
  5. Valor da variável: C:\Users\YourUsername\mm-iot-esp32 (substitua pelo seu caminho real)
  6. Clique em "OK" para salvar

Como alternativa, você pode defini-la temporariamente no Prompt de Comando:

set MMIOT_ROOT=C:\Users\YourUsername\mm-iot-esp32
dica

Certifique-se de usar caminhos absolutos ao definir a variável de ambiente MMIOT_ROOT. Caminhos relativos podem causar problemas ao compilar projetos.

nota

Após definir as variáveis de ambiente, talvez seja necessário fechar e reabrir o terminal para que as alterações tenham efeito.

Compilando o Firmware de Exemplo

O repositório mm-iot-esp32 inclui vários aplicativos de exemplo que demonstram diferentes funcionalidades. Veja como compilar e configurar esses exemplos:

Localização dos Aplicativos de Exemplo

Todos os aplicativos de exemplo podem ser encontrados no diretório examples do repositório. Os exemplos disponíveis incluem:

  • scan: exemplo de varredura de Wi-Fi
  • iperf: exemplo de servidor iperf
  • sta_reboot: exemplo de reinicialização de estação Wi-Fi
  • sta_connect: exemplo de conexão de estação Wi-Fi
  • web_camera_server: exemplo de servidor de câmera Web
  • E mais...

Configurar Credenciais de Rede

Antes de compilar o firmware, você precisa configurar as configurações de rede no arquivo de configuração do exemplo:

  1. Navegue até o diretório do exemplo escolhido:
cd $MMIOT_ROOT/examples/example_name
  1. Edite o arquivo de configuração:
# Open the configuration file
nano src/mm_app_loadconfig.c
  1. Neste arquivo, você pode modificar:
  • Código do país (deve ser definido como US, pois o produto está atualmente disponível apenas para a América do Norte)
  • Credenciais da rede Wi-Fi HaLow
  • Outros parâmetros relacionados à rede
cuidado

Observação Importante Sobre o Código do País:

  • O código do país deve ser definido como "US", pois este produto está atualmente disponível apenas para o mercado norte-americano
  • O produto ainda não está disponível em outras regiões devido a exigências regulatórias
  • Usar o produto em regiões fora da América do Norte pode violar regulamentações locais

Processo de Compilação

Após configurar as definições de rede, você pode compilar o firmware usando estes comandos:

idf.py set-target esp32s3
idf.py fullclean
idf.py build
nota
  • O comando idf.py set-target precisa ser executado apenas uma vez para cada exemplo
  • idf.py fullclean garante uma compilação limpa removendo todos os artefatos de compilação anteriores
  • Após a compilação bem-sucedida, o binário do firmware estará localizado no diretório build

Saída da Compilação

Após uma compilação bem-sucedida, você deverá ver uma saída semelhante a esta:

# Project build complete. To flash, run this command:
idf.py -p (PORT) flash

A seguir, demonstraremos alguns exemplos.

Exemplo 1. scan

Este exemplo demonstra como fazer a varredura de redes Wi-Fi HaLow disponíveis nas proximidades. Siga estas etapas para compilar e executar o exemplo de varredura:

Etapa 1: Navegar até o Exemplo Scan

cd ~/mm-iot-esp32/example/scan

Etapa 2: Configurar o Código do País

  1. Abra o arquivo de configuração:
nano main/src/mm_app_loadconfig.c
  1. Localize e modifique a linha do código do país:
#define COUNTRY_CODE "US"  // Must use "US" as the product is only available for North America

Etapa 3: Configuração de Hardware

  1. Conecte o módulo Wio-WM6108 Wi-Fi HaLow ao seu XIAO ESP32S3

  2. Conecte o XIAO ESP32S3 ao seu computador via USB

Etapa 4: Compilar e Gravar

Execute os seguintes comandos em sequência:

idf.py set-target esp32s3
idf.py fullclean
idf.py build
idf.py flash monitor

Etapa 5: Monitorar os Resultados

Se tudo estiver funcionando corretamente:

  • O monitor serial será iniciado automaticamente após a gravação
  • O programa começará a procurar redes Wi-Fi HaLow
  • Se houver qualquer gateway Wi-Fi HaLow ao alcance, suas informações serão exibidas no monitor serial

Exemplo de saída no monitor serial:

dica
  • Certifique-se de que haja gateways Wi-Fi HaLow nas proximidades para detectar redes
  • O processo de varredura é contínuo, então você verá atualizações periódicas das redes disponíveis
  • Pressione Ctrl+C para parar o monitor e sair do programa
nota

Se você não vir nenhuma rede:

  • Verifique se o seu gateway Wi-Fi HaLow está ligado e funcionando
  • Confira se você está dentro do alcance do gateway
  • Certifique-se de que o módulo esteja conectado corretamente ao seu XIAO ESP32S3

Exemplo 2. iperf

Este exemplo demonstra como testar o desempenho da rede da sua conexão Wi-Fi HaLow usando iPerf. Siga estas etapas para compilar e executar o exemplo iPerf:

Etapa 1: Navegar até o Exemplo iPerf

cd ~/mm-iot-esp32/example/iperf

Etapa 2: Configurar as Definições de Rede

  1. Abra o arquivo de configuração:
nano main/src/mm_app_loadconfig.c
  1. Modifique os seguintes parâmetros:
// Set country code (must be "US" for North America)
#define COUNTRY_CODE "US"

// Set your Wi-Fi HaLow network credentials
#define SSID Your_HaLow_SSID // Replace with your network name
#define SAE_PASSPHRASE Your_Password // Replace with your network password

Etapa 3: Configuração de Hardware

  1. Conecte o módulo Wio-WM6108 Wi-Fi HaLow ao seu XIAO ESP32S3
  2. Conecte o XIAO ESP32S3 ao seu computador via USB

Etapa 4: Compilar e Gravar

Execute os seguintes comandos em sequência:

idf.py set-target esp32s3
idf.py fullclean
idf.py build
idf.py flash monitor

Etapa 5: Executar o Teste de Desempenho

Quando o programa estiver em execução com sucesso, você verá o serviço iPerf iniciar. Agora você pode executar testes de desempenho a partir do seu gateway Wi‑Fi HaLow.

Para teste IPv4, execute este comando no seu gateway:

iperf -c <device_ip> -p <port> -i 1 -u -b 20M

Para teste IPv6, execute este comando no seu gateway:

iperf -c <device_ip>%wlan0 -p <port> -i 1 -V -u -b 20M

Explicação dos parâmetros:

  • -c: Executar em modo cliente
  • -p: Número da porta
  • -i: Intervalo de relatório (1 segundo)
  • -u: Usar protocolo UDP
  • -b: Largura de banda alvo (20 Mbps)
  • -V: Modo IPv6 (somente para teste IPv6)
dica
  • Certifique-se de que seu dispositivo se conectou com sucesso à rede Wi‑Fi HaLow antes de executar o teste de desempenho
  • O endereço IP do dispositivo será exibido no monitor serial após a conexão
  • Você pode ajustar a largura de banda (parâmetro -b) de acordo com suas necessidades de teste
nota

Problemas comuns e soluções:

  • Se a conexão falhar, verifique suas credenciais de rede
  • Se o serviço iPerf não iniciar, verifique as conexões de hardware
  • Se o desempenho estiver ruim, certifique‑se de que você está dentro de um bom alcance do gateway

Exemplo 3. web_camera_server

Este exemplo demonstra como transmitir o fluxo da câmera do XIAO ESP32S3 Sense pela rede Wi‑Fi HaLow. Siga estas etapas para compilar e executar o servidor de câmera web:

Etapa 1: Navegar até o Exemplo de Câmera Web

cd ~/mm-iot-esp32/example/web_camera_serve

Etapa 2: Configurar as Definições de Rede

  1. Abra o arquivo de configuração:
nano main/src/mm_app_loadconfig.c
  1. Modifique as credenciais do Wi‑Fi HaLow:
// Set your Wi-Fi HaLow network credentials
#define SSID Your_HaLow_SSID // Replace with your network name
#define SAE_PASSPHRASE Your_Password // Replace with your network password

Etapa 3: Configuração de Hardware

  1. Conecte o Módulo Wi‑Fi HaLow Wio‑WM6108 ao seu XIAO ESP32S3 Sense
  2. Certifique‑se de que o módulo de câmera do seu XIAO ESP32S3 Sense esteja adequadamente conectado
  3. Conecte o XIAO ESP32S3 Sense ao seu computador via USB

Etapa 4: Compilar e Gravar

Execute os seguintes comandos em sequência:

idf.py set-target esp32s3
idf.py fullclean
idf.py build
idf.py flash monitor

Etapa 5: Acessar o Fluxo da Câmera

Quando o programa estiver em execução com sucesso:

  1. Anote o endereço IP exibido no monitor serial
  2. Abra um navegador da web em qualquer dispositivo conectado à mesma rede que o seu gateway Wi‑Fi HaLow
  3. Digite o endereço IP na barra de endereços do navegador
  4. Agora você deverá ver o fluxo de vídeo ao vivo da câmera do seu XIAO ESP32S3 Sense

URL de exemplo:

http://192.168.4.1
dica

Para a melhor experiência de streaming:

  • Garanta boas condições de iluminação para melhor qualidade de imagem
  • Mantenha o XIAO ESP32S3 Sense dentro de um bom alcance do gateway Wi‑Fi HaLow
  • Use um navegador web moderno para compatibilidade ideal
nota

Solução de problemas:

  • Se você não conseguir acessar o fluxo da câmera, verifique se o seu dispositivo está na mesma rede que o gateway Wi‑Fi HaLow
  • Se a imagem não estiver aparecendo, verifique se o módulo de câmera está corretamente conectado
  • Se o fluxo estiver com atraso, tente se aproximar do gateway Wi‑Fi HaLow

Recursos

Suporte Técnico & Discussão de Produto

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

Loading Comments...