Índice:

Comunicação do Arduino para o Laravel: 4 etapas
Comunicação do Arduino para o Laravel: 4 etapas

Vídeo: Comunicação do Arduino para o Laravel: 4 etapas

Vídeo: Comunicação do Arduino para o Laravel: 4 etapas
Vídeo: Arduino to Laravel Communication - Send data from NodeMCU to Laravel 2024, Julho
Anonim
Image
Image
Comunicação Arduino para Laravel
Comunicação Arduino para Laravel

Olá a todos, Neste Instructable, vou mostrar como você pode enviar dados de um Arduino para um aplicativo Laravel.

Etapa 1: Introdução

Introdução
Introdução
Introdução
Introdução

Sempre que temos um projeto que requer alguma exibição e registro de dados, normalmente é necessário que tenhamos os dados disponíveis na web. Dessa forma, podemos monitorar o estado de um objeto remotamente ou mesmo controlar nossos dispositivos de qualquer lugar do mundo.

Para este projeto, usaremos uma placa NodeMCU v1.0 que possui um módulo ESP8266 12e a bordo. Além disso, precisaremos usar um computador onde possamos hospedar nosso aplicativo Laravel. Se você quiser saber como configurar esse ambiente, dê uma olhada no meu vídeo sobre isso.

Etapa 2: Prepare o aplicativo Laravel

Prepare o aplicativo Laravel
Prepare o aplicativo Laravel
Prepare o aplicativo Laravel
Prepare o aplicativo Laravel

Nosso primeiro passo é instalar o Laravel através do Composer. Não vou entrar em detalhes sobre como você pode fazer isso, pois a documentação explica em detalhes e você pode encontrá-lo aqui.

Para manter esta demonstração simples, dentro do Laravel iremos registrar as informações enviadas do Arduino para um arquivo de texto para que possamos revisá-las posteriormente. Para isso, vamos primeiro criar uma nova rota POST no arquivo "api.php". No retorno de chamada, injetaremos os detalhes da solicitação para que possamos recuperar posteriormente os parâmetros que estão sendo enviados.

Para escrever em um arquivo, estou usando a fachada de armazenamento do Laravel com seu método append útil. Quando chamado, este método recebe um nome de arquivo e dados de string onde adiciona esses dados ao arquivo especificado. Se o arquivo não estiver presente, ele está sendo criado na primeira chamada.

Os dados que gravamos em cada linha consistem na data e hora atuais, seguidos dos valores de solicitação de temperatura e umidade. Se você tiver vários desses valores, poderá repetir o mesmo processo de recuperação para todos eles.

Etapa 3: preparar o Arduino Sender

Prepare o Arduino Sender
Prepare o Arduino Sender
Prepare o Arduino Sender
Prepare o Arduino Sender

Vejamos agora o código do Arduino e o envio de dados.

Para que a placa NodeMCU seja capaz de se conectar ao nosso WiFi e enviar uma solicitação, primeiro precisamos incluir várias bibliotecas no topo. Em seguida, precisamos especificar o SSID da rede à qual nos conectamos e sua senha. Se você estiver usando um Uno com um escudo Ethernet, seu processo será diferente.

Além disso, salvamos aqui a URL raiz do servidor Laravel que acabamos de criar. No meu caso, este é o endereço IP do meu computador local, mas você pode adicionar qualquer URL de host onde o código esteja acessível.

Na função de configuração, iniciamos a comunicação serial para que possamos monitorar o que está acontecendo. Além disso, precisamos configurar a placa NodeMCU para que ela possa se conectar corretamente ao WiFi. Feito isso, podemos iniciar a conexão e esperar até receber um endereço IP do roteador.

Para este exemplo, eu realmente não tenho nenhum sensor conectado à placa. Em vez disso, estou apenas gerando alguns dados aleatórios usando a função aleatória e estou enviando isso.

Esses dados precisam ser preparados na forma de uma string de consulta e depois que a solicitação HTTP é iniciada, precisamos enviá-los usando o método POST no cliente HTTP. O cabeçalho que adicionamos antes existe para permitir que o servidor saiba que há dados na solicitação que ele precisa coletar.

Como resultado, primeiro obtemos o código de status HTTP e, em seguida, a carga útil de resposta. Se tudo correr bem, devemos obter 200 como o código e, como não retornamos nada de nosso aplicativo Laravel, a carga útil estará vazia.

Se, por algum motivo, o código de status não for 200, a carga útil geralmente conterá a mensagem de erro sobre o que aconteceu.

No final, precisamos ter certeza de fechar a solicitação e esperar um certo tempo, 5 segundos em nosso exemplo para fazer o mesmo processo novamente.

O resultado é que obtemos esses valores salvos no arquivo de texto em cada iteração para que possamos mais tarde usar isso para exibi-los ou mapeá-los em um gráfico.

Etapa 4: etapas adicionais

Etapas adicionais
Etapas adicionais

Como você pode ver, o processo é bastante simples e pode ser facilmente expandido para ler os valores de diferentes sensores e talvez anotá-los em um banco de dados. O resultado do que você pode construir com isso é limitado apenas pela sua imaginação. Para ajudá-lo a começar, abaixo está um link para o código-fonte completo usado no exemplo.

github.com/bkolicoski/arduino-laravel-comm…

Espero que você tenha aprendido algo novo com este Instructable e, caso tenha aprendido, me avise nos comentários, siga-me no Instructables e não se esqueça de se inscrever no meu canal no YouTube.

Obrigado!

Recomendado: