Gerenciamento de carros(Finalmente)

quinta-feira, 16 de maio de 2013 0

Olá, sou o Rafael, e venho aqui para finalmente postar sobre o funcionamento do gerenciamento de carros com os prints (aaaaeeeeeee kkkk). E já que o Gabriel (vulgo Harry) me passou os prints de muitas telas, vou conseguir mostrar a cara de nosso projeto.

Ao abrir o app teremos a seguinte tela:




Se o Bluetooth estiver desligado, o app pede para que o usuário o ligue, assim todas as funcionalidades podem ser realizadas. Ainda não finalizamos o layout, por isso temos essas imagens ridículas nos botões.

Para acessar a parte de gerenciamento de carros o usuário deve apertar o botão menu, padrão do Android. Com isso o app é direcionado para a tela onde os carros cadastrados são listados.

Nesta tela o usuário pode visualizar os carros cadastrados, bem como exclui-los e ser direcionado para a tela que cadastra um novo carro ou edita um já cadastrado.
Para deletar um carro, o usuário apenas precisa deixar pressionado por algum tempo no carro que deseja excluir, então uma solicitação de confirmação aparecerá.

A seguir, as telas de cadastro e edição de carros respectivamente (não liguem pelo titulo igual ambas, alguém esqueceu de mudar haha):

                                 Tela de cadastro                                                              Tela de edição

Os campos disponíveis são o nome do carro, o nome e o address do dispositivo (no caso o nome é Paulo e o address é 00:26:5d:31:EE:6F).

Quando aquele botão (com o lápis) da tela de edição for apertado, a tela irá ficar idêntica a tela de cadastro, porém com os campos já preenchidos. E então o mesmo botão terá a função de atualizar as informações do carro já cadastrado, e não cadastrará um novo.

Bom, eu sei que fica meio difícil de entender apenas com prints, porém teremos que fazer um video com o funcionamento do app, então logo poderemos fazer um vídeo do funcionamento parcial.

Logo postaremos mais sobre o funcionamento da parte de Status e trajetos, que já funcionam parcialmente.

Simulador Skynet

segunda-feira, 6 de maio de 2013 0

Sou o Rafael e venho aqui para agora postar sobre uma parte importante de nosso projeto. Como vocês já sabem, as informações do carro (temperatura do motor, nivel de gasolina, água e etc.) são enviados pelo dispositivo OBD, e o Skynet (biblioteca que o grupo do superior está desenvolvendo) pega os dados, com isso nosso app tem acesso a todas essas informações. Porém, essa biblioteca ainda não está pronta, então criamos uma biblioteca que simulará essas informações e mandará para nosso app.

Cada registro de informação pode ter as seguintes informações: address do OBD, data, código da informação para determinar seu tipo, o valor, a unidade e o id de um trajeto(opcional).
A saída de dados ainda não está completa pois ainda não sabemos todos as diferentes informações que teremos acesso. No momento os dados são gerado como na seguinte imagem:


Por enquanto definimos a unidade como %. Quando a tela de Status estiver completa, os dados sairão com as unidades certas.

Por enquanto é isso, logo a base do funcionamento do app ja estará funcionando.

Problemas e começo da documentação.

segunda-feira, 29 de abril de 2013 0

Olá, sou o Rafael, fiquei sem postar nada por um tempo devido a diversos problemas, mas estou de volta e falarei sobre alguns temas abordados durante a semana. Como vocês já devem ter visto no post anterior (Gabriel), o grupo tem se preocupado bastante com o código, então nessa semana não tivemos grande progressos visuais aos usuários, mas estamos tornando o código mais limpo e muito mais fácil de entender.

Vimos que temos a necessidade de fazer a parte da documentação logo, por isso montamos nossos MER, DER, DFDs  (níveis 0 e 1 por enquanto), e um diagrama de classes. O próximo passo será dar uma olhada em uma documentação recomendada pelo professor Renato, feita no ano passado, assim, já deixaremos um documento dentro das normas pedidas, e então só adicionaremos informações.

Sobre funcionalidades do app, ainda ficou faltando postar aqui como ficou a parte de gerenciar os carros (cadastro, exclusão, etc...). Ainda não consegui postar porque houve um problema com meu celular,  e o emulador não possui bluetooth, anulando as principais funções do app. Porém logo posto como ficou esta parte.

Por enquanto é isso, após terminada esta etapa iremos ter outra reunião com o superior para definirmos mais algumas coisas..

BaseActivity, um novo rumo!

quarta-feira, 24 de abril de 2013 0

Hoje, 24/04/2013, ás 10:30, demos um pequeno passo para o homem, mas um grande passo para o projeto. Foi criada uma Activity que servirá de base para todas as outras, dessa forma nosso código ficará mais limpo e organizado e muito menos propício a erros (ou bugs, como preferir). Essa foi uma ideia que eu tive durante... er... bem não importa... e então conversei sobre isso com os outros integrantes do grupo e eles acharam genial. Então, neste exato momento, acabo de fazer o commit com essa modificação e, a partir de agora, a expectativa é que nosso projeto caminhe a passos largos.
Outras ideias ja estão surgindo como uma interface para as DAO's e uma única Activity para o gerenciamento dos carros e trajetos.
Bom é isso aí pessoal, bola pra frente terminar esse projeto  o/

Encontro com superior 10/04/13

segunda-feira, 15 de abril de 2013 0

Olá Yves falando
Tivemos um encontro com o grupo Skynet na quarta passada e como de costume essa segunda vou postar alguns avanços do nosso projeto.
O encontro foi bem leve, tínhamos algumas dúvidas quanto á conexão com o dispositivo OBD, e alguns dados que seriam necessários para o cálculo relativo dos valores encontrados.

O problema dos dados era basicamente a imprecisão do OBD de acordo com cada carro, basicamente em um carro ele registra 100% de nível de combustível e em outro 110%. a escala varia de acordo com o carro. Para isso existe um recurso que é saber o que o OBD considera o máximo e o mínimo para um valor. Assim poderíamos forçar a conversão para o padrão de nossa preferência. Felizmente o grupo Skynet tinha ciência deste problema e nos tranquilizou quanto a isso; Eles vão fazer a conversão para um padrão de preferência deles e depois passar para nós, que teremos consciência deste padrão e poderemos manipular a informação á vontade.

O segundo problema, o da conexão, era um pouco mais complicado. O Skynet já havia fazendo testes com o dispositivo físico mais sem muitos resultados, então estavam esperando outro dispositivo chegar por encomenda para fazer mais testes. Segundo eles até o domingo passado (14/04) eles estariam trabalhando nesta questão. De qualquer forma concordamos que o pareamento seria feito através dos recursos do aparelho externamente ao programa (e a biblioteca por consequência) e quando ativado o Diagnosticar procuraria pelos pareamentos já feitos para tentar a conexão. Como eles não tinham o formato como a conexão seria feita, os parâmetros e retornos mais especificamente, deixamos esta questão para a próxima reunião.

Os outros membros falarão sobre os outros avanços específicos do aplicativo e suas funções específicas mais tarde, por isso continue visitando o blog de desenvolvimento

Gostou da notícia? Compartilhe nas redes sociais e espalhe esse projeto. Duvidas e sugestões poste um comentário com elas.

Conexão e gerenciamento de carros

segunda-feira, 8 de abril de 2013 0

Olá, sou o Rafael e venho postando, até agora, o avanço obtido com a parte de conexão. Neste post irei mostrar algumas mudanças que foram realizadas.


Vimos que a primeira tela que havia sido criada, com os botões de entrar sem conectar e encontrar carro, não seriam mais necessárias. Sendo assim, a tentativa de se conectar com algum dispositivo OBD seria feita assim que o aplicativo fosse inicializado, por isso, a primeira tela á aparecer mostrará ao usuário se algum dispositivo foi conectado.

Para que possa se conectar e obter as informações dos veículos, é preciso que estes já tenham sido cadastrados no app. Os carros estão diretamente relacionados com o dispositivo OBD, que possuem um MAC adress único. Através desse adress é que a identificação do carro é feita. Nosso aplicativo terá acesso a esses adresses através da lista de dispositivos bluetooth pareados com o celular, ou seja, para o usuário cadastrar um carro, o OBD já deverá ter sido pareado, assim aquele irá selecionar o dispositivo desejado em uma lista, e apenas atribuir um nome(de preferência o nome do carro kkk) para o adress.

O aplicativo ao inciar tentará se conectar com um dos adresses cadastrados, caso consiga, será mostrado ao usuário qual carro foi conectado. Caso contrário o app mostrará que não foi possivel realizar uma conexão e então bloqueará algumas funções.

Ao pensar um pouco, percebemos que o bluetooth deveria estar ligado assim que o app fosse iniciado, para que este possa tentar realizar uma conexão. Então, caso o bluetooth não tenha sido ligado quando o usuário abriu o app, este pedirá permissão para ligar o bluetooth, e caso receba resposta afirmativa, tentará realizar o processo já descrito anteriormente.

Não temos imagens para mostrar dessa parte ainda pois o emulador do eclipse não tem suporte ao bluetooth, mas logo iremos mostrar o funcionamento no celular mesmo, talvez até com um video.


Notas de atualização 01/04/13

segunda-feira, 1 de abril de 2013 0

Notas de Atualização: 01/04/13

-Criada a classe SuperiorBancoDao
     + Essa classe simula o bando de dados que estará no projeto do superior
-Criada a classe Informacao
     + Essa classe é uma utilitária e armazena as informações obtidas do OBD no formato combinado com o Grupo Skynet (Calebe Varga) e com o professor Ivan.
-Criada a classe InformacaoDAO
     + Essa é a classe DAO para a classe informação no nosso próprio BDD.
-Atualizada a classe GerarInfo
     + A classe agora possui métodos para criar dados fictícios com efeito de simular o dispositivo OBD operante. Ela trabalha com o banco de dados do superior (SuperiorBancoDAO) para que a simulação seja mais próxima do planejado.

Essas atualizações foram feitas para que possamos simular a interação com o BDD da biblioteca Skynet com o nosso próprio, ainda não estão funcionais.

The 475 Group. Tecnologia do Blogger.