-
Um segundo recurso
importante no ESP32 é o Wi-Fi.
-
E o que será que ele pode
trazer de importante
-
em sistemas
de inteligência artificial?
-
Vamos descobrir.
-
O ESP32 só é compatível
com a frequência de 2.4 GHz,
-
Isso significa que os novos
roteadores
-
que liberam o sinal de 5 GHz
não vão comunicar com o ESP32,
-
fique atento a esse detalhe.
-
Portanto, se você for rotear
um ESP32 de verdade
-
usando um iPhone,
por exemplo,
-
não vai funcionar, porque
o iPhone libera apenas 5 GHz.
-
Os outros aparelhos Android sim,
esses são compatíveis com 2.4 GHz.
-
O ESP32 consegue
liberar sinal pelo Wi-Fi,
-
então você pode
fazer servidores,
-
você pode fazer dispositivos
que leem dados em uma agricultura
-
ou em uma área médica
e exportar esses dados
-
para um serviço web
que você esteja utilizando.
-
E, a partir daí,
-
você pode até aplicar
o modelo de machine learning
-
em cima desses dados
que o ESP está te trazendo.
-
Essa é a ideia principal que nós
estamos chegando aqui,
-
ao longo da nossa
jornada com o ESP32.
-
Pegar os dados coletados
no mundo real
-
e transformar isso
em treinamento
-
e, depois, teste dos modelos
de machine learning.
-
Vamos fazer um hands-on
onde eu mostro para você
-
uma conexão Wi-Fi
simulada dentro do Wokwi,
-
medindo um sinal dBm, que é o sinal
de intensidade do sinal Wi-Fi.
-
Aqui, eu tenho
a biblioteca "WiFi.h".
-
Essa biblioteca vem quando você
instala o ESP32 no seu Arduíno IDE.
-
Para efeito de simulação, o Wokwi
simula uma rede Wi-Fi de mentira,
-
ou seja, não existe
uma conexão Wi-Fi
-
com esse ESP aqui
nesse momento.
-
Mas o Wokwi criou uma rede
chamada Wokwi Guest,
-
onde nós vamos nos conectar,
não precisa de senha,
-
você pode até puxar na internet
uma documentação
-
sobre o Wi-Fi do ESP32, que ele vai
te informar justamente isso aqui
-
que eu estou
te falando agora.
-
Então, sem senha
e a rede é essa.
-
Dentro do void setup, eu
habilito a comunicação serial,
-
tem um delay aqui que não é o ideal
para práticas em produção,
-
mas vai esperar um segundo
para aparecer, aqui,
-
a mensagem de boas-vindas.
-
Eu posso tirar esse delay,
deixar ele comentado,
-
ou largar ele aqui,
fica a seu critério,
-
mas isso é para efeitos
de demonstração, tá, pessoal?
-
Na prática ou em produção
evitem de colocar delay.
-
Outra função muito
importante, o Wi-Fi.
-
E aí, tem um método
chamado "begin",
-
onde eu vou carregar o "ssid",
que está lá em cima,
-
e a senha que não
é nada, está vazia.
-
Aí, ele vai aguardar a conexão
da seguinte forma:
-
vai ter um "while"
que vai imprimir,
-
aí, aqui, não tem
muito jeito, gente,
-
como esse while é
para conectar no Wi-Fi,
-
você usa um delay e vai imprimindo
um ponto a cada meio segundo,
-
porque ele está
tentando conectar.
-
Se, na sua aplicação,
o Wi-Fi é essencial,
-
nesse caso, cabe um delay,
então ele é justificável,
-
porque, enquanto
eu não tiver Wi-Fi,
-
eu não tenho aplicação
nenhuma, então aqui cabe.
-
Depois que eu
fizer a conexão,
-
esse delay nunca mais
vai ser executado,
-
ainda mais por ele estar
também dentro do void setup
-
que só passa
aqui uma vez.
-
Feita a conexão, a conexão
está "WiFi.status",
-
o status é o método, assim
como o begin é um método,
-
eu perguntei aqui: bom, enquanto
ele não... esse "!=" é o não,
-
enquanto não conectado,
imprime o ponto.
-
Quando ele conectar
o estado desse teste,
-
o while deixa, ele satisfez
essa condição,
-
então ele deixa essa
impressão de pontos.
-
E aí, aparece para nós
"\nWiFi conectado!",
-
"Endereço IP:" e, aí, um outro
método aqui, olha,
-
o "localIP", o IP local,
que o Wi-Fi vai conectar.
-
Ele imprime isso para nós.
-
Depois disso, ele
cai no void loop,
-
aí, dentro do void loop, ele
declara uma variável "rssi",
-
você pode colocar o nome
que você quiser aqui,
-
só que, aqui, ele pega um outro
método, que é a força,
-
a potência do sinal em dBm.
-
E aí, ele imprime a mensagem,
o conteúdo de "rssi,"
-
e a unidade que é
dada em dBm.
-
De novo, ele espera
2 segundos aqui.
-
Não é uma boa prática, porém aqui
a gente não tem sensor envolvido,
-
então, para efeito
de demonstração,
-
nós vamos colocar
e não complicar o código.
-
Vamos dar um play
aqui, aí você vai ver
-
que vai aparecer um símbolo
do Wi-Fi aqui em cima,
-
depois que ele compilar,
e ele vai simulando para nós,
-
a cada 2 segundos,
uma leitura aleatória do dBm.
-
Lembrando que, nisso aqui,
nada está sendo real,
-
a não ser que você compre
um ESP32 no mercado
-
e faça testes na sua casa.
-
O código que está aqui
vai ser totalmente idêntico,
-
com exceção do ssid e da senha
que você vai colocar
-
aí da sua casa,
da sua rede LAN,
-
qual é o nome da rede
e qual a senha para acessar.
-
Olha só, então eu já conectei aqui,
ele imprimiu quatro pontinhos,
-
mais três aqui
na frente, sete,
-
aliás, minto, esses três
pontinhos iniciais aqui
-
eram da frase
de boas-vindas,
-
e os quatro pontinhos
vieram desse while aqui,
-
então ele rodou quatro
vezes, aqui, e conectou.
-
E aí, ele sugeriu para nós aqui
um IP aleatório, 10.10.0.2,
-
e, aqui, ele está dando
valores aleatórios do dBm.
-
Aqui em cima mostra para nós
a rede que ele está conectado
-
e se tiver o Wokwi pago,
se pagar a assinatura,
-
você tem condição de habilitar
um Wi-Fi externo
-
para você conectar, mas,
no momento, nós não faremos isso,
-
a FIAP não obriga ninguém
a ter a assinatura do Wokwi.
-
Pois bem, o que você está vendo
aqui é uma aplicação real do Wi-Fi
-
lendo a potência, essa potência
aqui é de mentirinha, não existe,
-
mas, se você estivesse
com ele aí, ao vivo e em cores,
-
você sim teria os dBms
lidos em volta dele.
-
Portanto, o que você acabou
de ver é uma aplicação real.
-
Eu sugiro que, com o passar
do tempo, a evolução do curso,
-
você adquira um ESP32
para fazer ensaios,
-
já que isso pode lhe servir
para o mercado de trabalho.
-
Alguns modelos ESP32 possuem
antena e isso é interessante,
-
porque em sinais, ou melhor,
-
em locais onde nós temos
sombras de sinais Wi-Fi
-
ou uma pouca cobertura,
-
favorece a conexão
e uma estabilidade maior.
-
Você pode usar esse algoritmo
que eu acabei de mostrar para você
-
para fazer um heatmap,
ou o famoso mapa de calor,
-
do Wi-Fi aí da sua casa,
-
se locomovendo entre
as várias partes
-
e identificando
pontos de sombra.
-
Com isso, você consegue
posicionar melhor o seu roteador
-
dentro da sua residência
ou da sua empresa.