Home > 2013

2013

Último post antes da primeira apresentação

quarta-feira, 16 de outubro de 2013 0

O projeto DiagnostiCar está no fim.
Alcançamos as metas do grupo no quesito desenvolvimento e, nessas últimas semanas, estivemos focados no quesito documentação. Agora, estamos nos preparando para a primeira apresentação.

Avanços no grafico

segunda-feira, 16 de setembro de 2013 0

Depois de muito tempo sem postar venho mostrar meu desempenho com relação aos gráficos

Varias funcionalidades foram adicionadas.
Adicionei uma tela de configurações que permite:

Sobre o grafico:
Alterar o tipo do grafico: Barra ou Linha
Alterar o titulo de grafico
Alterar a cor de fundo
Alterar a densidade (tamanho das colunas)

Sobre os eixos:
Mostrar valores
Mostrar eixos
Alterar a cor dos eixos
Mostrar grade Horizontal e Vertical

Sobre as Séries (uma tela de config pra cada)
Alterar a Cor
Caso o grafico seja de linha poderemos tambem:
Mudar a espessura da linha
Mudar o formato da linha em continua, tracejada ou pontilhada
Mostrar o Ponto
     mudar o formato do ponto em circulo, diamante, quadrado, triangulo ou X
     preencher o ponto

Para facilitar segue uma sequencia de imagens


nesta imagem vericamos a disposição do grafico na tela. Vale lembrar que é possivel movimentar o grafico e dar zoom (caracteristicas da biblioteca usada: achartengine)









Aqui podemos ver a tela de configuração do grafico com as opções ja citadas
aqui temos a tela de configuração de cada serie e o modo como a escolha das cores é apresentado











É isso pessoal, o proximo passo agora é utilizar como dados do grafico (que atualmente está aleatorio) as informações do banco de dados mas para isso precisamos do simulador 100% então nessa semana e na proxima vou ajudar o yves com isso.

Status, CORE e novos rumos

quarta-feira, 21 de agosto de 2013 0

Olá, sou o Rafael e venho novamente relatar novidades sobre o desenvolvimento do projeto.
Todos os integrantes ficaram um bom tempo sem realizar nenhuma postagem, porém, isso não significa que o projeto parou, pelo contrário, nas últimas semanas obtivemos grandes avanços e, por isso, logo realizaremos alguns posts mostrando as novas funções do app.

Enfim, o que finalmente foi determinado é que infelizmente teremos que trabalhar apenas com simulação, pois todas as opções possíveis para a utilização real do dispositivo OBD foram descartadas. Dessa forma o aplicativo, a principio, não conseguirá receber informações reais, algo que pretendemos implementar posteriormente a apresentação do projeto. A boa noticia é que o Yves ficou responsável por melhorar esta simulação, tornando-a menos aleatória.

Sobre a função de minha responsabilidade, venho relatar alguns "avanços". Toda a estrutura para o recebimento de dados foi criada. Um CORE foi gerado, o que significa que o app conta com um centro de gerenciamento de informações, ou seja, toda informação recebida pela simulação (ou posteriormente pelo OBD) passara pelo CORE e será direcionada a tela de Status e/ou ao banco de dados. O CORE é acessível de todas as atividades da aplicação, facilitando o desenvolvimento do projeto.

Em relação a Status venho tendo alguns problemas com as dimensões das imagens, porém logo estará resolvido e assim que puder postarei os prints. Uma tela de configurações será criadas, onde o intervalo de coleta e o número de colunas do GridView podem ser determinado pelo usuário.

Ainda esta semana postaremos mais novidades, fiquem atentos.

Layout e Status

segunda-feira, 15 de julho de 2013 0

Sou o Rafael e depois de algum tempo, venho postar novidades sobre o andamento do projeto.
Finalmente definimos um padrão de layout, graças principalmente ao Gabriel.
A imagem abaixo mostra como ficou a tela inicial.


Uma estrutura diferente também foi aplicada a tela de Status.
Agora a  tela possui uma gridview, onde cada posição mostrará uma informação distinta. Dessa forma, o usuário terá total controle sobre as informações que deseja visualizar.


Cada informação será representada por uma imagem diferente, e abaixo de cada imagem seu valor será representado, de forma escrita e/ou através de uma progressbar(No caso de nível de gasolina, água, óleo e etc.).

Ainda estamos trabalhando com simulação, porém há a possibilidade de trabalharmos com uma biblioteca já pronta para o OBD, apenas estamos realizando alguns teste. No entanto ainda é apenas uma hipótese.


Simuladores...

domingo, 7 de julho de 2013 0

Além do nosso projeto, nosso subversion contém o SkynetSimulador (que simula os serviços do Projeto Skynet) e o TesteOBD (que utiliza a biblioteca android-obd-reader para se comunicar com o dispositivo).

Hoje, foi feito o commit de mais um projeto de simulação/teste, o SimuladorWeb. Ele emula os webservices do Projeto CarControl, efetuando a comunicação entre o dispositivo android e o servidor de dados, por meio de objetos json.

E é o que tem pra hoje - Jean.

"Status" da Sincronização

domingo, 9 de junho de 2013 0

Eu, Jean, passei só pra atualizar sobre a Sincronização:
 - O usuário tem a possibilidade de escolher entre sincronização automática e manual. Na automática, há a opção de transferência somente quando a conexão for Wi-Fi.
- Além disso, pode-se "manter dados após a sincronização" ou não.



 - Na primeira vez, é necessário escolher uma das contas vinculadas ao dispositivo para sincronizar.
 - Caso não haja nenhuma conta vinculada, é exibido um Dialog, com a opção de criar uma agora, da mesma forma como é exibido o aviso referente à falta de internet, que pode redirecionar o usuário às Configurações de Wi-Fi.

Registro de Atividades

segunda-feira, 27 de maio de 2013 0

Olá, Bem, durante este tempo que fiquei sem postar varias modificações foram feitas:

Código: foi adicionada a biblioteca droidpersistente para facilitar o uso das DAO's e tambem para diminuir a futura documentação. Também o conceito de herança foi bastante aplicado as activities de cadastro / registro de carro / trajeto; agora temos activitys genericas para ambas as funcionalidades.
Layout: permaneceu o mesmo, porem com singelas modificações, todas as activities agora tem uma barra de titulo personalizada definida na BaseActivity. Alem disso todas elas dispoem de um botao no canto superior cuja função é definida de acordo com a necessidade de cada activity.

Minha parte: bom, como  dito anteriormente, eu fiquei resposavel pela parte do grafico, e nesta semana fiz uma activity de testes para graficos de linha genericos (onde se insere o valor de x e y e pode ser adicionada varias series).

Por fim, tive um ideia do logo para nosso app que ainda precisa da aprovação do grupo, por isso nao posto ele aqui...

That's all Folks

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.

Trajeto

0

Boa tarde sou Yves e falarei um pouco sobre a função trajeto que estará presente no DiagnostiCar.

O que é?
Basicamente a função trajeto permite que o usuário defina uma rota com origem e destino que ele vai percorrer e, enquanto essa rota estiver ativada, o aplicativo irá associar os dados obtidos do OBD com aquela rota. Ao final é possível visualizar os dados de uso do carro naquele durante o percurso.

Que tipo de informações eu posso obter?
O dispositivo OBD coleta todas as informações sobre o carro e passa para o nosso aplicativo mas a seleção das informações é por nossa conta. Decidimos que o aplicativo revele as informações mais úteis ao dia-a-dia e apesar de não definirmos todas temos alguns exemplos: Consumo de óleo, combustível e água, kilometros rodados, velocidade média, tempo de percurso são algumas das informações que deverão estar presentes na funcionalidade.

Para que usar essa funcionalidade?
O objetivo da função Trajeto é de revelar dados de uso do automóvel para o usuário afim de ele conhecer as informações que ele "perde" todos os dias, por exemplo, sabendo que o tempo de trajeto na segunda-feira foi maior que na quarta-feira pode-se deduzir que segunda o transito de carros pelo trajeto é maior. Sabendo disso o usuário pode escolher um caminho alternativo que não tenha tanto transito. Um outro exemplo nessa mesma linha de pensamento é comparar o consumo de combustível e kilometragem do novo trajeto das segundas com o antigo. Pode ser que mesmo sendo um caminho mais longo (maior kilometragem) ele consuma menos combustível e leve menos tempo para alcançar o mesmo objetivo. Os usos não se limitam a esses mas a intenção será sempre a mesma; Oferecer informações que melhorem a vida do usuário.

Conforme formos desenvolvendo a funcionalidade estaremos atualizando o blog, então fique ligados.

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

Alteração na parte de conexão com OBD

sábado, 30 de março de 2013 0

Na última quarta-feira(27/03) nos encontramos com o professor Ivan, e algumas alterações foram realizadas para uma maior praticidade na parte conexão. Ainda não estava muito clara como seria feita a conexão bluetooth, porém algumas idéias esclareceram várias dúvidas.
O nosso app irá pegar uma lista de dispositivos emparelhado com o Android, ou seja, dispositivos que ja havia sido emparelhado até antes mesmo da instalação do app no celular. Assim nós poderemos tirar a primeira tela(mostrada no post anterior), pois não será realizada uma busca ao iniciar o app, este apenas tentará se conectar com um dos dispositivos já emparelhado. Caso nenhum dispositivo esteja disponivel para Conexão, o app entrará no modo "offline", sendo usado apenas para visualização das informações já salvas. Logo postaremos como está o funcionamento da versão atual.

Conexão com dispositivos OBD (Simulação)

segunda-feira, 25 de março de 2013 0

Decidimos começar o projeto com a parte de conexão com o OBD, sendo assim, tivemos que criar uma classe que simularia a detecção dos dispositivos(pois o superior ainda não desenvolveu esta parte de encontrar os dispositvos).
Na primeira tela do aplicativo, os usários possuem duas opções: Conectar ao OBD, ou entrar sem conectar.
A opção entrar sem conectar é utilizada apenas para consulta dos dados já salvos, e também para a comunicação com a WEB. Já quando o app se conecta á algum dispositivo OBD, o app estará constantemente pegando informações geradas pelo dispositivo.

Então a primeira tela a principio ficará mais ou menos assim:


Escolhendo a opção conectar com o obd, o aplicativo irá procurar os dispositivos OBD ao redor e que estão disponíveis para serem pareados.


No momento, os dispositivos encontrados, são "gerado aleatoriamente", e como ainda não há a parte para o cadastro de carros, os dispositivos aparecem como desconhecidos. Se algum obd encontrado já estiver cadastrado, aparecerá o nome do carro.


Ao fim da busca, o usuário poderá escolher um dispositivo, se o dispositivo escolhido foi cadastrado, ele se conectara com o OBD associado ao carro. Caso ainda não esteja cadastrado, o usuário será direcionado para a parte de cadastro de carro.

*Lembrando que como foi pedido, caso o app encontre apenas um dispositivo e este já tenha sido cadastrado, o app se conectará automaticamente ao OBD encontrado.

Em breve postaremos a parte de cadastro de carro, e a exibição dos mesmos nesta lista de conexão.

Responsabilidades

segunda-feira, 18 de março de 2013 0

A respeito da programação em si, definimos um membro do grupo como responsável para cada módulo do projeto.

  • Estatísticas - Gabriel
  • Status - Rafael
  • Trajeto - Yves
  • Web - Jean

Foi feito o primeiro commit, pelo Rafael: Um projeto esqueleto, simulando a futura interface e a conexão bluetooth.

Reuniões 13/03

0

Reunião com o grupo SkyNet. Em pauta, o funcionamento geral do projeto deles e como se daria a transferência de dados entre o Dispositivo OBD, o SkyNet e o Diagnosticar.

Foi definido o padrão de comunicação entre o nosso projeto, e o projeto do superior. Assim o Diagnosticar não fará o contato direto com o aparelho OBD, pegando as informações geradas por este através de uma base de dados, gerada pelo Skynet, ou seja, a comunicação será realizada de forma assíncrona.
O nosso aplicativo irá iniciar a execução do skynet, esse por sua vez começara constantemente a buscar informações no dispositivo obd. Assim sendo, quando requisitado, nosso aplicativo buscara as informações na base dados criada pelo skynet, e a partir disso nosso trabalho será independente do grupo do superior.

No mesmo dia, foi conversado com o grupo CarControl a possibilidade de sincronização.

O projeto

0

Em conjunto com os projetos CarControl e SkyNet, o DiagnostiCar receberá os dados provenientes da biblioteca SkyNet, tratando-os e exibindo-os de forma útil e organizada ao usuário. Em sequência, será possível a sincronização de informações com o CarControl.

Ampliando os horizontes

segunda-feira, 25 de fevereiro de 2013 0

Dados os fatos, nossa nova visão inclui o OBD II (On-Board Diagnostic), que é um sistema de diagnóstico para veículos. Surge o DiagnostiCar, com o ideal de que, com seu android, conectado por bluetooth ao seu dispostivo OBD, seja possível receber informações sobre seu carro.

Para que conste nos autos

domingo, 24 de fevereiro de 2013 0

Inicialmente, nosso projeto teve como base a ideia do eService. Após algumas discussões, vertemos, em alguns pontos, o escopo do projeto e apresentamos o JFood.

O JFood seria um sistema android, em parte web, onde usuários visualizariam os cardápios de vários restaurantes. Entretanto, na apresentação, a banca sugeriu que não seria interessante exibir os preços dos pratos, sendo assim, optamos por desviar o rumo do projeto.

Definição de Grupo

0

Nome do Grupo: The 475 Group.
Integrantes: Gabriel Pioto, Jean Augusto, Rafael Giacomo e Yves Medhard.
Turma 475

The 475 Group. Tecnologia do Blogger.