A primeira providência é fazer com que transmissor e receptor funcionem. Por incrível que pareça é aqui onde fracassa a maioria dos projetos desse tipo.
...
Pacotes e CRC não resolvem absolutamente nada se não forem corretamente recebidos ...
Com certeza, tudo que eu falei é baseado nisso, acho que estamos falando de camadas diferentes =)
Não há coisa melhor que o esquema de handshake que se pretende implementar, é o ideal. Não faz sentido implementar outros algoritmos de redundância e verificação quando isto é possível.
Concordo de novo, só sugeri um pacote maior caso ele pretenda expandir o sistema dele, no final das contas fica mais "fácil" controlar tudo.
A função detes pacotes seriam para o receptor não pegar interferência? de portões eletrônicos ou qualquer outro aparelho se comunicando nesta faixa?
Se a interferencia for na camada do Hardware, nada vai funcionar, nao tem pacote que faça milagre. Isso serve para você endereçar e organizar o que cada "ponto de acesso" vai fazer. Se você nao pretende expandir o seu sistema, só ligar um equipamento remoto, tá razoavel o que vc quer fazer.
Para eu trabalhar com pacotes, eu tenho que largar a int e criar. Ai eu ja preciso de velocidade, pois antes era só um byte sendo enviado...
Eu não lembro, mas seria por ex.:
char %12liga1#
não entendi o que seria o CRC.
CRC de modo simples, é o resultado de uns calculos feitos com os bytes enviados ou recebidos, o transmisor e o receptor fazem o calculo dos bytes recebidos/enviados e esse valor CRC tem que bater nos dois pontos. Se bater o pacote ta integro, se não, aconteceu algum problema na transmissão/recepção.
1 seria o transmissor e 2 o receptor.
liga, comando de ligar.
1, executa a função no rele 1.
Seria isto?
Basicamente é isso aí.
Geralmente quando faço um esquema desse de pacote eu crio um array de char, coisa do tipo:
char PACOTE[16];
Aí em cada posição você coloca cada byte do seu protocolo.