Índice:
- Suprimentos
- Etapa 1: Como funciona?
- Etapa 2: Quais são as funções principais?
- Etapa 3: construção do material
- Etapa 4: Baixe o código do gateway
- Etapa 5: vamos fazer a configuração do gateway
- Etapa 6: Baixe o exemplo de código do Arduino
- Etapa 7: vamos fazer o lado do servidor
- Etapa 8: para ir mais longe
Vídeo: Gateway UDP / IP serial para Arduino baseado no escudo ESP8266: 8 etapas
2024 Autor: John Day | [email protected]. Última modificação: 2024-01-30 11:36
Já publiquei em 2016 este instrutível "Como fazer seu próprio gateway Wifi para conectar seu Arduino à rede IP". Pois fiz algumas melhorias no código e ainda estou usando esta solução.
No entanto, agora existem alguns protetores ESP8266 que permitem fazer exatamente o mesmo sem soldar, desde que você não esteja usando placas Micro ou Nano.
Este instrutível explicará como usar esses escudos ESP82 como gateway UDP / IP serial.
Isso faz parte de uma infraestrutura de automação residencial global que você pode conferir aqui
Mais informações sobre o escudo com este instrutível
Suprimentos
1 Arduino Mega (o melhor é ter pelo menos 1 Mega para desenvolvimento e 1 Uno para a fase de execução)
1 Rokoo ESP8266 ESP-12E UART WIFI Convertisseur
1 FTDI 3.3v
2 fios da placa de ensaio
Etapa 1: Como funciona?
O Gateway é baseado em um módulo ESP8266
Este módulo é conectado de um lado com o link serial do outro lado para a rede IP com o Wifi.
Ele atua como uma caixa preta. Os pacotes de dados vindos do link serial são enviados para uma porta IP / Udp e vice-versa.
Você só precisa definir sua própria configuração (IP, WIFI …) assim que ligar o Gateway pela primeira vez.
Ele pode transferir dados ASCII brutos e binários (sem HTTP, JSON …)
Ele é projetado para conectar objetos com softwares caseiros de servidores que precisam de transferências rápidas e frequentes de pacotes curtos de dados.
Etapa 2: Quais são as funções principais?
Em geral, é uma caixa preta que converte dados seriais em pacote UDP de ambas as maneiras.
Mas o gateway também pode atuar por conta própria, enviando informações internas ao servidor e recebendo alguns comandos do servidor.
O Arduino pode enviar e receber mensagens para / de um servidor conectado pela Internet apenas imprimindo / lendo um link serial. O desenvolvedor do Arduino não precisa se preocupar com o protocolo IP.
Além disso, ele fornece um GPIO que pode ser usado pelo Arduino para verificar se o Gateway está conectado corretamente ao WIFI e o Gateway pode trocar automaticamente entre 2 SSID diferentes em caso de falha
O Gateway tem 2 modos de execução diferentes que são selecionados pela configuração de um GPIO
Configurando GPIO para aterrar e o Gateway entra no modo de configuração.
Configurando GPIO livre e o Gateway entra no modo de execução de gateway.
Além disso, a configuração UDP / IP do Gateway pode ser modificada remotamente
Etapa 3: construção do material
Muito poucas coisas são necessárias
1 ESP8266 Shield - Eu encontrei este Módulo de Placa Extend de Escudo WiFi Serial UNO R3 ESP8266 por menos de 9 €
1 UNO que é o alvo do Arduino
1 Mega que é a ferramenta de desenvolvimento arduino (você pode fazer sem, mas é bastante difícil de depurar)
1 FTDI 3.3 / 5v para desenvolvimento
Alguns fios
Etapa 4: Baixe o código do gateway
Durante esta etapa, o Arduino é usado apenas para alimentar (com USB ou outra fonte de alimentação) no escudo ESP8266
Conecte o ESP8266 GPIO4 ao aterramento (para entrar no modo de configuração)
Tome cuidado para definir o FTDI para 3,3 V conforme exigido pela blindagem
Conecte o FTDI à blindagem (RX para TX)
Defina o interruptor de proteção para 1: desligado 2: desligado 3: ligado 4: ligado
Conecte o lado USB do FTDI ao seu computador
Reinicie a blindagem com o botão ESP-RST
Baixe o código do gateway lá no GitHub
Abra o IDE Arduino
- Selecione a porta do monitor FTDI
- Abra o IDE Serial Monitor - defina a velocidade para 38400
- Selecione a placa do módulo ES8266 genérico
- Atualize o firmware do escudo com o código do gateway
Defina o interruptor 3: desligado 4: desligado
Abra o IDE Serial Monitor
Reinicie a blindagem com o botão ESP-RST
Você deve ver mensagens no monitor começando com "Inicialização EEPROM" "Inicialização concluída"….
É hora de fazer a configuração
Etapa 5: vamos fazer a configuração do gateway
Ao baixar o código do gateway pela primeira vez, o ESP8266 Eeprom será inicializado com os valores padrão. Você verá este tipo de mensagem "definir parâmetro: x tamanho: yy"
Você pode encontrar esses valores dentro da definição de código de paramValue. É claro que você pode alterar esses valores padrão antes de baixar o código, mas também pode definir sua configuração por comando mais tarde. Isso é melhor se você planeja ter um gateway multipe e manter apenas uma versão do código.
Use a porta serial do monitor para enviar o comando (defina como NL e CR).
Como o SSID não está definido atualmente, espere por "Não foi possível conectar-se ao seu segundo tentar novamente: 5"
Em seguida, uma varredura de WIFI será iniciada automaticamente
É hora de definir seus SSIDs com os seguintes comandos:
- SSID1 = sua escolha1
- PSW1 = yourpsw1
- SSID2 = sua escolha2
- PSW2 = yourpsw2
- SSID = 1 (para escolher com qual SSID começar)
- ReiniciarWifi
Após alguns segundos você pode verificar a conexão com o comando "ShowWifi". Você deve ver o endereço IP que o gateway obteve do seu servidor DNS. Se for o caso, é hora de ir mais longe
É hora de definir o endereço do servidor IP inserindo os 4 subendereços (servidor que executará o código de teste Java). Por exemplo:
- "IP1 = 192"
- "IP2 = 168"
- "IP3 = 1"
- "IP4 = 10"
Ao enviar um comando vazio, você verá todos os comandos suportados que poderá usar posteriormente para atender às suas necessidades. Todos os valores dos parâmetros são armazenados no Eeprom e precisam ser reiniciados para serem levados em consideração.
Remova o fio de configuração
O escudo agora está funcionando como um gateway
Etapa 6: Baixe o exemplo de código do Arduino
Primeiro baixe o código principal do Arduino lá no GitHub
Em seguida, baixe o código do Arduino, esta definição de comandos e este código de link serial em seu librairies
Em seguida, abra o código principal com um novo IDE Arduino
Desligue a chave de proteção 1 e 2 para liberar o link serial 0 do Arduino para conexão USB
Reinicie o escudo
Conecte os fios FTDI ao Mega Serial 2 (TX FTDI para RX Mega e assim por diante)
Inicie um novo IDE Arduino (ou uma ferramenta TTY), conecte o FTDI Usb e comece a monitorar o link serial
Faça upload do código do Arduino dentro do Mega
Defina a chave de proteção 1 e 2 para conectar o link serial 0 do Arduino
Reinicie o escudo
Você deve ver esta mensagem "start usb print" no monitor
Etapa 7: vamos fazer o lado do servidor
O exemplo de servidor é um programa Java que você pode baixar aqui no GitHub
Basta executá-lo e olhar para o console Java e olhar para o monitor FTDI
Você verá trocas de dados entre o servidor e o Arduino
Etapa 8: para ir mais longe
Este exemplo de código do Arduino é baseado em uma estrutura que faz parte da minha infraestrutura de automação residencial.
Se você está interessado nesta infraestrutura, me avise. Vou publicar fontes.
Se você deseja apenas usar o gateway, pode simplificar o código do Arduino.
Depois de desenvolver e testar seu código em um Arduino Mega, você pode substituí-lo facilmente por um Uno!
Além disso, você pode conectar um fio entre Arduino GPIO 7 e ESP8266 GPIO 5 se quiser que seu Arduino verifique a conexão Wifi
Recomendado:
Um escudo de WiFi ESP8266 mais barato para Arduino e outros micros: 6 etapas (com imagens)
Um ESP8266 WiFi Shield mais barato para Arduino e outros Micros: Atualização: 29 de outubro de 2020Testado com a biblioteca de placas ESP8266 V2.7.4 - atualização de trabalhos: 23 de setembro de 2016 Não use a biblioteca de placas Arduino ESP V2.3.0 para este projeto. Atualização de trabalho V2.2.0: 19 de maio de 2016 Rev 14 deste projeto revisa bibliotecas e código para funcionar com
Vocal GOBO - Escudo de Amortecimento de Som - Cabine Vocal - Caixa Vocal - Filtro de Reflexão - Escudo de Voz: 11 Passos
Vocal GOBO - Sound Dampener Shield - Vocal Booth - Vocal Box - Reflexion Filter - Vocalshield: Comecei a gravar mais vocais no meu home studio e queria obter um som melhor e depois de algumas pesquisas descobri o que é um " GOBO " era. Eu tinha visto essas coisas abafadoras de som, mas realmente não sabia o que elas faziam. Agora eu faço. Eu encontrei um y
Lora Gateway baseado em MicroPython ESP32: 10 etapas (com imagens)
Lora Gateway baseado em MicroPython ESP32: Lora se tornou muito popular nos últimos anos. O módulo de comunicação sem fio usando esta tecnologia é geralmente barato (usando espectro livre), pequeno em tamanho, eficiente em termos de energia e tem uma longa distância de comunicação, e é usado principalmente para comunicação mútua
Controle remoto IR baseado em Arduino automático baseado em temperatura: 7 etapas
Controle remoto IR baseado em Arduino automático baseado em temperatura: Ei, e aí, pessoal! Akarsh aqui da CETech. Cansado de acordar no meio de um sono profundo só porque a temperatura ambiente está muito baixa ou muito alta por causa do seu AC mudo. Então este projeto é para você. Neste projeto, vamos fazer o nosso
Termômetro infravermelho sem contato baseado em Arduino - Termômetro baseado em IR usando Arduino: 4 etapas
Termômetro infravermelho sem contato baseado em Arduino | Termômetro baseado em IR usando Arduino: Olá pessoal, neste instructables faremos um termômetro sem contato usando arduino. Já que às vezes a temperatura do líquido / sólido é muito alta ou muito baixa e então é difícil fazer contato com ele e ler sua temperatura então naquele cenário