Completed

Botoes de envio de bloco de dados por bluetooth

Published on the February 03, 2018 in IT & Programming

About this project

Open

O programa consiste em um pequeno aplicativo com vários botões.
Para referencia ver programa bluetooth spp na playstore.
Ao segurar o botão deve dar a opcão de mudar o nome do botão, a sequencia de bytes , o tipo (byte ou word) e o fator multiplicador.
Haverá duas telas, uma com botões de leitura e outro com botões de escrita.
Tela de escrita:
Os botões de escrita deverão enviar a sequencia configurada no botão toda vez que ele for clicado (até 10 bytes em hexadecimal, sendo até 8 bytes configurados + 1 ou 2 bytes resultados  do campo na frente do botão  x multiplicador ). Este parametro deverá ser convertido em um byte ou word, conforme configurado no botão de envio.
BOTAO1 (Byte Byte Byte Byte Byte… ) + [ (  parâmetro)  (x 0,001 a 60,000 ) (byte / word)]
BOTAO2  (Byte Byte Byte Byte Byte… )+[ (  parâmetro)  (x 0,001 a 60,000 ) (byte / word)]
.
.
.
.
BOTAO30
(Os botões de envio ficarão um embaixo do outro na tela de envio e os campos de parâmetro ficarão na frente de cada botão.
O produto do parâmetro pelo multiplicador nunca será maior do que 255 para byte ou 65535 para word. O valor enviado para o dispositivo remoto (escravo)  sempre será um numero inteiro (1 ou dois bytes).
Apos a escrita, haverá uma resposta do dispositivo remoto que repetirá a sequencia programada de volta para o celular. Se não houver reposta ou se a mesma for diferente da enviada, o programa deve responder com “ERRO” no campo de parâmetro. Se for igual deve aparecer ok ou uma outra forma de confirmação visível ao usuário.


Leitura:
Cada botao deve permitir a configuração de uma sequencia de 1 até 10  bytes hexadecimais ) os caracteres adicionais de finalização se necessários devem ser acrescentados (geralmente 0D 0A) no final da sequencia). Havendo resposta do dispositivo remoto, esta resposta deve ser apresentada em decimal em um campo na frente do botão pressionado, com até 3 casas decimais, configurável ( 0 a 3).
A resposta pode ser byte ou word,  (2 bytes). O resultado deve ser apresentado  multiplicado pelo fator multiplicador, que deve estar em um campo multiplicador configurável (mesmo processo de mudar o nome do botão)  de 0,001 a 60,000.  O valor deve ser “erro” se não houver resposta.

(Os botões de leitura  ficarão um embaixo do outro na tela de leituras e os campos de parâmetro ficarão na frente de cada botão.

BOTAO1 (Byte Byte Byte Byte Byte… )  [ (  valor lido ) (  ) cont  (x 0,001 a 60,000 ) (byte / word)]
BOTAO2  (Byte Byte Byte Byte Byte… ) [ (  valor lido )  (  ) cont  (x 0,001 a 60,000 ) (byte / word)]
.
.
.
Deve haver uma caixa de seleção de leitura continua ou única para cada botão. No caso todos os botões configurados para leitura de forma cíclica farão o envio do dado e esperarão pela resposta de cada comando, independentemente de serem acionados. Os botões  não selecionados para leitura continua so irão enviar a sequencia quando clicados.

Deve haver um campo de ajuste de intervalo entre leituras de um botão para outro em ms (1 a 1000ms ) que será o mesmo intervalo para todos os botões.
Os botões selecionados para leitura contínua deverão ter as leituras salvas em um arquivo CSV, onde teremos o comando de salvar no menu do programa. O nome do arquivo CSV será salvo automaticamente utilizando a data e hora do momento do salvamento como nome do arquivo. O formato dentro do arquivo será leitura1: valor1, leitura2, valor2, leitura3, valor3..
.. Onde leitura é o nome atribuido ao campo de leitura (semelhante ao processo de programar o botão ) e valor o valor já multiplicado pelo fator.
Preciso de um total de 30 botões iguais por tela (total de 60) programáveis e renomeáveis, em uma lista. O programa deve permitir scanear em busca de dispositivos bluetooth e conectar ao dispositivo selecionado. O arquivo que contém as definições de todos os botões(tudo que possa ser configurado em tempo de execução) deve ser  salva no celular mediante um botão de salvamento, sobrescrevendo o arquivo original (mediante aviso de confirmação).
Ao abrir o aplicativo ele deve carregar o arquivo de configuração dos botões que estará numa pasta com nome do programa em local acessível ao usuário através de gerenciador de arquivo ( permitindo assim a cópia deste arquivo para outro celular ).

Category IT & Programming
Subcategory Web development
What is the scope of the project? Create a new custom site
Is this a project or a position? Project
I currently have I have specifications
Required availability As needed
Experience in this type of projects Yes (I have managed this kind of project before)
API Integrations Other (Other APIs)
Roles needed Designer, Developer

Delivery term: August 06, 2017

Skills needed

Other projects posted by M. S. S.