Índice:
- Suprimentos
- Etapa 1: Como funciona?
- Etapa 2: Quais são as funções principais?
- Etapa 3: construção do material
- Etapa 4: vamos começar com o eletrônico na placa de ensaio
- Etapa 5: vamos ao software
- Etapa 6: vamos fazer a configuração
- Etapa 7: vamos fazer o lado do Arduino
- Etapa 8: vamos fazer o lado do servidor
- Etapa 9: É hora de soldar
- Etapa 10: Vamos fazer o teste final
- Etapa 11: Você pode adaptar este design aos seus próprios requisitos
2024 Autor: John Day | [email protected]. Última modificação: 2024-01-30 11:35
Como tantas pessoas, você acha que o Arduino é uma solução muito boa para automação residencial e robótica
Mas em termos de comunicação, os Arduinos só vêm com links seriais.
Estou trabalhando em um robô que precisa estar permanentemente conectado a um servidor que executa código de inteligência artificial. Tentei usar a rede RF como costumo fazer para domótica, mas não é eficiente o suficiente. Conforme o robô se move, não consigo usar o Ethernet Arduino Shield. Arduino Wifi Shield são caros e me parecem ter um design antigo.
Eu precisava de algo que pudesse trocar dados de uma forma muito simples e eficiente com um servidor.
É por isso que decidi projetar um gateway baseado no microcontrolador ESP8266 muito barato e com baixo consumo de energia
Aqui você pode descobrir como construir o componente eletrônico e fazer o download do software.
Usei este portal para automação residencial e para robótica.
Isso faz parte de uma infraestrutura de automação residencial global que você pode conferir aqui
Eu fiz outro instrutível que usa uma blindagem ESP8266 e evita a soldagem
Suprimentos
Eu escrevi outro instrutível sobre este tópico
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.
É mais fácil de usar com o Arduino Mega que tem mais de um UART (Arduino Mega, por exemplo), mas também pode ser executado com um UNO.
Etapa 2: Quais são as funções principais?
Em geral, é uma caixa preta que converte e envia dados seriais para o pacote UDP de ambas as maneiras.
Possui 3 LEDs que indicam o status e tráfego do Gateway.
Ele fornece um GPIO que pode ser usado pelo Arduino para esperar que o Gateway seja conectado por WIFI e IP.
Ele é executado em 3 modos diferentes que são configurados com interruptores:
- Modo de gateway que é o modo normal
- Modo de configuração usado para definir os parâmetros
- Modo de depuração que é para o modo de depuração
A maioria dos parâmetros pode ser modificada para atender às suas necessidades.
Etapa 3: construção do material
Além do seu Arduino, você precisará
- 1 x módulo ESP8266 - escolhi o MOD-WIFI-ESP8266-DEV da Olimex que custa cerca de 5 euros e é bastante fácil de usar.
- Fonte de alimentação 1 x 5v
- 1 x regulador de energia de 3,3 V - eu uso LM1086
- 1 x 100 capacitor microfarad
- 1 módulo APG ULN2803 (pode ser substituído por 3 transistores)
- 8 x resistores (3 x 1K, 1 x 2K, 1 x 2,7k, 1x 3,3K, 1x 27K, 1x 33k)
- 3 x LED (vermelho, verde, azul)
- 1 x placa de ensaio PCB
- alguns fios e conectores
Apenas durante as etapas de construção, você precisará
- 1 x FTDI 3.3v para a configuração
- Ferro de soldar e lata
Antes de soldar é importante configurar todos os componentes na placa de ensaio e verificar se está tudo ok.
Etapa 4: vamos começar com o eletrônico na placa de ensaio
O layout eletrônico está disponível no formato Fritzing
Você pode baixá-lo aqui na etapa 1:
github.com/cuillerj/Esp8266IPSerialGateway/blob/master/GatewayElectronicStep1.fzz
Basta fazer o esquema, tomando cuidado com a voltagem.
Lembre-se de que ESP8266 não oferece suporte a voltagem superior a 3,3v. O FTDI deve ser definido como 3,3v.
Etapa 5: vamos ao software
Vamos começar com o lado do Gateway
Eu escrevi o código com o Arduino IDE. Portanto, você precisa que o ESP8266 seja conhecido como placa pelo IDE. Selecione a placa apropriada com o menu Ferramentas / placas.
Se você não encontrar nenhum ESP266 na lista, isso significa que pode ser necessário instalar o ESP8266 Arduino Addon (você pode encontrar aqui o procedimento).
Todo o código de que você precisa está disponível no GitHub. É hora de fazer o download!
O código principal do Gateway está lá:
No topo do Arduino padrão e ESP8266 inclui o código principal necessário, estes 2 incluem: LookFoString que é usado para manipular strings e está lá:
ManageParamEeprom que é usado para ler e armazenar parâmetros em Eeprom ans está lá:
Depois de obter todo o código, é hora de enviá-lo para o ESP8266. Primeiro, conecte o FTDI a uma porta USB do seu computador.
Eu sugiro que você verifique a conexão antes de tentar fazer o upload.
- Defina o monitor serial Arduino para a nova porta USB.
- Defina a velocidade para 115200 ambos cr nl (velocidade padrão para Olimex)
- Ligue a placa de ensaio (ESP8266 vem com software que lida com comandos AT)
- Envie "AT" com a ferramenta serial.
- Você deve obter "OK" em troca.
Se não, verifique sua conexão e observe as especificações do ESP8266.
Se você recebeu "OK", está pronto para fazer o upload do código
- Desligue o breadboard, aguarde alguns segundos,
- pressione o micro-interruptor preto do ESP8266. É normal obter algum lixo no monitor serial.
- Pressione no IDE de upload como se fosse um Arduino.
- Após a conclusão do upload, defina a velocidade serial para 38400.
Você verá algo como na foto.
Parabéns, você carregou o código com sucesso!
Etapa 6: vamos fazer a configuração
O configGPIO deve ser definido como 1 para entrar no modo de configuração
Em primeiro lugar, faça a varredura do WIFI digitando o comando: ScanWifi. Você verá uma lista da rede detectada.
- Em seguida, defina seu SSID digitando "SSID1 = sua rede"
- Em seguida, defina sua senha digitando "PSW1 = sua senha"
- Em seguida, digite "SSID = 1" para definir a rede atual
- Digite "Reiniciar" para conectar o Gateway ao seu WIFI.
- Você pode verificar se obteve um IP inserindo "ShowWifi".
- O LED azul ficará aceso e o LED vermelho piscando.
É 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"
A última etapa necessária é definir a porta de escuta do servidor UDP digitando "listenPort = xxxx".
Digite "ShowEeprom" para verificar o que você acabou de armazenar no Eeprom
Agora conecte o GPIO2 ao aterramento para sair do modo de configuração
Seu Gateway está pronto para funcionar
Existem alguns outros comandos que você pode encontrar na documentação.
Etapa 7: vamos fazer o lado do Arduino
Em primeiro lugar, conecte o Arduino
Se você tiver um Mega, será mais fácil começar. No entanto, você pode usar um Uno.
Para verificar o seu trabalho o melhor é usar o exemplo.
Você pode baixá-lo aqui:
Inclui o código SerialNetwork que está aqui:
Basta fazer o upload do código dentro do seu Arduino.
O LED verde pisca sempre que o Arduino envia dados.
Etapa 8: vamos fazer o lado do servidor
O exemplo de servidor é um programa Java que você pode baixar aqui:
Apenas execute
Olhe para o console Java.
Olhe para o monitor do Arduino.
O Arduino envia 2 pacotes diferentes.
- O primeiro contém o status dos pinos digitais 2 a 6.
- O segundo contém 2 valores aleatórios, o nível de tensão de A0 em mV e a contagem incremental.
O programa Java
- imprimir os dados recebidos em formato hexadecimal
- responder ao primeiro tipo de dados com um valor aleatório liga / desliga para ligar / desligar o LED do Arduino
- responda ao segundo tipo de dados com a contagem recebida e um valor aleatório.
Etapa 9: É hora de soldar
Funciona na placa de ensaio!
É hora de torná-lo mais robusto soldando peças em um PCB
Além do que você fez com a placa de ensaio, você deve adicionar 3 conectores.
- C1 1 x pino um que será usado para entrar no modo de rastreamento de rede.
- C2 3 x pinos um que será usado para alternar entre o modo de execução e o modo de configuração.
- C3 6 x pinos um que será usado para conectar o Gateway a um Arduino ou FTDI.
C1 conectado ao GPIO2 deve ser aterrado manualmente se você quiser ativar os rastreamentos de rede.
C2 conectado ao GPIO 4 pode ser definido em 2 posições diferentes. Um que foi definido para aterrar para o modo de operação normal e outro definido para 3,3 V para entrar no modo de configuração.
Defina todos os componentes no PCB de acordo com o diagrama e depois comece a soldar para obter o produto final!
Etapa 10: Vamos fazer o teste final
Inicie o programa de teste Java.
Conecte o Arduino.
Ligue o Gateway.
E olhe para o console Java, o monitor do Arduino, o LED do Arduino e os LEDs do gateway.
Etapa 11: Você pode adaptar este design aos seus próprios requisitos
Em relação ao hardware
- Se você escolher outro ESP8266, terá que se ajustar às especificações.
- Se você escolher outro regulador de 3,3 V, ele deve fornecer mais de 500 mA e você terá que adaptar o capacitor.
- Você pode modificar os resistores de LED para ajustar o brilho.
- Você pode suprimir todos os LEDs, mas recomendo manter pelo menos o vermelho aceso.
- Você pode substituir o ULN2803 por 3 transistores (ou menos se você optar por não manter os 3 LEDs).
- Fiz o teste, mas deve funcionar com placas Arduino 3.3v. Basta conectar o Tx Rx ao conector de 3,3v.
Em relação à configuração
- Você pode armazenar 2 SSIDs diferentes e trocar
- Você pode modificar o GPIO usado
Em relação ao software
Recomendado:
Faça seu próprio sistema fotovoltaico fora da rede: 4 etapas (com fotos)
Faça seu próprio sistema fotovoltaico fora da rede: Neste projeto, vou mostrar como combinei um painel solar de 100W, uma bateria de 12V 100Ah, um controlador de carga solar, um inversor e muitos componentes complementares para reconstruir a fiação elétrica dentro da minha garagem e criar uma fotovoltaica fora da rede
Como fazer seu próprio console de jogo: 6 etapas (com imagens)
Como fazer seu próprio console de videogame: Você já quis fazer seu próprio console de videogame? Um console que é barato, pequeno, poderoso e cabe perfeitamente no seu bolso? Então, neste projeto, vou mostrar a vocês como fazer um console de jogo usando um Raspberry Pi. Mas o que é um Raspberry
Como fazer seu próprio carregador de carro USB para qualquer iPod ou outros dispositivos que carreguem via USB: 10 etapas (com fotos)
Como fazer seu próprio carregador USB para carro para qualquer iPod ou outros dispositivos que carreguem via USB: Crie um carregador USB para carro para qualquer iPod ou outro dispositivo que carregue via USB juntando um adaptador para carro que produza 5v e um plugue USB fêmea. A parte mais importante deste projeto é ter certeza de que a saída do seu adaptador de carro escolhido é apostada
Techduino -- Como fazer seu próprio Arduino Uno R3 caseiro --: 9 etapas (com imagens)
Techduino || Como fazer seu próprio Arduino Uno R3 caseiro ||: Se você for como eu, depois que peguei meu Arduino e executei uma programação final em meu primeiro chip, queria retirá-lo de meu Arduino Uno R3 e colocá-lo no meu próprio circuito. Isso também liberaria meu Arduino para projetos futuros. Depois de ler muitos
Como retransmitir WIFI como sua própria rede, DO SEU LAPTOP !: 4 etapas
Como retransmitir WIFI como sua própria rede, DE SEU LAPTOP !: Neste instrutível, mostrarei como retransmitir WIFI de seu laptop como sua própria rede protegida por senha. Você vai precisar de um laptop com Windows 7, pois o software requer alguns dos avanços que o Windows 7 faz, e usar um laptop mais recente b