Programando o ESP32 para receber comandos via serial
Para conectarmos o ESP32 com o ruby, primeiramente você tem que configurar sua IDE Arduino para o ESP32 e enviar o código do procotolo FirmataESP32 para a placa, assim ela irá receber comandos via serial. Para fazer isso, siga os passos:
Conecte o ESP32 no seu computador.
Abra a sua IDE Arduino.
Para usar e programar ESP32 na IDE do Arduino, precisamos primeiro que ele reconheça os modelos da placa.
Para isso, primeiramente devemos ir em Arquivo, ir até Preferências e colar a URL abaixo no campo de URLs adicionais:
https://dl.espressif.com/dl/package_esp32_index.json
Com isso, permitimos que a IDE acesse uma pequena “base de dados” no formato .json que contém a configuração de inúmeras placas.
Após isso, devemos acessar o menu Ferramentas -> Placa -> Gerenciador de Placas.
Nele, pesquise por esp32 na caixa de pesquisa. Em seguida, instale a versão mais recente do driver que irá aparecer: esp32 by Espressif Systems.
Feito isso, vá até Ferramente -> Placa selecione a placa “ESP32 Dev Module”, no menu de placas, para programar na ESP.
Baixe o protocolo StandardFirmataESP32 aqui.
Vá no diretório que você instalou a IDE Arduino e entre na pasta dela.
Vá em libraries -> Firmata -> examples
Dentro da pasta examples, extraia a pasta do StandardFirmataESP32 que você baixou.
Volte para IDE Arduino.
Selecione a porta em que a placa está na opção porta (geralmente ela é identificada como ttyUSB0).
Vá na opção Arquivos, selecione a opção Exemplos e vá até a opção StandardFirmataESP32.
Envie para a placa o código que foi gerado quando você clicou na opção.
Após realizar esses passos, a sua placa estará "escutando" comandos que serão enviados via serial, pois o código do StandardFirmataESP32 fica rodando na placa e permite que comandos via serial sejam passados e executados na placa.
Realizando a conexão do ruby e o ESP32
Monte esse circuito:
Abra o terminal e insira o comando: gort scan serial
Veja a porta que a placa está conectada (geralmente ela é identificada como ttyUSB0).
Abra o VS Code e crie um arquivo com o nome blink_led_esp32.rb, por exemplo.
Insira o seguinte código:
require 'rubygems'
require 'arduino_firmata'
arduino = ArduinoFirmata.connect "/dev/ttyUSB0"
#ACENDER E DESLIGAR O LED
arduino.pin_mode 10, ArduinoFirmata::OUTPUT
stat = true
loop do
puts stat
arduino.digital_write 10, stat
stat = !stat
sleep 1
end
Abra o terminal do VS Code e execute o código: ruby blink_led_esp32.rb
Veja o resultado.
Pronto! A conexão do ruby com o ESP32 através do framework foi realizada com sucesso. Agora você pode fazer diferentes circuitos e executar o código através do ruby. Para mais exemplos, vá até a aba Exemplos.