Sobre este projeto
it-programming / web-development
Aberto
Introdução:
Estou trabalhando em um software descontinuado por um desenvolvedor que já saiu da empresa e preciso modificá-lo de acordo com os requisitos de um novo projeto.
Esse software basicamente cria uma conexão de soquete TCP a um dispositivo que envia frames para um byte array em nosso software.
Os quadros são montados com alguns cabeçalhos, que determinam o tipo de dados úteis.
A única função do software é converter esses dados de bytes em um formato legível e exibi-los ao usuário através de janelas de visualização. Ele também envia dados ao nosso emissor.
Ele também grava e carrega dados em um banco de dados mysql.
Essa funcionalidade de gravação de dados do banco de dados, importação de dados do banco de dados e conexão e recebimento da fonte de soquete tcp estão funcionando com os requisitos do projeto antigo.
Precisamos alterar as visualizações e a conversão de dados porque a estrutura atual do software é de outro projeto; agora, temos diferentes conversões e cabeçalhos de dados.
No projeto antigo quem separa, identifica os campos e converte os dados do formato em bytearray para formatos legíveis como strings ou inteiros é o banco mysql (então o software só mandava o dado bruto pro banco, o banco convertia e devolvia pro software realizar as views)
O problema é que não sabemos como o banco faz isso, temos os backups dos scripts do banco, mas é difícil de entender, portanto, gostaríamos que essas conversões fossem feitas no software.
Também sou programador, mas não tenho experiência com o QT Creator e com o C ++, por isso não consigo entender como esse software funciona e como posso modificá-lo de acordo com os requisitos do cliente. É Por isso que preciso que alguém que atue como colaborador e consultor para me ajudar neste projeto.
Objetivo:
O programa recebe dados no formato de byte array, verifica no cabeçalho desses dados a que tipo de dados se refere, e de acordo com uma lista de tipos de dados diferentes, converte o restante dos dados de binário em inteiro e exibe os diferentes tipos de campos desses dados na tela.
Exemplo:
matriz de bytes recebida:
C0 00 8A 82 A4 A8 90 00 00 9C 86 84 A4 64 00 00 03 F0 ff ff 0f 22 02 00 00 01 00 1d 1d 1b 00 5c 00 05 00 00 43 43 9 9 03 03 b0 00 04 00 05 00 ce 01 c5 00 00 00 00
o software deve separar o primeiro cabeçalho, que é um cabeçalho do tipo kiss, seguido por um cabeçalho ax25 de comprimento fixo (contendo algumas informações sobre o emissor). C0 00 8A 82 A4 A8 90 00 00 9C 86 84 A4 64 00 00 03 F0
lê o segundo cabeçalho de tamanho fixo, que diz que tipo de dados estou recebendo:
ff ff 0f 22 02 00 00 01 00 1d 1d 1b
code (1 byte)
ff
subcode (1 byte)
ff
sequence number (2 bytes)
0f 22
timestamp (4 bytes)
02 00 00 01
reset counter (2 bytes)
00 1d
flags (1 byte)
1d
tm data size (1 byte)
1b
portanto, de acordo com minha lista, quando tenho dados com código ff e subcódigo ff, minha carga útil é bea-tm-01. Em seguida decodifico o resto do frame de acordo com os campos do bea-tm-01.
Categoria TI e Programação
Subcategoria Programação
Qual é o alcance do projeto? Alteração média
Isso é um projeto ou uma posição de trabalho? Um projeto
Tenho, atualmente Eu tenho especificações
Disponibilidade requerida Conforme necessário
Funções necessárias Desenvolvedor
Prazo de Entrega: Não estabelecido
Habilidades necessárias