Aplicativo PSLab para Android
Repositório do aplicativo PSLab Android para realização de experimentos com a plataforma de hardware aberto Pocket Science Lab.
Este repositório contém o aplicativo Android para realizar experimentos com PSLab. PSLab é um pequeno laboratório científico de bolso que fornece uma variedade de equipamentos para realizar experimentos científicos e de engenharia. Pode funcionar como osciloscópio, gerador de forma de onda, contador de frequência, fonte programável de tensão e corrente e também como registrador de dados. Nosso site está em https://pslab.io.
Inscreva-se para receber as atualizações mais recentes e testar novos recursos antecipadamente, ingressando em nosso programa beta aqui.
Comprar
- Você pode obter um dispositivo Pocket Science Lab na Loja FOSSASIA.
- Mais revendedores estão listados no site PSLab.
Comunicação
- O canal de bate-papo do PSLab está no Gitter.
- Junte-se a nós também na lista de discussão do PSLab.
Roteiro
Capturas de tela
Demonstração em vídeo
- Visão geral do aplicativo PSLab para Android.
- Observando formas de onda sonoras usando o dispositivo PSLab.
- Registro de dados de sensores em tempo real usando o Pocket Science Lab.
- Gerando e observando formas de onda usando o Pocket Science Lab.
Características
Recurso | Descrição | Status |
---|
Tela inicial | Mostrar status e versão do dispositivo PSLab | ✔️ |
Instrumentos | Expõe instrumentos PSLab como osciloscópio, etc. | ✔️ |
Osciloscópio | Mostra variação de sinais analógicos | ✔️ |
Multímetro | Mede tensão, corrente, resistência e capacitância | ✔️ |
Analisador Lógico | Captura e exibe sinais do sistema digital | ✔️ |
Gerador de Ondas | Gera formas de onda analógicas e digitais arbitrárias | ✔️ |
Fonte de energia | Gera tensões e correntes programáveis | ✔️ |
Luxímetro | Mede a intensidade da luz ambiente | ✔️ |
Barômetro | Mede a pressão | ✔️ |
Acelerômetro | Mede a aceleração do dispositivo | ✔️ |
Girômetro | Mede a taxa de rotação | ✔️ |
Bússola | Mede a rotação absoluta em relação aos pólos magnéticos da Terra | ✔️ |
Termômetro | Mede a temperatura ambiente | ✔️ |
Sensor de gás | Detecta gases, incluindo NH3, NOx, álcool, benzeno, fumaça e CO2 | ✔️ |
Controlador de braço robótico | Permite controlar 4 servo motores do braço robótico de forma independente | ✔️ |
Como configurar o aplicativo Android em seu ambiente de desenvolvimento
Sabores de aplicação
Existem 2 sabores (variantes de construção) do aplicativo PSLab Android.
Sabor da Play Store
- O tipo Play Store usa o Google Maps para exibir a localização armazenada nos registros do registrador de dados.
Sabores Fdroid
- O sabor Fdroid usa Open Street Maps para exibir a localização armazenada em registros no registrador de dados.
Configuração de desenvolvimento
Antes de começar, você já deve ter baixado e configurado o SDK do Android Studio corretamente. Você pode encontrar um guia sobre como fazer isso aqui: Configurando o Android Studio
Configurando o projeto Android
Para configurar o projeto PSLab Android você pode seguir qualquer um dos dois métodos listados abaixo, ou seja, você pode baixar o arquivo zip do repositório ou pode clonar diretamente o repositório para Android Studio.
Baixando o arquivo zip
Baixe a fonte do projeto pslab-Android . Você pode fazer isso bifurcando e clonando o repositório (recomendado se você planeja enviar alterações) ou baixando-o como um arquivo ZIP e extraindo-o.
Abra o Android Studio, você verá uma janela Bem-vindo ao Android . Em Início Rápido, selecione _Importar Projeto (Eclipse ADT, Gradle, etc.) Para depurar por Wi-Fi, siga as etapas fornecidas neste Blog.
- Nota: Se você construiu seu próprio hardware, altere VendorID e/ou ProductID em CommunicationHandler.java.
Por clonagem direta
- Abra o Android Studio, você verá uma janela Bem-vindo ao Android . Em Início rápido, selecione "verificar projeto do controle de versão".
- Selecione git no menu suspenso que apareceu.
- Vá para o repositório e clique no botão clonar ou baixar.
- No menu suspenso que apareceu, copie o link.
- Cole o URL que você copiou e pressione clonar.
- O Android Studio agora deve começar a construir o projeto com Gradle.
- Depois que esse processo for concluído e o Android Studio for aberto, verifique se há erros de compilação no console.
- Observação: se você receber um erro de sincronização do Gradle intitulado "falha ao encontrar...", clique no link abaixo da mensagem de erro (se disponível) que diz Instalar plataformas ausentes e sincronizar projeto e permitir que o Android Studio faça isso. buscar o que está faltando.
- Depois que todos os erros de compilação forem resolvidos, você deverá estar pronto para criar o aplicativo e testá-lo.
- Para construir o aplicativo, vá para Build>Make Project (ou alternativamente pressione o ícone Make Project na barra de ferramentas).
- Se o aplicativo foi construído com sucesso, você pode testá-lo executando-o em um dispositivo real ou emulado acessando Executar> Executar 'aplicativo' ou pressionando o ícone Executar na barra de ferramentas.
Se você quiser construir apenas apk, vá para Build> Build apk e apk seria build e o diretório onde o apk é gerado seria solicitado pelo Android Studio.
Você não pode depurar da maneira usual, pois o dispositivo PSLab está conectado à porta micro-USB por meio de um cabo OTG. Portanto, o dispositivo Android não está conectado ao PC por meio de cabo USB.
Para depurar por Wi-Fi siga os passos indicados neste Blog.
- Nota: Se você construiu seu próprio hardware, altere VendorID e/ou ProductID em CommunicationHandler.java.
Permissões necessárias
- Record_Audio: É necessário que o osciloscópio aceite entradas do microfone embutido do telefone. Você pode encontrar sua implementação em AudioJack.java.
- Access_Fine_Location e Internet: É necessário para uso em luxímetro e bússola para obter as coordenadas para marcar os dados no mapa. Você pode encontrar sua implementação em GPSLogger.java.
- Write_External_Storage: É necessário para armazenar arquivos de log de instrumentos que podem ser transferidos para análises futuras.
- Read_External_Storage: Ao gravar logs no armazenamento, CSVLogger.java primeiro verifica se existe ou não algum diretório CSVLogger e que requer esta permissão de leitura.
Configuração para usar PSLab com aplicativo Android
Para usar o dispositivo PSLab com Android, você simplesmente precisa de um cabo OTG, um dispositivo Android com recurso USB Host habilitado (a maioria dos telefones modernos tem suporte para OTG) e o aplicativo PSLab para Android. Conecte o dispositivo PSLab ao telefone Android via cabo OTG. O descanso é feito pelo próprio App.
Melhores práticas de contribuições
Práticas de código
Ajude-nos a seguir as práticas recomendadas para facilitar tanto para o revisor quanto para o colaborador. Queremos nos concentrar mais na qualidade do código do que no gerenciamento da ética das solicitações pull.
- Confirmação única por solicitação pull.
- Faça referência aos números do problema na mensagem de commit. Siga o padrão
Fixes #<issue number> <commit message>
- Siga práticas de design uniformes. A linguagem de design deve ser consistente em todo o aplicativo.
- A solicitação pull não será mesclada até e a menos que os commits sejam esmagados. Caso haja vários commits no PR, o autor do commit precisa esmagá-los e não os mantenedores escolhendo e mesclando os squashes.
- Se o PR estiver relacionado a qualquer alteração de front-end, anexe capturas de tela relevantes na descrição da solicitação pull.
Como git squash
?
Como uma dica para novos desenvolvedores que lutam para compactar commits em um só, vários commits podem aparecer em sua solicitação pull, principalmente pelos seguintes motivos.
- Adicionar intencionalmente várias mensagens de commit após cada alteração sem apenas
git add
ing. - Atualizando o branch atual com o remoto para que ocorra um commit de mesclagem.
Independentemente de qualquer motivo, siga as etapas abaixo para agrupar todos os commits em um, seguindo nossas melhores práticas.
- Configure o controle remoto para a ramificação upstream se não tiver sido definido antes
$ git remote add upstream https://github.com/fossasia/pslab-android.git
- Faça check-in no branch relacionado à solicitação pull
$ git checkout <branch-name>
- Execute uma reinicialização suave para manter as alterações enquanto remove todos os detalhes do commit
$ git reset --soft upstream/development
- Adicione arquivos à área de teste
$ git add <file paths or "." to add everything>
- Crie um novo commit com uma mensagem adequada seguindo as diretrizes de mensagens de commit
$ git commit -m "tag: commit message"
- Se você já fez uma solicitação pull
$ git push -f origin <branch-name>
Política de Filial
Temos as seguintes filiais
- desenvolvimento Todo o desenvolvimento ocorre neste ramo. Se você estiver fazendo uma contribuição, deverá fazer uma solicitação pull para development . Certifique-se de que ele passe na verificação de construção do Travis.
- master Contém o código estável. Depois que recursos/correções de bugs significativos são acumulados no desenvolvimento, nós os movemos para master.
- apk Este branch contém um arquivo apk gerado automaticamente para teste.
Estilo de código
Tente seguir as diretrizes mencionadas ao escrever e enviar seu código, pois isso facilita a compreensão do revisor e de outros desenvolvedores.
- Ao nomear os arquivos de layout, certifique-se de que a convenção seguida seja (atividade/fragmento) _ (nome).xml como
activity_oscilloscope.xml
, fragment_control_main.xml
. - Nomeie as visualizações e widgets definidos nos arquivos de layout como (viewtype/widget) _ (fragmento/nome da atividade) _ (nº no arquivo) como
spinner_channel_select_la1
, button_activity_oscilloscope1
. - O nome do arquivo de atividade/fragmento correspondente aos arquivos de layout deve ser nomeado como (activity/fragment name)(activity/fragment).java como
ChannelsParameterFragment.java
correspondente ao arquivo de layout fragment_channels_parameter.xml
. - Os widgets correspondentes para botões, caixas de texto, caixas de seleção etc. em arquivos de atividades devem ser nomeados como (viewtype/widget)(fragmento/nome da atividade)(nº no arquivo) como
spinnerChannelSelect1
correspondente a spinner_channel_select1
.
Desenvolvedores
Mantenedores
O projeto é mantido por
- Padmal (@CloudyPadmal)
- Mário Behling (@mariobehling)
- Lorenz Gerber (@lorenzgerber)
- Wei Tat (@cweitat)
- Wai Gie (@woshikie)
Ex-alunos
- Neel Trivedi (@ neel1998)
- Akarshan Gandotra (@ akarshan96)
- Asitava Sarkar (@ asitava1998)
- Vivek Singh Bhadauria (@viveksb007)
- Avjeet (@Avjeet)
- Abhinav (@abhinavraj23)
- Duro (@ severo-2711)
- Yatri (@yatri1609)
Licença
Este projeto está atualmente licenciado sob a Licença Apache 2.0. Uma cópia da LICENSE deve estar presente junto com o código-fonte. Para obter o software sob uma licença diferente, entre em contato com a FOSSASIA.