Índice:

Gerador de código ESP32 - Wifi, BLE, Bluetooth: 9 etapas
Gerador de código ESP32 - Wifi, BLE, Bluetooth: 9 etapas

Vídeo: Gerador de código ESP32 - Wifi, BLE, Bluetooth: 9 etapas

Vídeo: Gerador de código ESP32 - Wifi, BLE, Bluetooth: 9 etapas
Vídeo: Control 32 Servo over Wi-Fi using ESP32 and PCA9685 via desktop or mobile phone V5 2024, Novembro
Anonim
Gerador de código ESP32 - Wifi, BLE, Bluetooth
Gerador de código ESP32 - Wifi, BLE, Bluetooth

Introdução

ESP32 é um chip de processador duplo de baixo custo, com suporte para WiFi, Bluetooth Classic e BLE (Bluetooth Low Energy). Embora o chip já esteja disponível há vários anos, o suporte de código para Arduino ainda não está completo (em abril de 2018), mas este gerador de código instrutível preenche as funções BLE e analogWrite ausentes.

Dica: O ESP32 não possui uma função analogWrite 'Arduino padrão'. Porém este gerador de código, gera código que simula para você

Dica: A instalação do código ESP não inclui suporte BLE. A instalação descrita aqui inclui suporte BLE

Esta página da web cobrirá a configuração do Arduino IDE para programar o ESP32 para conexões BLE, Bluetooth ou WiFi. O pfodDesigner gera código para cada um desses tipos de conexão e também gera código para simular a função analogWrite ausente.

ESP32 é um chip de processador duplo de baixo custo, com suporte para WiFi, Bluetooth Classic e BLE (Bluetooth Low Energy). Embora o chip já tenha sido lançado há vários anos, o suporte de código para Arduino ainda não está completo (em abril de 2018), mas este tutorial e gerador de código preenche as funções BLE e analogWrite ausentes. Esta página da web cobrirá a configuração do Arduino IDE para programar o ESP32 para conexões BLE, Bluetooth ou WiFi. O pfodDesigner gera código para cada um desses tipos de conexão e também gera código para simular a função analogWrite ausente.

O complemento Arduino oferece suporte a cerca de 31 placas ESP32. Ao usar o pfodDesigner, você precisará escolher conexões de pinos que correspondam àquelas disponíveis em sua placa específica. O Sparkfun ESP32 Thing (ou Adafruit HUZZAH32 Feather) é usado aqui como a placa ESP32 de exemplo, mas você pode usar o código para qualquer uma das 31 placas ESP32 suportadas.

O aplicativo gratuito pfodDesignerV3 Android é usado para criar o menu de controle (WYSIWYG) e, em seguida, gerar o código para o ESP32, seja para uma conexão BLE, WiFi ou Bluetooth. Tendo programado sua placa ESP32, você pode usar o aplicativo pfodApp Android (pago) para se conectar ao seu ESP32 (via BLE ou WiFi ou Bluetooth) e exibir seu menu de controle e controlar seu ESP32. Se não quiser usar o pfodApp, você ainda pode usar o código gerado como base para suas próprias conexões WiFi, BLE (Nordic UART) ou Bluetooth, pois fornece uma interface de fluxo (impressão / leitura) para cada um desses tipos de conexão.

Etapa 1: Dica: Instalando o suporte do Arduino para o ESP32 com suporte BLE

Em abril de 2018, a instalação do suporte do Arduino ESP32 é mais envolvente do que para a maioria das outras placas e as bibliotecas de código fornecidas não estão completas. Você não pode usar o gerenciador da placa Arduino para instalar o suporte ESP32. Siga estas etapas para configurar o Arduino para a programação ESP32. Isso instalará o ESP32 e também o suporte BLE.

1 Encontre o caminho do seu diretório de localização do Arduino Sketchbook. Abra o IDE do Arduino e olhe em Arquivo-> Preferências e no topo da tela você verá a localização do Sketchbook.

2 Baixe este arquivo ESP32_hardware.zip e descompacte-o no local do Sketchbook. Ele cria um subdiretório de hardware lá. No caso improvável de você já ter um subdiretório de hardware no local do Sketchbook, mescle seu conteúdo com este.

3 Instale as ferramentas Xtensa e ESP32. Nota: este download e instalação leva algum tempo para processar cerca de 0,5 GB de arquivos. Vá para o diretório hardware / espressif / esp32 / tools e, em seguida, para máquinas com Windows, execute o arquivo get.exe. Para usuários de Mac e Linux, execute o script get.py python para baixar as ferramentas. Usando um terminal, navegue até a pasta hardware / espressif / esp32 / tools. Em seguida, digite: python get.py O script python “get.py” baixará as ferramentas Xtensa GNU e o kit de desenvolvimento de software ESP32 (SDK) e os descompactará no local apropriado.

Você deve ver algumas novas pastas no diretório “tools”, incluindo “sdk” e “xtensa-esp32-elf” assim que estiver pronto.

Quando isso estiver concluído, feche e abra novamente o IDE do Arduino e agora você deve ter uma longa lista de placas ESP32 para escolher no menu Ferramentas-> Placas. Escolha “SparkFun ESP32 Thing” (ou “Adafruit ESP32 Feather”)

Você pode então abrir a lista de exemplos de arquivos para ver uma série de arquivos de exemplo ESP32

O processo acima instala um instantâneo do código github para o suporte ESP32 e BLE, que foram mesclados em um único arquivo zip. O código gerado pelo pfodDesigner e os exemplos abaixo usam esta versão dessas bibliotecas. Se você quiser a versão mais recente, possivelmente com um conjunto diferente de recursos e bugs, baixe o zip da versão mais recente de https://github.com/espressif/arduino-esp32 e descompacte-o para hardware / espressif e renomeie o pasta esp32 e, em seguida, para o suporte BLE, baixe um zip da versão mais recente de https://github.com/espressif/arduino-esp32 e descompacte-o na pasta esp32 / libraries e renomeie-o ESP32_BLE_Arduino (se necessário).

Etapa 2: instalando as bibliotecas PfodParser para o ESP32

a) Em seguida, baixe a biblioteca pfodParser.zip V3.23 +, pfodDwgControls.zip e, para ESP32 WiFi, o pfodESP32BufferedClient.zip, arquivos zip para seu computador, mova-os para sua área de trabalho ou alguma outra pasta que você possa encontrar facilmente.

b) Em seguida, use a opção de menu do Arduino 1.8.2 IDE Sketch → Import Library → Add Library para instalá-los. (Se o Arduino não permitir a instalação porque a biblioteca já existe, localize e exclua as pastas mais antigas pfodParser, pfodCmdParser ou pfodCHAP etc e, em seguida, importe-as)

c) Pare e reinicie o IDE do Arduino e em Arquivo-> Exemplos você deve ver agora as bibliotecas pfodParser, pfodDwgControls e pfodESP32BufferedClient e vários exemplos.

Etapa 3: usando PfodDesignerV3 para ESP32

O aplicativo gratuito pfodDesignerV3 (V3291 +) suporta a geração de código para o chip ESP32 para se conectar via BLE, WiFi ou Bluetooth Classic ao pfodApp (pago).

Existem muitos tutoriais existentes sobre como criar controles para seu celular Android para controlar uma ampla gama de placas usando pfodDesignerV3. Com o pfodDesignerV3, você pode criar controles que ligam / desligam as saídas ou as impulsionam, controlam as saídas via PWM, exibem o estado de uma entrada ou valor analógico, registram e plotam dados e submenus e muito mais.

Dica: O suporte do ESP32 Arduino inclui suporte para cerca de 31 placas ESP32 diferentes. O pfodDesignerV3 dá acesso a todos os pinos de E / S do ESP32, mas nem todas as placas conectam todos os pinos do ESP32 aos pinos da placa. Verifique na documentação de sua placa quais pinos estão disponíveis e veja o arquivo pins_arduino.h no diretório hardware / espressif / esp32 / variantes de sua placa.

A lista de pinos pfodDesignerV3 inclui comentários sobre a disponibilidade e pinos de uso especial para as placas Sparkfun ESP32 Thing e Adafruit HUZZAH32 - ESP32 Feather.

Esses exemplos usam a placa Sparkfun ESP32 Thing e cria um controle deslizante para controlar o brilho do LED integrado conectado ao pino 5 do seu celular Android. Se você estiver usando a placa Adafruit HUZZAH32 - ESP32 Feather em vez disso, o Led integrado será conectado ao pino 13. O suporte para Arduino ESP32, instalado acima, não suporta analogWrite do Arduino diretamente. Em vez disso, o ESP32 tem 16 canais PWM que você pode controlar e conectar a qualquer uma das saídas. O pfodDesignerV3 gera todo o código necessário para alocar o canal e conectá-lo à saída escolhida. Instale o pfodDesignerV3 (V3291 +) gratuito do google play.

Etapa 4: gerador de código ESP32 BLE

Gerador de código ESP32 BLE
Gerador de código ESP32 BLE
Gerador de código ESP32 BLE
Gerador de código ESP32 BLE
Gerador de código ESP32 BLE
Gerador de código ESP32 BLE
Gerador de código ESP32 BLE
Gerador de código ESP32 BLE

Inicie um novo menu

Clique no botão Destino para alterar o dispositivo de destino.

O primeiro exemplo de destino será ESP32 BLE, então clique no botão Bluetooth Low Energy.

Selecione ESP32 conectado via BLE e pressione o botão Voltar do celular para voltar à tela principal.

Etapa 5: Projetando o Menu - o Prompt

Projetando o Menu - o Prompt
Projetando o Menu - o Prompt
Projetando o Menu - o Prompt
Projetando o Menu - o Prompt
Projetando o Menu - o Prompt
Projetando o Menu - o Prompt

Este exemplo simples terá apenas um prompt e um único controle. Clique no botão Editar prompt e, em seguida, no botão Editar texto do prompt para definir o texto do prompt.

Aqui, o prompt é definido como “ESP32 Led”. Clique no botão de seleção para salvar suas edições e retornar à tela anterior. Em seguida, clique em Definir cor de fundo para selecionar a cor geral do menu de controles.

Você pode selecionar cores diferentes para cada controle. Existem vários outros formatos disponíveis para o prompt. Aqui, o fundo é definido como Azul, o tamanho da fonte é +5 e o texto é Negrito. Uma prévia do prompt formatado é mostrada na parte inferior da tela Editing Prompt.

Passo 6: Projetando o Menu - Controle Led PWM

Projetando o Menu - Controle Led PWM
Projetando o Menu - Controle Led PWM
Projetando o Menu - Controle Led PWM
Projetando o Menu - Controle Led PWM
Projetando o Menu - Controle Led PWM
Projetando o Menu - Controle Led PWM
Projetando o Menu - Controle Led PWM
Projetando o Menu - Controle Led PWM

Use o botão Voltar do celular para retornar ao menu principal e clique em Adicionar Item de Menu para adicionar um controle ou item de exibição.

Selecione o item Saída PWM. Uma prévia do controle é mostrada na parte superior da tela.

Dica: O ESP32 não possui uma função analogWrite 'Arduino padrão'. Porém este gerador de código, gera código que simula para você

Clique no botão Editar texto inicial e altere “Configuração de PWM“para “Led“Observe o espaço à direita para separar o “Led“da indicação%.

Clique no botão de seleção para salvar sua edição e role para baixo até o botão “Não conectado a um pino de E / S”.

Clique nesse botão para exibir uma lista de pinos que podem ser usados como saídas.

Isso mostra os pinos de uso especial para as placas Sparkfun ESP32 Thing e Adafruit HUZZAH32 Feather. Selecione o pino 5 para que o controle deslizante controle o brilho do led integrado do Sparkfun ESP32 Thing. Se você estiver usando a placa Adafruit HUZZAH32 Feather, selecione o pino 13. Para outras placas, verifique a documentação das placas e o arquivo pins_arduino.h no diretório hardware / espressif / esp32 / variantes de sua placa

Então, quando você terminar de fazer qualquer outra configuração de formatação para este controle deslizante, use o botão Voltar do celular para voltar ao menu principal e clique no Menu de Visualização para ver como o menu final ficará em seu celular quando exibido por pfodApp. Os controles estão ativos para que você possa movê-los na visualização.

Etapa 7: gerar o código ESP32

Gere o código ESP32
Gere o código ESP32
Gere o código ESP32
Gere o código ESP32

Volte ao menu principal e role para baixo até o botão Gerar código.

Clique no botão Gerar código e, em seguida, clique no botão Gravar código no arquivo para gerar o código

Saia do pfodDesignerV3 e transfira o código em /pfodAppRawData/pfodDesignerV3.txt do seu celular para o computador. Consulte pfodAppForAndroidGettingStarted.pdf para saber como fazer isso. O aplicativo wi-fi file transfer pro da smarterDroid é uma forma de fazer a transferência.

Usando o botão "Alterar destino" na tela Gerar código, você pode alternar entre ESP32 via BLE, ESP32 via Bluetooth e ESP32 via WiFi

Etapa 8: executando os exemplos

Executando os exemplos
Executando os exemplos

Usando o botão "Alterar destino" na tela Gerar código, você pode alternar entre ESP32 via BLE, ESP32 via Bluetooth e ESP32 via WiFi

É assim que os três esboços de exemplo a seguir foram gerados a partir do design acima.

Executando o exemplo pfodESP32_BLE

Definir o destino como ESP32 via BLE gera o código em pfodESP32_LED_BLE.ino Este esboço também está disponível em Arquivo-> Exemplos-> pfodParser. Abra esse exemplo, então, depois de programar o Sparkfun ESP32 Thing (ou outra placa ESP32), você deve configurar uma conexão para ele no pfodApp (veja pfodAppForAndroidGettingStarted.pdf para os detalhes) e conectar e ser capaz de ajustar o brilho do placa conduzida.

DICA: ESP32 usa o mesmo endereço bluetooth para BLE e Bluetooth, então se você configurou anteriormente uma conexão ESP32 Bluetooth em pfodApp, você precisa excluir essa conexão pfodApp Bluetooth antes de configurar uma conexão BLE, uma vez que pfodApp filtra as conexões existentes (por endereço) da lista de exibição de dispositivos disponíveis. Também pode ser necessário abrir a configuração do seu celular e 'esquecer' a conexão ESP32 Bluetooth e, em seguida, desligar o Bluetooth do celular e reiniciar o telefone para limpar a pilha Bluetooth

DICA: A biblioteca ESP32_BLE_Arduino de Neil Kolban não é compatível com a biblioteca BLEPeripheral de Sandeep Mistry que é usada por alguns outros alvos BLE gerados por pfodDesigner. Portanto, você precisa remover o diretório BLEPeripheral, (se existir), de seu diretório Arduino / bibliotecas para compilar os esboços ESP32 BLE.

Executando o exemplo pfodESP32_Bluetooth

Definir o destino como ESP32 via Bluetooth gera o código em pfodESP32_LED_Bluetooth.ino Este esboço também está disponível em Arquivo-> Exemplos-> pfodParser. Abra esse exemplo e programe o Sparkfun ESP32 Thing (ou outra placa ESP32). Você precisa emparelhar o ESP32 com o seu telefone, sem a necessidade de um número PIN. Em seguida, configure uma conexão para ele no pfodApp (consulte pfodAppForAndroidGettingStarted.pdf para os detalhes) e conecte e seja capaz de ajustar o brilho do led da placa.

Executando o exemplo pfodESP32_WiFi

Definir o destino como ESP32 via WiFi gera o código em pfodESP32_LED_WiFi.ino. Este esboço também está disponível em Arquivo-> Exemplos-> pfodParser. Abra esse exemplo e insira o nome e a senha da sua rede e escolha um IP estático para este dispositivo. Então, depois de programar o Sparkfun ESP32 Thing (ou outra placa ESP32), você deve configurar uma conexão para ele no pfodApp (veja pfodAppForAndroidGettingStarted.pdf para os detalhes) e conectar e ser capaz de ajustar o brilho do led da placa.

Etapa 9: Segurança WiFi

Se estiver se conectando ao ESP32 pela Internet (via wi-fi), a segurança é importante. Você não quer que qualquer pessoa possa abrir a porta da sua garagem, por exemplo. O gerador de código e a biblioteca pfodParser suportam segurança de 128 bits. Essa segurança não criptografa as mensagens, mas adiciona um hash criptográfico a cada mensagem para proteger contra conexão e controle não autorizados. Consulte SipHash Secure Challenge and Response para obter detalhes sobre como essa segurança é implementada.

Adicionando segurança de 128 bits

Proteger-se contra usuários não autorizados acessando seu dispositivo pela internet é tão fácil quanto editar # define pfodSecurityCode "" para adicionar seu próprio código secreto. (até 32 dígitos hexadecimais)

Por exemplo, para definir um código de segurança de 173057F7A706AF9BBE65D51122A14CEE, você usaria # define pfodSecurityCode "173057F7A706AF9BBE65D51122A14CEE" Claro que você deve usar seu próprio código secreto. Definir seu próprio código em sua conexão pfodApp permite que você, e mais ninguém, se conecte.

Um código longo e aleatório é necessário para uma boa segurança. pfodApp suporta até 128 bits como 32 dígitos hexadecimais.

Para gerar seu próprio código secreto, você pode baixar um Gerador de Chave Secreta aleatório aqui. Gerador de Chave Secreta aqui. Além de gerar chaves aleatórias, este programa os grava como códigos QR para que você possa configurá-los de forma fácil e precisa em sua conexão pfodApp.

Você pode imprimir o código QR e anexá-lo ao seu pfodDevice. Em seguida, clique no botton Scan QR na tela de conexão WiFi do pfodApp para ler a senha.

Consulte A Simple WiFi / Arduino pfodDevice ™ com segurança de 128 bits para um exemplo detalhado de como usar o gerador de chave e o código QR.

Conclusão

Este tutorial mostrou como configurar o IDE do Arduino para programar o ESP32. Em seguida, ele usou o aplicativo gratuito pfodDesigner para projetar um menu para controlar o brilho do led integrado e código gerado para se conectar ao ESP32 via BLE, Bluetooth ou WiFi. Se você conectar através do app pfodApp apppfodApp, verá o menu que projetou e será capaz de controlar o brilho do led por meio de um controle deslizante. O pfodDesigner gera todo o código do Arduino, incluindo a simulação do analogWrite do Arduino. Nenhuma codificação Arduino foi necessária. O pfodApp cuida de todo o lado Android, sem necessidade de codificação Android.

Recomendado: