Boa noite pessoal, tudo bem. Estou com uma dificuldade e gostaria de saber se alguém pode me ajudar. Tenho dois hardware montado aqui, um contém um pro mini, um enc28j60 e seis leds.(que vou chamar de escravo) O outro um pro mini, um enc28j60 e um dip com 8 chaves(que vou chamar de mestre).

A lógica seria o mestre ler os estados da chave e enviar (em um loop) para o escravo que acende  ou apaga o led dependendo dos estados das chaves do mestre.

Fiz uma aplicação para desktop e com essa aplicação eu consigo ler as portas do mestre e também controlar os leds no escravo. Ou seja a comunicação socket está funcionado.

Mas o mestre não consegue comunicação direta com o escravo. Gostaria de saber se alguém pode me ajudar. Segue abaixo os códigos que estou usando.

Desde já muito obrigado a todos. fiquem com Deus.

Escravo: https://pastebin.com/M6cwWit3

Mestre:  https://pastebin.com/4k3P5d5j

(anexado os arquivos .ino também, st=mestre; ct=escravo)

Exibições: 87

Anexos

Responder esta

Respostas a este tópico

Boa tarde pessoal, consegui resolver o problema e fazer as duas placas conversarem. Fiz o seguinte:

1- Mudei o MAC ADRESS das placas que estavam iguais, depois disso elas conseguiam trocar informações apenas uma vez, no mais, eu deveria resetar fisicamente para conseguir receber dado uma unica vez novamente.

2- O problema de receber dados apenas uma vez foi sanado resolvendo o problema de reconexão. Toda vez que eu recebo algum dado eu, via código, encerro a conexão e a inicio novamente:

    udp.stop();    //restart with new connection to receive packets from other clients

    Serial.print("restart connection: "); 
    Serial.println (udp.begin(5000) ? "success" : "failed");
Acontece que minha conexão no setup eu iniciava na porta "4210" e quando reconectava estava entrando na porta 5000. Então troque 5000 por 4210.
3-Para finalizar, adicionei uma linha que eu não sei o que ela faz mas sem ela a conexão é mantida por apenas 30 segundos.
      free(msg);
Obrigado a todos. PS: atualizei os aquivos com os corrigidos.
   

RSS

Destaques

Registre-se no
Lab de Garagem
Clicando aqui

Convide um
amigo para fazer
parte

curso gratis de arduino

© 2019   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço