aplicação para comunicar através de ip

44 respostas
L

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

44 Respostas

E

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…

L

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?

E

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. )

L

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:

E

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

L

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?

J

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…

L

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? -.-’

L

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

E

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

J

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…

L

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.

L

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

J

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…

J

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

Você pode tentar abrir com algum debug tipo ollydbg. Se conhecer assembly…

E

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.

L

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

L

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

J

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…

L

Um programa Bobo? como assim?

L

0000: 4C 20 00 03 01 01 01 01 00 00 5B 00 78 00 00 00 3F B0 00 L …[.x…?°.
0013: 00 00 00 00 00 20 88 DD 03 01 00 00 00 5C F9 7A 01 DF 75 … ?Ý…\ùz.ßu
0026: 57 00 EF 0F 20 00 00 00 00 00 D8 F9 7A 01 3F B0 00 00 20 W.ï. …Øùz.?°…
0039: 88 DD 03 3F B0 00 00 00 00 00 00 9E 38 59 00 3F B0 00 00 ?Ý.?°…?8Y.?°…
004C: 00 00 00 00 20 88 DD 03 00 00 00 00 88 F9 7A 01 E7 C4 A2 … ?Ý…?ùz.çÄ¢
005F: 76 E6 08 0B 00 3F B0 00 00 00 00 00 00 20 88 DD 03 3F B0 væ…?°… ?Ý.?°
0072: 00 00 CD AB BA DC 00 00 00 00 D8 F9 7A 01 3F B0 00 00 C7 …Í«ºÜ…Øùz.?°…Ç
0085: 44 D

0000: 4C 59 45 53 44 LYESD

0000: 4C 20 00 04 01 01 00 01 01 00 00 00 08 10 01 00 00 00 00 L …
0013: 00 70 00 00 00 FF FF FF FF FF FF FF FF 90 C5 A2 76 41 C6 .p…ÿÿÿÿÿÿÿÿ?Å¢vAÆ
0026: A2 76 84 40 30 B0 01 00 00 00 00 00 00 00 00 00 00 00 78 ¢v?@0°…x
0039: F8 7A 01 D8 F8 7A 01 F0 F9 7A 01 9B 62 A7 76 64 43 E8 C7 øz.Øøz.ðùz.?b§vdCèÇ
004C: FE FF FF FF FE C5 A2 76 31 1B A2 76 00 00 00 00 EF 0F 20 þÿÿÿþÅ¢v1.¢v…ï.
005F: 00 E6 08 0B 00 3F B0 00 00 00 00 00 00 20 88 DD 03 00 00 .æ…?°… ?Ý…
0072: 00 00 00 00 00 00 D8 F9 7A 01 4C F9 7A 01 24 F9 7A 01 58 …Øùz.Lùz.$ùz.X
0085: 44 D

0000: 4C 59 45 53 44 LYESD

0000: 4C 20 00 05 00 00 00 00 0A 00 10 00 10 00 00 00 00 00 00 L …
0013: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 …
0026: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 …
0039: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 …
004C: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 …
005F: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 …
0072: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 2A …*
0085: 44 D

0000: 4C 59 45 53 44 LYESD

0000: 4C 20 00 05 00 01 00 00 06 00 00 00 00 00 00 00 00 00 00 L …
0013: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 …
0026: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 …
0039: 00 3E 20 00 10 00 48 00 00 00 00 00 00 00 00 00 00 41 00 .> …H…A.
004C: 00 10 00 40 00 00 00 00 02 00 00 80 00 00 41 00 00 10 00 …@…?..A…
005F: 40 00 00 00 00 02 00 00 80 00 00 40 25 86 91 C0 49 61 C0 @…?..@%??ÀIaÀ
0072: 00 00 07 1C 45 C0 00 00 38 26 49 92 20 49 92 20 00 00 0F …EÀ…8&I? I? …
0085: 44 D

0000: 4C 59 45 53 44 LYESD

0000: 4C 20 00 05 00 01 01 00 06 00 02 22 28 80 00 00 06 24 48 L …"(?..$H
0013: 92 20 49 12 20 00 00 02 22 28 80 00 00 01 24 48 93 E0 49 ? I. …"(?..$H?àI
0026: 13 E0 00 00 02 3E 10 80 00 00 41 24 48 92 00 49 12 00 00 .à…>.?..A$H?.I…
0039: 00 02 20 28 80 00 00 41 24 49 92 20 49 12 20 00 00 02 22 … (?..A$I? I. …"
004C: 28 80 00 00 3E 24 46 91 C0 49 11 C0 00 00 03 1C 44 C0 00 (?..>$F?ÀI.À…DÀ.
005F: 00 00 00 00 80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 …?..
0072: 08 80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 07 00 8C .?..?
0085: 44 D

0000: 4C 59 45 53 44 LYESD

0000: 4C 20 00 05 00 01 02 00 06 00 00 00 00 00 00 00 00 00 00 L …
0013: 00 00 00 12 20 00 00 02 22 28 80 00 00 01 24 48 93 E0 49 … …"(?..$H?àI
0026: 13 E0 00 00 02 3E 10 80 00 00 41 24 48 92 00 49 12 00 00 .à…>.?..A$H?.I…
0039: 00 02 20 28 80 00 00 41 24 49 92 20 49 12 20 00 00 02 22 … (?..A$I? I. …"
004C: 28 80 00 00 3E 24 46 91 C0 49 11 C0 00 00 03 1C 44 C0 00 (?..>$F?ÀI.À…DÀ.
005F: 00 00 00 00 80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 …?..
0072: 08 80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 07 00 52 .?..R
0085: 44 D

0000: 4C 59 45 53 44 LYESD

0000: 4C 20 00 05 00 01 03 00 06 00 00 00 00 00 00 00 00 00 00 L …
0013: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 …
0026: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 …
0039: 00 3E 20 00 10 00 48 00 00 00 00 00 00 00 00 00 00 41 00 .> …H…A.
004C: 00 10 00 40 00 00 00 00 02 00 00 80 00 00 41 00 00 10 00 …@…?..A…
005F: 40 00 00 00 00 02 00 00 80 00 00 40 25 86 91 C0 49 61 C0 @…?..@%??ÀIaÀ
0072: 00 00 07 1C 45 C0 00 00 38 26 49 92 20 49 92 20 00 00 12 …EÀ…8&I? I? …
0085: 44 D

0000: 4C 59 45 53 44 LYESD

0000: 4C 20 00 05 00 01 04 00 06 00 02 22 28 80 00 00 06 24 48 L …"(?..$H
0013: 92 20 49 12 20 00 00 02 22 28 80 00 00 01 24 48 93 E0 49 ? I. …"(?..$H?àI
0026: 13 E0 00 00 02 3E 10 80 00 00 41 24 48 92 00 49 12 00 00 .à…>.?..A$H?.I…
0039: 00 02 20 28 80 00 00 41 24 49 92 20 49 12 20 00 00 02 22 … (?..A$I? I. …"
004C: 28 80 00 00 3E 24 46 91 C0 49 11 C0 00 00 03 1C 44 C0 00 (?..>$F?ÀI.À…DÀ.
005F: 00 00 00 00 80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 …?..
0072: 08 80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 07 00 8F .?..?
0085: 44 D

0000: 4C 59 45 53 44 LYESD

0000: 4C 20 00 05 00 01 05 00 06 00 00 00 00 00 00 00 00 00 00 L …
0013: 00 00 00 12 20 00 00 02 22 28 80 00 00 01 24 48 93 E0 49 … …"(?..$H?àI
0026: 13 E0 00 00 02 3E 10 80 00 00 41 24 48 92 00 49 12 00 00 .à…>.?..A$H?.I…
0039: 00 02 20 28 80 00 00 41 24 49 92 20 49 12 20 00 00 02 22 … (?..A$I? I. …"
004C: 28 80 00 00 3E 24 46 91 C0 49 11 C0 00 00 03 1C 44 C0 00 (?..>$F?ÀI.À…DÀ.
005F: 00 00 00 00 80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 …?..
0072: 08 80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 07 00 55 .?..U
0085: 44 D

0000: 4C 59 45 53 44 LYESD

0000: 4C 20 00 06 01 01 00 01 01 00 00 00 08 10 01 00 00 00 00 L …
0013: 00 70 00 00 00 FF FF FF FF FF FF FF FF 90 C5 A2 76 41 C6 .p…ÿÿÿÿÿÿÿÿ?Å¢vAÆ
0026: A2 76 84 40 30 B0 01 00 00 00 00 00 00 00 00 00 00 00 78 ¢v?@0°…x
0039: F8 7A 01 D8 F8 7A 01 F0 F9 7A 01 9B 62 A7 76 64 43 E8 C7 øz.Øøz.ðùz.?b§vdCèÇ
004C: FE FF FF FF FE C5 A2 76 31 1B A2 76 00 00 00 00 EF 0F 20 þÿÿÿþÅ¢v1.¢v…ï.
005F: 00 E6 08 0B 00 3F B0 00 00 00 00 00 00 20 88 DD 03 00 00 .æ…?°… ?Ý…
0072: 00 00 00 00 00 00 D8 F9 7A 01 4C F9 7A 01 24 F9 7A 01 58 …Øùz.Lùz.$ùz.X
0085: 44 D

0000: 4C 59 45 53 44 LYESD

Isto ajuda?

J

programa bobo = Crie um programa que abra conexão de socket com o ip (pode ser tudo hard code) e então mande esses bytes (pode também criar um array hard code), através do socket.

Se imprimir o teste… já é um começo (você já conseguiu se comunicar com ele).

Uma forma de tentar identificar então a comunicação seria fazendo o sniffer de varias sequencias diferentes…

Tenta mandar uma foto do painel, quem sabe da alguma luz pela sequência de bytes.

L

criei uma socket com o ip e a porta da placa e imprimi o seguinte codigo mas nada aconteceu… era dentro disto que estava a dizer?

ps.println(“0000: 4C 20 00 03 01 01 01 01 00 00 5B 00 78 00 00 00 3F B0 00\n0013: 00 00 00 00 00 20 88 DD 03 01 00 00 00 5C F9 7A 01 DF 75\n0026: 57 00 EF 0F 20 00 00 00 00 00 D8 F9 7A 01 3F B0 00 00 20”);

J

lipxx:
criei uma socket com o ip e a porta da placa e imprimi o seguinte codigo mas nada aconteceu… era dentro disto que estava a dizer?

ps.println(“0000: 4C 20 00 03 01 01 01 01 00 00 5B 00 78 00 00 00 3F B0 00\n0013: 00 00 00 00 00 20 88 DD 03 01 00 00 00 5C F9 7A 01 DF 75\n0026: 57 00 EF 0F 20 00 00 00 00 00 D8 F9 7A 01 3F B0 00 00 20”);

</blockquote>

Não, desta forma não vai funcionar…

Crie primeiro um byte array…
Envie bytes…

Desta forma você esta enviando string…

L

poderia-me mostrar como se faz isso por favor?

J

Primeiro crie o byte array com todos os bytes:

4C 20 00 03 01 01 01 01 00 00 5B 00 78 00 00 00 3F B0 00

byte[] arrayBytes = new byte[3];
		arrayBytes[0] = 0x4C;
		arrayBytes[1] = 0x20;
		arrayBytes[2] = 0x00;
		int porta = 21;
		Socket socket = new Socket("host", porta);
		socket.getOutputStream().write(arrayBytes);
		socket.getOutputStream().flush();

Vai ficar grandão… se for fazer hard code (para testar), mas pode também colocar em um arquivo (ta cheio de tutorial para trabalhar com arquivo binário).
Para enviar você pode escrever direto os bytes, mas se forem muitos o ideal é fazer com buffer (BufferedOutputStream).

Aconselho dar uma estudada nisso e entender como funciona a comunicação binária do socket.

J

Acho que isso pode te ajudar (é uma forma meio tosca, mas você pega os bytes em modo texto e converte para byte[], ficando mais facil montar o hard code).
Pode também adaptar para leitura de um arquivo texto ao invés de string.

Lembrando que isso é para fazer o teste de comunicação… para descobrir como montar a sequência de bytes, terá de descobrir como funciona o equipamento.

PS: As rotinas de conversão eu peguei na internet…

public static void main(String[] args) {
		byte[] arrayBytes = parseHexBinary(getBytesString());
		System.out.println(printHexBinary(arrayBytes));
		
	}
	
	public static String getBytesString() {
		String byteStr = "";
		byteStr += "4C 20 00 03 01 01 01 01 00 00 5B 00 78 00 00 00 3F B0 00 ";
		byteStr += "00 00 00 00 00 20 88 DD 03 01 00 00 00 5C F9 7A 01 DF 75 ";
		byteStr += "57 00 EF 0F 20 00 00 00 00 00 D8 F9 7A 01 3F B0 00 00 02 ";
		byteStr += "88 DD 03 3F B0 00 00 00 00 00 00 9E 38 59 00 3F B0 00 00 ";
		byteStr += "00 00 00 00 20 88 DD 03 00 00 00 00 88 F9 7A 01 E7 C4 A2 ";
		byteStr += "76 E6 08 0B 00 3F B0 00 00 00 00 00 00 20 88 DD 03 3F B0 ";
		byteStr += "00 00 CD AB BA DC 00 00 00 00 D8 F9 7A 01 3F B0 00 00 C7 ";
		byteStr += "44 0D ";
		byteStr += "4C 59 45 53 44 ";
		byteStr += "4C 20 00 04 01 01 00 01 01 00 00 00 08 10 01 00 00 00 00 ";
		byteStr += "00 70 00 00 00 FF FF FF FF FF FF FF FF 90 C5 A2 76 41 C6 ";
		byteStr += "A2 76 84 40 30 B0 01 00 00 00 00 00 00 00 00 00 00 00 78 ";
		byteStr += "F8 7A 01 D8 F8 7A 01 F0 F9 7A 01 9B 62 A7 76 64 43 E8 C7 ";
		byteStr += "FE FF FF FF FE C5 A2 76 31 1B A2 76 00 00 00 00 EF 0F 02 ";
		byteStr += "00 E6 08 0B 00 3F B0 00 00 00 00 00 00 20 88 DD 03 00 00 ";
		byteStr += "00 00 00 00 00 00 D8 F9 7A 01 4C F9 7A 01 24 F9 7A 01 58 ";
		byteStr += "44 0D ";
		byteStr += "4C 59 45 53 44 ";
		byteStr += "4C 20 00 05 00 00 00 00 0A 00 10 00 10 00 00 00 00 00 00 ";
		byteStr += "00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ";
		byteStr += "00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ";
		byteStr += "00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ";
		byteStr += "00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ";
		byteStr += "00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ";
		byteStr += "00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 2A ";
		byteStr += "44 0D ";
		byteStr += "4C 59 45 53 44 ";
		byteStr += "4C 20 00 05 00 01 00 00 06 00 00 00 00 00 00 00 00 00 00 ";
		byteStr += "00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ";
		byteStr += "00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ";
		byteStr += "00 3E 20 00 10 00 48 00 00 00 00 00 00 00 00 00 00 41 00 ";
		byteStr += "00 10 00 40 00 00 00 00 02 00 00 80 00 00 41 00 00 10 00 ";
		byteStr += "40 00 00 00 00 02 00 00 80 00 00 40 25 86 91 C0 49 61 C0 ";
		byteStr += "00 00 07 1C 45 C0 00 00 38 26 49 92 20 49 92 20 00 00 0F ";
		byteStr += "44 0D ";
		byteStr += "4C 59 45 53 44 ";
		byteStr += "4C 20 00 05 00 01 01 00 06 00 02 22 28 80 00 00 06 24 48 ";
		byteStr += "92 20 49 12 20 00 00 02 22 28 80 00 00 01 24 48 93 E0 49 ";
		byteStr += "13 E0 00 00 02 3E 10 80 00 00 41 24 48 92 00 49 12 00 00 ";
		byteStr += "00 02 20 28 80 00 00 41 24 49 92 20 49 12 20 00 00 02 22 ";
		byteStr += "28 80 00 00 3E 24 46 91 C0 49 11 C0 00 00 03 1C 44 C0 00 ";
		byteStr += "00 00 00 00 80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ";
		byteStr += "08 80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 07 00 8C ";
		byteStr += "44 0D ";
		byteStr += "4C 59 45 53 44 ";
		byteStr += "4C 20 00 05 00 01 02 00 06 00 00 00 00 00 00 00 00 00 00 ";
		byteStr += "00 00 00 12 20 00 00 02 22 28 80 00 00 01 24 48 93 E0 49 ";
		byteStr += "13 E0 00 00 02 3E 10 80 00 00 41 24 48 92 00 49 12 00 00 ";
		byteStr += "00 02 20 28 80 00 00 41 24 49 92 20 49 12 20 00 00 02 22 ";
		byteStr += "28 80 00 00 3E 24 46 91 C0 49 11 C0 00 00 03 1C 44 C0 00 ";
		byteStr += "00 00 00 00 80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ";
		byteStr += "08 80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 07 00 52 ";
		byteStr += "44 0D ";
		byteStr += "4C 59 45 53 44 ";
		byteStr += "4C 20 00 05 00 01 03 00 06 00 00 00 00 00 00 00 00 00 00 ";
		byteStr += "00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ";
		byteStr += "00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ";
		byteStr += "00 3E 20 00 10 00 48 00 00 00 00 00 00 00 00 00 00 41 00 ";
		byteStr += "00 10 00 40 00 00 00 00 02 00 00 80 00 00 41 00 00 10 00 ";
		byteStr += "40 00 00 00 00 02 00 00 80 00 00 40 25 86 91 C0 49 61 C0 ";
		byteStr += "00 00 07 1C 45 C0 00 00 38 26 49 92 20 49 92 20 00 00 12 ";
		byteStr += "44 0D ";
		byteStr += "4C 59 45 53 44 ";
		byteStr += "4C 20 00 05 00 01 04 00 06 00 02 22 28 80 00 00 06 24 48 ";
		byteStr += "92 20 49 12 20 00 00 02 22 28 80 00 00 01 24 48 93 E0 49 ";
		byteStr += "13 E0 00 00 02 3E 10 80 00 00 41 24 48 92 00 49 12 00 00 ";
		byteStr += "00 02 20 28 80 00 00 41 24 49 92 20 49 12 20 00 00 02 22 ";
		byteStr += "28 80 00 00 3E 24 46 91 C0 49 11 C0 00 00 03 1C 44 C0 00 ";
		byteStr += "00 00 00 00 80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ";
		byteStr += "08 80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 07 00 8F ";
		byteStr += "44 0D ";
		byteStr += "4C 59 45 53 44 ";
		byteStr += "4C 20 00 05 00 01 05 00 06 00 00 00 00 00 00 00 00 00 00 ";
		byteStr += "00 00 00 12 20 00 00 02 22 28 80 00 00 01 24 48 93 E0 49 ";
		byteStr += "13 E0 00 00 02 3E 10 80 00 00 41 24 48 92 00 49 12 00 00 ";
		byteStr += "00 02 20 28 80 00 00 41 24 49 92 20 49 12 20 00 00 02 22 ";
		byteStr += "28 80 00 00 3E 24 46 91 C0 49 11 C0 00 00 03 1C 44 C0 00 ";
		byteStr += "00 00 00 00 80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ";
		byteStr += "08 80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 07 00 55 ";
		byteStr += "44 0D ";
		byteStr += "4C 59 45 53 44 ";
		byteStr += "4C 20 00 06 01 01 00 01 01 00 00 00 08 10 01 00 00 00 00 ";
		byteStr += "00 70 00 00 00 FF FF FF FF FF FF FF FF 90 C5 A2 76 41 C6 ";
		byteStr += "A2 76 84 40 30 B0 01 00 00 00 00 00 00 00 00 00 00 00 78 ";
		byteStr += "F8 7A 01 D8 F8 7A 01 F0 F9 7A 01 9B 62 A7 76 64 43 E8 C7 ";
		byteStr += "FE FF FF FF FE C5 A2 76 31 1B A2 76 00 00 00 00 EF 0F 02 ";
		byteStr += "00 E6 08 0B 00 3F B0 00 00 00 00 00 00 20 88 DD 03 00 00 ";
		byteStr += "00 00 00 00 00 00 D8 F9 7A 01 4C F9 7A 01 24 F9 7A 01 58 ";
		byteStr += "44 0D ";
		byteStr += "4C 59 45 53 44";
		
		byteStr = byteStr.replaceAll("\\s", "");
		return byteStr;
		
	}
	
	
	public static byte[] parseHexBinary(String s) {
	    final int len = s.length();

	    // "111" is not a valid hex encoding.
	    if( len%2 != 0 )
	        throw new IllegalArgumentException("hexBinary needs to be even-length: "+s);

	    byte[] out = new byte[len/2];

	    for( int i=0; i<len; i+=2 ) {
	        int h = hexToBin(s.charAt(i  ));
	        int l = hexToBin(s.charAt(i+1));
	        if( h==-1 || l==-1 )
	            throw new IllegalArgumentException("contains illegal character for hexBinary: "+s);

	        out[i/2] = (byte)(h*16+l);
	    }

	    return out;
	}

	private static int hexToBin( char ch ) {
	    if( '0'<=ch && ch<='9' )    return ch-'0';
	    if( 'A'<=ch && ch<='F' )    return ch-'A'+10;
	    if( 'a'<=ch && ch<='f' )    return ch-'a'+10;
	    return -1;
	}

	private static final char[] hexCode = "0123456789ABCDEF".toCharArray();

	public static String printHexBinary(byte[] data) {
	    StringBuilder r = new StringBuilder(data.length*2);
	    for ( byte b : data) {
	        r.append(hexCode[(b >> 4) & 0xF]);
	        r.append(hexCode[(b & 0xF)]);
	    }
	    return r.toString();
	}
L

enviei um array de bytes e através do sniffer reparei que tinha as primeiras 8 linhas iguais:

0000: 4C 20 00 03 01 01 01 01 00 00 00 00 78 00 00 00 3F B0 00 L …x…?°.
0013: 00 00 00 00 00 20 88 DD 03 01 00 00 00 5C F9 7A 01 DF 75 … ?Ý…\ùz.ßu
0026: 57 00 EF 0F 20 00 00 00 00 00 D8 F9 7A 01 3F B0 00 00 20 W.ï. …Øùz.?°…
0039: 88 DD 03 3F B0 00 00 00 00 00 00 9B 38 59 00 3F B0 00 00 ?Ý.?°…?8Y.?°…
004C: 00 00 00 00 20 88 DD 03 00 00 00 00 88 F9 7A 01 E7 C4 A2 … ?Ý…?ùz.çÄ¢
005F: 76 E6 08 0B 00 3F B0 00 00 00 00 00 00 20 88 DD 03 3F B0 væ…?°… ?Ý.?°
0072: 00 00 CD AB BA DC 00 00 00 00 D8 F9 7A 01 3F B0 00 00 C7 …Í«ºÜ…Øùz.?°…Ç
0085: 44 D

agora falta-me esta:

0000: 4C 59 45 53 44 LYESD

que penso que sera uma resposta vinda da placa, como conseguirei fazer isto? através de um servidor para receber um array?

desde já agradeço toda a ajuda, esta a ser crucial :slight_smile:

J

lipxx:
enviei um array de bytes e através do sniffer reparei que tinha as primeiras 8 linhas iguais:

0000: 4C 20 00 03 01 01 01 01 00 00 00 00 78 00 00 00 3F B0 00 L …x…?°.
0013: 00 00 00 00 00 20 88 DD 03 01 00 00 00 5C F9 7A 01 DF 75 … ?Ý…\ùz.ßu
0026: 57 00 EF 0F 20 00 00 00 00 00 D8 F9 7A 01 3F B0 00 00 20 W.ï. …Øùz.?°…
0039: 88 DD 03 3F B0 00 00 00 00 00 00 9B 38 59 00 3F B0 00 00 ?Ý.?°…?8Y.?°…
004C: 00 00 00 00 20 88 DD 03 00 00 00 00 88 F9 7A 01 E7 C4 A2 … ?Ý…?ùz.çÄ¢
005F: 76 E6 08 0B 00 3F B0 00 00 00 00 00 00 20 88 DD 03 3F B0 væ…?°… ?Ý.?°
0072: 00 00 CD AB BA DC 00 00 00 00 D8 F9 7A 01 3F B0 00 00 C7 …Í«ºÜ…Øùz.?°…Ç
0085: 44 D

agora falta-me esta:

0000: 4C 59 45 53 44 LYESD

que penso que sera uma resposta vinda da placa, como conseguirei fazer isto? através de um servidor para receber um array?

desde já agradeço toda a ajuda, esta a ser crucial :)

Se for realmente isso (cada bloco de comando enviado) e volta uma resposta (e pode ser que este bloco represente uma parte da placa), por isso te pedi uma foto se possivel do painel… então você tem que fazer a comunicação bidirecional…

Depois de mandar pelo outputstream você tem o socket.getInputStream… e você pode usar o método read para fazer a leitura… então você deverá fazer o programa mandando um bloco… colocando na espera da leitura… verificando a leitura (LYESD)… mandando outro bloco… e assim por diante!

Se conseguir reproduzir o teste… poderá começar a brincar com as sequências de bytes… mandando a mesma sequência varias vezes e vendo o que ocorre… depois fazer o sniffer pelo app de palavras diferentes… para tentar entender como ele monta… isso é engenharia reversa e não é simples (se tivesse a documentação de como funciona o processo seria muito mais facil)! Se conseguir depois basta escrever uma API para isto… o resto fica facil…

J

de uma olhada neste link… ele faz read e write…

http://edinkysoft.appspot.com/jsp/articles/javafilesocket.html

L

Ate agora estou a tentar perceber o que cada voga modifica na informação enviada, e ate agora consegui concluir que os primeiros 3 grupos de informação e o ultimo são iguais para todas as vogais e que o 2o é igual ao ultimo. Isto pode ser a abertura de um processo (por exemplo de escrita) e o seu encerramento, sendo o " LYESD" a confirmação da placa sobre cada processo, por exemplo um “ok”.
Estou só a supor e a expor o meu ponto de vista, mais não posso adiantar mais pois ainda não fiz os testes suficientes… Conforme for avançando vou escrevendo…

/*
0000: 4C 20 00 03 01 01 01 01 00 00 5B 00 78 00 00 00 3F B0 00 L …[.x…?°.
0013: 00 00 00 00 00 5C 88 C0 03 01 00 00 00 5C F9 7A 01 DF 75 …?À…\ùz.ßu
0026: 57 00 EF 0F 2F 00 00 00 00 00 D8 F9 7A 01 3F B0 00 00 5C W.ï./…Øùz.?°…
0039: 88 C0 03 3F B0 00 00 00 00 00 00 9E 38 59 00 3F B0 00 00 ?À.?°…?8Y.?°…
004C: 00 00 00 00 5C 88 C0 03 00 00 00 00 88 F9 7A 01 E7 C4 7A …?À…?ùz.çÄz
005F: 75 DA 01 04 00 3F B0 00 00 00 00 00 00 5C 88 C0 03 3F B0 uÚ…?°…?À.?°
0072: 00 00 CD AB BA DC 00 00 00 00 D8 F9 7A 01 3F B0 00 00 10 …Í«ºÜ…Øùz.?°…
0085: 44 D

0000: 4C 59 45 53 44 LYESD

0000: 4C 20 00 04 01 01 00 01 01 00 00 00 08 10 01 00 00 00 00 L …
0013: 00 70 00 00 00 FF FF FF FF FF FF FF FF 90 C5 7A 75 41 C6 .p…ÿÿÿÿÿÿÿÿ?ÅzuAÆ
0026: 7A 75 8F 73 59 DB 01 00 00 00 00 00 00 00 00 00 00 00 78 zu?sYÛ…x
0039: F8 7A 01 D8 F8 7A 01 F0 F9 7A 01 9B 62 7F 75 DA 48 59 AF øz.Øøz.ðùz.?buÚHY¯
004C: FE FF FF FF FE C5 7A 75 31 1B 7A 75 00 00 00 00 EF 0F 2F þÿÿÿþÅzu1.zu…ï./
005F: 00 DA 01 04 00 3F B0 00 00 00 00 00 00 5C 88 C0 03 00 00 .Ú…?°…?À…
0072: 00 00 00 00 00 00 D8 F9 7A 01 4C F9 7A 01 24 F9 7A 01 05 …Øùz.Lùz.$ùz…
0085: 44 D

0000: 4C 59 45 53 44 LYESD

0000: 4C 20 00 05 00 00 00 00 0A 00 08 00 10 00 00 00 00 00 00 L …
0013: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 …
0026: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 …
0039: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 …
004C: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 …
005F: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 …
0072: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 22 …"
0085: 44 D

0000: 4C 59 45 53 44 LYESD

0000: 4C 20 00 05 00 01 00 00 04 00 00 00 00 00 00 00 00 00 00 L …
0013: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 …
0026: 00 00 00 00 00 00 00 08 20 00 00 00 00 00 00 08 20 00 00 … … …
0039: 00 00 00 00 08 20 00 00 00 00 00 00 08 20 00 00 00 00 00 … … …
004C: 00 08 20 00 00 00 00 00 00 08 20 00 00 00 00 00 00 08 20 … … …
005F: 00 00 00 00 00 00 04 40 00 00 00 00 00 00 03 80 00 00 00 …@…?..
0072: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 E5 …å
0085: 44 D

0000: 4C 59 45 53 44 LYESD

0000: 4C 20 00 05 00 01 01 00 04 00 00 00 00 00 00 00 00 00 00 L …
0013: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 …
0026: 00 00 00 00 00 00 00 08 20 00 00 00 00 00 00 08 20 00 00 … … …
0039: 00 00 00 00 08 20 00 00 00 00 00 00 08 20 00 00 00 00 00 … … …
004C: 00 08 20 00 00 00 00 00 00 08 20 00 00 00 00 00 00 08 20 … … …
005F: 00 00 00 00 00 00 04 40 00 00 00 00 00 00 03 80 00 00 00 …@…?..
0072: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 E6 …æ
0085: 44 D

0000: 4C 59 45 53 44 LYESD

0000: 4C 20 00 05 00 01 02 00 04 00 00 00 00 00 00 00 00 00 00 L …
0013: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 …
0026: 00 00 00 00 00 00 00 08 20 00 00 00 00 00 00 08 20 00 00 … … …
0039: 00 00 00 00 08 20 00 00 00 00 00 00 08 20 00 00 00 00 00 … … …
004C: 00 08 20 00 00 00 00 00 00 08 20 00 00 00 00 00 00 08 20 … … …
005F: 00 00 00 00 00 00 04 40 00 00 00 00 00 00 03 80 00 00 00 …@…?..
0072: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 E7 …ç
0085: 44 D

0000: 4C 59 45 53 44 LYESD

0000: 4C 20 00 05 00 01 03 00 04 00 00 00 00 00 00 00 00 00 00 L …
0013: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 …
0026: 00 00 00 00 00 00 00 08 20 00 00 00 00 00 00 08 20 00 00 … … …
0039: 00 00 00 00 08 20 00 00 00 00 00 00 08 20 00 00 00 00 00 … … …
004C: 00 08 20 00 00 00 00 00 00 08 20 00 00 00 00 00 00 08 20 … … …
005F: 00 00 00 00 00 00 04 40 00 00 00 00 00 00 03 80 00 00 00 …@…?..
0072: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 E8 …è
0085: 44 D

0000: 4C 59 45 53 44 LYESD

0000: 4C 20 00 06 01 01 00 01 01 00 00 00 08 10 01 00 00 00 00 L …
0013: 00 70 00 00 00 FF FF FF FF FF FF FF FF 90 C5 7A 75 41 C6 .p…ÿÿÿÿÿÿÿÿ?ÅzuAÆ
0026: 7A 75 8F 73 59 DB 01 00 00 00 00 00 00 00 00 00 00 00 78 zu?sYÛ…x
0039: F8 7A 01 D8 F8 7A 01 F0 F9 7A 01 9B 62 7F 75 DA 48 59 AF øz.Øøz.ðùz.?buÚHY¯
004C: FE FF FF FF FE C5 7A 75 31 1B 7A 75 00 00 00 00 EF 0F 2F þÿÿÿþÅzu1.zu…ï./
005F: 00 DA 01 04 00 3F B0 00 00 00 00 00 00 5C 88 C0 03 00 00 .Ú…?°…?À…
0072: 00 00 00 00 00 00 D8 F9 7A 01 4C F9 7A 01 24 F9 7A 01 05 …Øùz.Lùz.$ùz…
0085: 44 D

0000: 4C 59 45 53 44 LYESD
*/

L

já fiz o teste e realmente o primeiro conjunto de código poe o ecrã todo branco o 2o da os efeitos ao texto que vamos enviar e o ultimo termina o envio. os outros são todos da letra (todos iguais) mas não consigo encontrar logica entre o q aparece no código e o q quero enviar. Para cada letra, seja maiúscula ou minuscula leve assentos ou não, tem um código diferente (para não falar nas palavras…) alguém tem uma ideia de como isto se faz? criar uma base de dados ou encontrar uma logica para que isto aconteça?

J

Legal… se conseguiu se comunicar com o equipamento já é um bom começo…

Não entendi quando fala que os outros são todos das letras (todo iguais ???) Tem diferença nos blocos ??? Você consegue por exemplo pegar o bloco da letra T e enviá-lo varias vezes escrevendo TTTTTT ou somente consegue enviar o TESTE ???

Com certeza tem uma lógica, mas desvendar essa lógica é um quebra cabeças complexo. O ideal era ter a documentação. Criar uma base de dados (se você consegue mapear a sequência para todos os caracteres possíveis), pode até ser uma alternativa (meio gambis… mas em ultimo caso…)

J

Veja se entendi direito…

Esse bloco aqui limpa o ecrã:
/*
0000: 4C 20 00 03 01 01 01 01 00 00 5B 00 78 00 00 00 3F B0 00 L …[.x…?°.
0013: 00 00 00 00 00 5C 88 C0 03 01 00 00 00 5C F9 7A 01 DF 75 …?À…\ùz.ßu
0026: 57 00 EF 0F 2F 00 00 00 00 00 D8 F9 7A 01 3F B0 00 00 5C W.ï./…Øùz.?°…\
0039: 88 C0 03 3F B0 00 00 00 00 00 00 9E 38 59 00 3F B0 00 00 ?À.?°…?8Y.?°…
004C: 00 00 00 00 5C 88 C0 03 00 00 00 00 88 F9 7A 01 E7 C4 7A …?À…?ùz.çÄz
005F: 75 DA 01 04 00 3F B0 00 00 00 00 00 00 5C 88 C0 03 3F B0 uÚ…?°…?À.?°
0072: 00 00 CD AB BA DC 00 00 00 00 D8 F9 7A 01 3F B0 00 00 10 …Í«ºÜ…Øùz.?°…
0085: 44 D

E vem a resposta de comando aceito:
0000: 4C 59 45 53 44 LYESD

Esse aqui é do efeito:
0000: 4C 20 00 04 01 01 00 01 01 00 00 00 08 10 01 00 00 00 00 L …
0013: 00 70 00 00 00 FF FF FF FF FF FF FF FF 90 C5 7A 75 41 C6 .p…ÿÿÿÿÿÿÿÿ?ÅzuAÆ
0026: 7A 75 8F 73 59 DB 01 00 00 00 00 00 00 00 00 00 00 00 78 zu?sYÛ…x
0039: F8 7A 01 D8 F8 7A 01 F0 F9 7A 01 9B 62 7F 75 DA 48 59 AF øz.Øøz.ðùz.?buÚHY¯
004C: FE FF FF FF FE C5 7A 75 31 1B 7A 75 00 00 00 00 EF 0F 2F þÿÿÿþÅzu1.zu…ï./
005F: 00 DA 01 04 00 3F B0 00 00 00 00 00 00 5C 88 C0 03 00 00 .Ú…?°…?À…
0072: 00 00 00 00 00 00 D8 F9 7A 01 4C F9 7A 01 24 F9 7A 01 05 …Øùz.Lùz.$ùz…
0085: 44 D

Resposta
0000: 4C 59 45 53 44 LYESD

Esse aqui seria a primeira letra T
0000: 4C 20 00 05 00 00 00 00 0A 00 08 00 10 00 00 00 00 00 00 L …
0013: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 …
0026: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 …
0039: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 …
004C: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 …
005F: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 …
0072: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 22 …"
0085: 44 D

0000: 4C 59 45 53 44 LYESD

Esse aqui seria a segunda letra E
0000: 4C 20 00 05 00 01 00 00 04 00 00 00 00 00 00 00 00 00 00 L …
0013: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 …
0026: 00 00 00 00 00 00 00 08 20 00 00 00 00 00 00 08 20 00 00 … … …
0039: 00 00 00 00 08 20 00 00 00 00 00 00 08 20 00 00 00 00 00 … … …
004C: 00 08 20 00 00 00 00 00 00 08 20 00 00 00 00 00 00 08 20 … … …
005F: 00 00 00 00 00 00 04 40 00 00 00 00 00 00 03 80 00 00 00 …@…?..
0072: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 E5 …å
0085: 44 D

0000: 4C 59 45 53 44 LYESD

Esse aqui seria a terceira letra S
0000: 4C 20 00 05 00 01 01 00 04 00 00 00 00 00 00 00 00 00 00 L …
0013: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 …
0026: 00 00 00 00 00 00 00 08 20 00 00 00 00 00 00 08 20 00 00 … … …
0039: 00 00 00 00 08 20 00 00 00 00 00 00 08 20 00 00 00 00 00 … … …
004C: 00 08 20 00 00 00 00 00 00 08 20 00 00 00 00 00 00 08 20 … … …
005F: 00 00 00 00 00 00 04 40 00 00 00 00 00 00 03 80 00 00 00 …@…?..
0072: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 E6 …æ
0085: 44 D

0000: 4C 59 45 53 44 LYESD

Esse aqui seria a quarta letra T
0000: 4C 20 00 05 00 01 02 00 04 00 00 00 00 00 00 00 00 00 00 L …
0013: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 …
0026: 00 00 00 00 00 00 00 08 20 00 00 00 00 00 00 08 20 00 00 … … …
0039: 00 00 00 00 08 20 00 00 00 00 00 00 08 20 00 00 00 00 00 … … …
004C: 00 08 20 00 00 00 00 00 00 08 20 00 00 00 00 00 00 08 20 … … …
005F: 00 00 00 00 00 00 04 40 00 00 00 00 00 00 03 80 00 00 00 …@…?..
0072: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 E7 …ç
0085: 44 D

0000: 4C 59 45 53 44 LYESD

Esse aqui seria a quinta letra E
0000: 4C 20 00 05 00 01 03 00 04 00 00 00 00 00 00 00 00 00 00 L …
0013: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 …
0026: 00 00 00 00 00 00 00 08 20 00 00 00 00 00 00 08 20 00 00 … … …
0039: 00 00 00 00 08 20 00 00 00 00 00 00 08 20 00 00 00 00 00 … … …
004C: 00 08 20 00 00 00 00 00 00 08 20 00 00 00 00 00 00 08 20 … … …
005F: 00 00 00 00 00 00 04 40 00 00 00 00 00 00 03 80 00 00 00 …@…?..
0072: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 E8 …è
0085: 44 D

0000: 4C 59 45 53 44 LYESD

Aqui é para finalizar
0000: 4C 20 00 06 01 01 00 01 01 00 00 00 08 10 01 00 00 00 00 L …
0013: 00 70 00 00 00 FF FF FF FF FF FF FF FF 90 C5 7A 75 41 C6 .p…ÿÿÿÿÿÿÿÿ?ÅzuAÆ
0026: 7A 75 8F 73 59 DB 01 00 00 00 00 00 00 00 00 00 00 00 78 zu?sYÛ…x
0039: F8 7A 01 D8 F8 7A 01 F0 F9 7A 01 9B 62 7F 75 DA 48 59 AF øz.Øøz.ðùz.?buÚHY¯
004C: FE FF FF FF FE C5 7A 75 31 1B 7A 75 00 00 00 00 EF 0F 2F þÿÿÿþÅzu1.zu…ï./
005F: 00 DA 01 04 00 3F B0 00 00 00 00 00 00 5C 88 C0 03 00 00 .Ú…?°…?À…
0072: 00 00 00 00 00 00 D8 F9 7A 01 4C F9 7A 01 24 F9 7A 01 05 …Øùz.Lùz.$ùz…
0085: 44 D

0000: 4C 59 45 53 44 LYESD
*/

Se é realmente isso… vamos analisar letras repetidas:

Esse aqui seria a segunda letra E
0000: 4C 20 00 05 00 01 00 00 04 00 00 00 00 00 00 00 00 00 00 L …
0013: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 …
0026: 00 00 00 00 00 00 00 08 20 00 00 00 00 00 00 08 20 00 00 … … …
0039: 00 00 00 00 08 20 00 00 00 00 00 00 08 20 00 00 00 00 00 … … …
004C: 00 08 20 00 00 00 00 00 00 08 20 00 00 00 00 00 00 08 20 … … …
005F: 00 00 00 00 00 00 04 40 00 00 00 00 00 00 03 80 00 00 00 …@…?..
0072: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 E5 …å
0085: 44 D

Esse aqui seria a quinta letra E
0000: 4C 20 00 05 00 01 03 00 04 00 00 00 00 00 00 00 00 00 00 L …
0013: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 …
0026: 00 00 00 00 00 00 00 08 20 00 00 00 00 00 00 08 20 00 00 … … …
0039: 00 00 00 00 08 20 00 00 00 00 00 00 08 20 00 00 00 00 00 … … …
004C: 00 08 20 00 00 00 00 00 00 08 20 00 00 00 00 00 00 08 20 … … …
005F: 00 00 00 00 00 00 04 40 00 00 00 00 00 00 03 80 00 00 00 …@…?..
0072: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 E8 …è
0085: 44 D

Veja que tem semelhanças e algumas pequenas diferenças… Talvez essas diferenças tenham a ver com posicionamento…

Você não consegue mandar uma foto do painel com a palavra teste impressa?

Se você inverter a sequência de letras, o que acontece ?

L

ainda nao consegui mandar nada apenas acender o placard todo e apaga-lo… nao vejo qualquer logica neste codigo… nao ha nenhum programa ou alguma descodificaçao para melhor entender isto?

L

esta placa vem com um pic stm32f103 e procurei na net se encontraria código hexadecimal que fosse útil mas não encontrei nada… poderia indicar o que devo procurar? se calhar esse e o erro, não saber o procurar

J

Acho que o detalhe não é o tipo de controlador mas o software que tem dentro dele…
Precisaria dar um jeito de baixar este software (não sei se ta gravado em ROM ou como esta)…
e ir para o caminho do disassembler…

Infelizmente conheço pouco disso…

L

eu tenho o programa da própria placa, sera que ha alguma maneira de eu ir la buscar algum tipo de informação? encravei completamente agora, nao sei para onde me virar -.-’

J

lipxx:
eu tenho o programa da própria placa, sera que ha alguma maneira de eu ir la buscar algum tipo de informação? encravei completamente agora, nao sei para onde me virar -.-’


vc pode usat um debugger, o ollydbg por exemplo e abrir o exe do prog nele e colocar um breakpoint ao enviar o comando para a placa. se conhecer assembly podera ver o algoritmo usado pelo prog da placa e depois reescrever o mesmo em outra linguagem.
citei o ollydbg q uso no win e eh gratis mas tem outros melhores e pagos tbem
como hj em dia uso pouco isso e nao sou nenhum especialista em asm nao poderei te ajudar mto nessa parte

L

como e que eu crio um breakpoint? ja tenho o programa e ja consegui abrir o .exe mas nao estou a entender como crio o breakpoint, depois o codigo resultante eu tendo entender nem que pesquise muito na net :smiley:

E

Hum… isso me parece trabalho para um russo ou um chinês que costuma usar um programa chamado IDA Disassembler para craquear programas.

Isso não é coisa para brasileiros :slight_smile:

(Não sou russo nem chinês)

L

ja usei esse programa e nao sei que dados e q devo pegar para tentar ir buscar a informaçao

J

lipxx:
ja usei esse programa e nao sei que dados e q devo pegar para tentar ir buscar a informaçao

Amigo para criar o breakpoint na janela principal use a opção botão direito / breakpoint / toggle. (ou F2)
Onde você coloca… precisa entender assembly e saber qual rotina será chamada no programa… (não sei como é o programa, mas deduzo que tenha algumas configs… um campo texto para a palavra e um botão para enviar os dados para a placa).

Em relação ao IDA Disassembler… aqui tem um link que compara ele com o olly:
http://www.woodmann.com/forum/archive/index.php/t-8332.html

Aqui um pouco do olly dbg e de asm:
http://www.hardware.com.br/comunidade/utilizando-debugger/785195/

L

obrigado por toda a ajuda, ja consegui comunicar e escrever mensagens :smiley: agora estou com outro problema -.-’

http://www.guj.com.br/java/280382-conversao-para-array-de-bytes#1478043

se tambem me podesse ajudar era muito mas muito bom :smiley:

Criado 12 de agosto de 2012
Ultima resposta 18 de ago. de 2012
Respostas 44
Participantes 4