aplicação para comunicar através de ip

Muito boa tarde, sou um novo utilizador aqui e estou a precisar seriamente de ajuda ou então de umas “luzes”.

Preciso fazer uma aplicação para comandar uma placa que esta ligada ao meu router de casa por cabo RJ45, poderiam-me dizer como e q faço isso?
A placa tem um software próprio dela em que indico o IP da mesma e consigo comunicar, e eu gostaria de fazer o mesmo.
Espero que me consigam ajudar.

Abraço Luis Abreu

Já tentou fazer uma comunicação simples via Socket? Se a ideia é mandar algo para a placa e/ou obter alguma resposta/resultado, talvez seja só o caso de interpretar o protocolo para comunicação com essa placa…

sim acabei agora de fazer isso com um socket simples so de envio de ficheiros, mas agora falta-me saber o q realmente e processado dentro da placa pois nao obtive nenhum resultado. Eu gostaria de saber que tipo de formato sao os ficheiros que a placa lê para assim começar a criar ficheiros e enviar via socket… Alguma ideia de como o fazer?

Que legal, você precisa consultar a documentação da placa agora. Sem a documentação não dá para fazer nada. Você nem disse que tipo de placa é essa.

Se a placa não tiver absolutamente nenhuma documentação nem você não achar nada na Internet (não se esqueça - se a placa tiver documentação em inglês, você provavelmente vai ter de procurar as coisas em inglês) então você pode pegar essa placa e usar como decoração high-tech (ou então, se você realmente for invocado, talvez possa conseguir puxar o programa interno da placa, disassemblá-lo e descobrir como é o tal formato do arquivo a ser enviado. )

Esta e uma placa que vai gerar uma mensagem em painel de LED’s.

Nao tenho qualquer tipo de material online nem a marca dela eu sei -.-’

Poderiam-me explicar como e que o " disassemblá-lo" se faz :slight_smile:

seria vc conseguir pegar algum código já compilado da placa e interpretá-lo, para então ver se tira alguma informação do protocolo que a placa necessita para comunicação

eu tenho a placa ligada via cabo de rede e um programa proprio dela em que indico o ip da placa e a porta e ele faz o resto. Como e que consigo interceptar o codigo compilado?

Estou deduzindo que a placa funciona com TCP/IP…
Nesse caso, você pode tentar “entender” o protocolo aplicando a técnica de sniffer…
Você pode utilizar o programa wireshark para isso.
então operando o programa da placa, você verá o que o programa envia para a placa e tenta fazer o mesmo!

Também existem aparelhos de sniffer físicos…

mas eu ja fiz um Sniffer e obtive codigo:

L …[.x…?°… ?Ê…\ùz.ßuW.ï.4…Øùz.?°… ?Ê.?°…?8Y.?°… ?Ê…?ùz.çÄ.wÊ…?°… ?Ê.?°…Í«ºÜ…Øùz.?°…÷D
LYESD
L …p…ÿÿÿÿÿÿÿÿ?Å.wAÆ.wZÃ^D…xøz.Øøz.ðùz.?b wyú?2þÿÿÿþÅ.w1…w…ï.4.Ê…?°… ?Ê…Øùz.Lùz.$ùz.XD
LYESD
L …
.
@D
LYESD
L …=ã?ð…I._D
LYESD
L …ó?ø…I…I…
ã?ð…D
LYESD
L …ó?ø…I…I…
ã?ð…D
LYESD
L …=ã?ð…I.bD
LYESD
L …ó?ø…I…I…
ã?ð…D
LYESD
L …ó?ø…I…I…
ã?ð…D
LYESD
L …p…ÿÿÿÿÿÿÿÿ?Å.wAÆ.wZÃ^D…xøz.Øøz.ðùz.?b wyú?2þÿÿÿþÅ.w1…w…ï.4.Ê…?°… ?Ê…Øùz.Lùz.$ùz.XD
LYESD

Isto quer dizer alguma coisa? -.-’

isto faz aparecer no placard de leds “teste” sem aspas

EDIT- não tinha visto que você tinha um programa especial que se ligava a esse equipamento.

Ta com cara de ter alguma codificação (que pode inclusive ser fechada)… tenta enxergar em hexadecimal ver se da para entender alguma coisa…

isso:
L …ó?ø…I…I… deve ser uma sequência de bytes para algum comando (veja que se repete)
isso:
ã?ð…D
Também deve significar alguma coisa…

Não vai ser facil não…

e como e que eu posso ver o q o programa envia para a placa e em que formato o faz? Preciso mesmo disto pois nao quero usar o programa de fabrica num projeto da escola.

na pasta onde instalei o programa tem 2 ficheiros .dll isso ajuda?

Acredito que a tal placa não tenha “inteligência” para entender uma palavra…

Provavelmente você deve ter de controlar cada um dos leds…

E essas partes que se repetem “pode ser”. que seja as letras TE…

Um teste que você pode fazer é:

  • Pegar esse valor capturado em hexadecimal
  • Enviar através de um programa que você criou os mesmos bytes

Caso consiga reproduzir a palavra teste, significa que a comunicação você conseguiu fazer… precisa então entender o significa disso…

[quote=lipxx]na pasta onde instalei o programa tem 2 ficheiros .dll isso ajuda?
[/quote]
Você pode tentar abrir com algum debug tipo ollydbg. Se conhecer assembly…

Hum… só com esse monte de pontinhos não dá para saber nada.

Você pode postar os tais bytes que o sniffer capturou em hexadecimal?

Uma coisa curiosa. - pode ser que a palavra “TESTE” não seja transmitida diretamente para o equipamento, apenas os bits que correspondem aos leds que serão acesos (de fato, eu não vi isso escrito no seu dump). Vou dar um exemplo bobo. Digamos que a palavra TESTE seja mostrada assim:

***** *****  ***  ***** *****
  *   *     *   *   *   *    
  *   *     *       *   *    
  *   ***    ***    *   ***   
  *   *         *   *   *     
  *   *     *   *   *   *     
  *   *****  ***    *   *****

Ele pode ter considerado que a primeira coluna (a parte esquerda da letra T) acendeu apenas 1 led, então ele é equivalente a 01000000 em binário (0x40 em hexadecimal), a segunda coluna é também 0x40, a terceira coluna é 01111111 em binário (0x7F em hexadecimal), e assim por diante.

esta a dizer, enviar aquele codigo via socket num ficheiro de texto?

E como e que posso enviar um exemplo de protocolo para a placa? por exemplo deixar tudo ligado ou tudo desligado

Você só vai conseguir fazer isso depois de entender como funciona…

Primeiro pegue o valor do sniffer em hexadecimal e faça um programa bobo… (não sei se vai usar Java, C ou outra coisa) que mande esses bytes para a placa.

Caso consiga reproduzir a palavra teste já é um começo…

Depois precisará tentar fazer mudanças na sequência dos bytes para tentar entender como funciona… Atenção aqui que algo errado pode até mesmo danificar a placa…

Só com o que você mandou não consegui deduzir o que o protocolo faz…