Índice:
2025 Autor: John Day | [email protected]. Última modificação: 2025-01-13 06:58
Este projeto descreve como configurar dois dispositivos Arduino / Genuino MKR1000 como servidor e cliente.
O cliente MKR1000 se conectará ao seu wi-fi local e ouvirá duas entradas fisicamente conectadas ao cliente; um de um botão e o outro de um sensor de vibração.
Ao detectar uma entrada, o MKR do cliente envia uma solicitação GET ao MKR do servidor. Ao receber uma solicitação GET, o servidor MKR é configurado para ligar / desligar o LED embutido (acionado pelo botão do cliente) e para aumentar e diminuir um LED conectado (acionado pelo sensor de vibração)
Etapa 1: Criação de um servidor no MKR
Configure o MKR e o breadboard como na imagem.
O LED vermelho é conectado por meio de um resistor de 1K Ohm ao pino 5. No MKR este é um pino digital com modulação por largura de pulso (PWM) que nos permite definir uma variável para o brilho do LED vermelho. O outro lado do LED está conectado ao aterramento.
O outro LED usado neste projeto é o integrado no MKR. Está marcado com "L" e é um LED verde posicionado próximo ao pino VCC.
Agora baixe (ou apenas copie) o código para o servidor MKR aqui:
github.com/TonyCanning/MKR1000-IoT - o nome do esboço do Arduino é "MKRServerLED.ino"
Edite-o para incluir suas credenciais de rede wi-fi e carregue-o no seu MKR1000.
Depois de carregado, abra seu monitor serial. (Veja a imagem para descrições de saída) Inicialmente, isso mostrará pouco mais do que o endereço IP do servidor. Anote esse endereço, pois você também precisará incluí-lo no código do cliente.
Neste ponto, o servidor está ativo - vamos configurar o outro MKR1000 como um cliente para este servidor. No entanto, por ser um servidor, você poderá se conectar a ele de qualquer dispositivo em sua rede, digitando o endereço https://192.168.*.* fornecido em qualquer navegador.
Experimente e observe que a página fornecida tem endereços clicáveis para alterar o status dos LEDs em seu servidor MKR10000. Observe também que os detalhes do monitor serial são atualizados para reconhecer essas solicitações GET recebidas pelo servidor.
Nota: existem bibliotecas que você pode precisar instalar, tenho quase certeza de que você terá que instalar a biblioteca Wifi101 no mínimo. Tendo consertado por um longo tempo, não tenho certeza do que você precisará ou não de uma nova instalação. Por favor, consulte a riqueza de informações disponíveis sobre a instalação de bibliotecas ou quaisquer outros problemas que você possa ter com conexão / upload, etc.
Etapa 2: Criação de um cliente para enviar solicitações ao servidor
Novamente, configure o breadboard conforme mostrado na imagem.
Neste caso, o botão está conectado ao pino 9 e o sensor de vibração está conectado ao pino 8. Os pinos bot são digitais, pois os estados de ambas as entradas são binários.
Depois de concluído, você pode baixar (ou copiar e colar) o código do cliente aqui:
github.com/TonyCanning/MKR1000-IoT - o nome do arquivo é "MKRClientGET.ino"
Neste ponto, recomendo desconectar o servidor MKR do seu PC, pois você não verá nenhuma diferença na nomenclatura ao selecionar a porta COM.
Edite o código para fornecer suas credenciais de rede wi-fi e o endereço IP do servidor MKR. Certifique-se de procurar cada instância de "192" e mude para o endereço IP do servidor. Faça upload do código para o cliente MKR e abra o monitor serial.
Veja a imagem da saída do monitor serial e tente apertar o botão e acionar o sensor de vibração.
Etapa 3: Teste
Você deve terminar….
Neste ponto, você pode fornecer energia para cada MKR1000 (como quiser). Dê a eles cerca de 10 segundos e tente acionar as entradas do cliente para ver as saídas no MKR do servidor.
Etapa 4: solução de problemas
Antes de entrar na solução de problemas - verifique o básico. Você está fornecendo energia para ambos os MKRs? Tem certeza de que o código do servidor está no MKR do servidor e o código do cliente para o MKR do cliente?
Possíveis problemas e soluções:
1. C: / Users / tony / Documents / Arduino / MKRClientGET / MKRClientGET.ino: 11: 18: erro fatal: 1234.h: Nenhum arquivo ou diretório #include
^
compilação terminada.
Este é um problema com uma biblioteca que você não instalou. Conforme observado nas etapas anteriores, há muitas informações sobre isso.
2. Servidor ou Cliente não conectando ao seu wi-fi; provavelmente você não forneceu suas credenciais de wi-fi.
3. Monitor serial do cliente mostrando mudanças de estado, mas nenhuma reação no servidor; provavelmente causado por não fornecer o endereço IP do servidor em seu código de cliente.
4. Botão não mostra mudança de estado no monitor serial; verifique seus contatos do breadboard.