Application Android PSLab
Référentiel pour l'application Android PSLab permettant de réaliser des expériences avec la plate-forme matérielle ouverte Pocket Science Lab.
Ce référentiel contient l'application Android permettant d'effectuer des expériences avec PSLab. PSLab est un petit laboratoire scientifique de poche qui fournit une gamme d’équipements permettant de réaliser des expériences scientifiques et techniques. Il peut fonctionner comme un oscilloscope, un générateur de formes d'onde, un compteur de fréquence, une source de tension et de courant programmable et également comme un enregistreur de données. Notre site Web est à https://pslab.io.
Inscrivez-vous pour recevoir les dernières mises à jour et tester rapidement les nouvelles fonctionnalités en rejoignant notre programme bêta ici.
Acheter
- Vous pouvez vous procurer un appareil Pocket Science Lab dans la boutique FOSSASIA.
- D'autres revendeurs sont répertoriés sur le site Web de PSLab.
Communication
- Le canal de discussion PSLab est sur Gitter.
- Veuillez également nous rejoindre sur la liste de diffusion PSLab.
Feuille de route
Captures d'écran
Démo vidéo
- Présentation de l'application Android PSLab.
- Observation des formes d'onde sonores à l'aide du périphérique PSLab.
- Enregistrement des données de capteurs en temps réel à l'aide de Pocket Science Lab.
- Génération et observation de formes d'onde à l'aide de Pocket Science Lab.
Caractéristiques
Fonctionnalité | Description | Statut |
---|
Écran d'accueil | Afficher l'état et la version de l'appareil PSLab | ✔️ |
Instruments | Expose les instruments PSLab comme l'oscilloscope, etc. | ✔️ |
Oscilloscope | Affiche la variation des signaux analogiques | ✔️ |
Multimètre | Mesure la tension, le courant, la résistance et la capacité | ✔️ |
Analyseur logique | Capture et affiche les signaux du système numérique | ✔️ |
Générateur d'ondes | Génère des formes d'onde analogiques et numériques arbitraires | ✔️ |
Source d'alimentation | Génère des tensions et des courants programmables | ✔️ |
Luxmètre | Mesure l'intensité de la lumière ambiante | ✔️ |
Baromètre | Mesure la pression | ✔️ |
Accéléromètre | Mesure l'accélération de l'appareil | ✔️ |
Gyromètre | Mesure le taux de rotation | ✔️ |
Boussole | Mesure la rotation absolue par rapport aux pôles magnétiques terrestres | ✔️ |
Thermomètre | Mesure la température ambiante | ✔️ |
Capteur de gaz | Détecte les gaz, notamment le NH3, les NOx, l'alcool, le benzène, la fumée et le CO2 | ✔️ |
Contrôleur de bras robotique | Permet de contrôler indépendamment 4 servomoteurs du bras robotique | ✔️ |
Comment configurer l'application Android dans votre environnement de développement
Saveurs d'application
Il existe 2 versions (variantes de construction) de l'application PSLab Android.
Saveur Play Store
- La version Play Store utilise Google Maps pour afficher l'emplacement stocké dans les journaux de l'enregistreur de données.
Saveurs Fdroid
- La version Fdroid utilise Open Street Maps pour afficher l'emplacement stocké dans les journaux de l'enregistreur de données.
Configuration du développement
Avant de commencer, vous devriez déjà avoir téléchargé et configuré correctement le SDK Android Studio. Vous pouvez trouver un guide sur la façon de procéder ici : Configuration d'Android Studio
Configuration du projet Android
Pour configurer le projet PSLab Android, vous pouvez suivre l'une des deux méthodes répertoriées ci-dessous, c'est-à-dire que vous pouvez télécharger le fichier zip du référentiel ou cloner directement le référentiel sur Android Studio.
En téléchargeant le fichier zip
Téléchargez la source du projet pslab-android . Vous pouvez le faire soit en dukant et en clonant le référentiel (recommandé si vous envisagez d'apporter des modifications), soit en le téléchargeant sous forme de fichier ZIP et en l'extrayant.
Ouvrez Android Studio, vous verrez une fenêtre de bienvenue sur Android . Sous Démarrage rapide, sélectionnez _Importer un projet (Eclipse ADT, Gradle, etc.). Pour déboguer via Wi-Fi, suivez les étapes indiquées dans ce blog.
- Remarque : Si vous avez construit votre propre matériel, modifiez VendorID et/ou ProductID dans CommunicationHandler.java.
Par clonage direct
- Ouvrez Android Studio, vous verrez une fenêtre de bienvenue sur Android . Sous Démarrage rapide, sélectionnez « Extraire le projet à partir du contrôle de version ».
- Sélectionnez git dans le menu déroulant qui apparaît.
- Accédez au référentiel et cliquez sur le bouton Cloner ou Télécharger.
- Dans la liste déroulante qui apparaît, copiez le lien.
- Collez l'URL que vous avez copiée et appuyez sur Cloner.
- Le studio Android devrait maintenant commencer à créer le projet avec Gradle.
- Une fois ce processus terminé et Android Studio ouvert, recherchez dans la console toute erreur de construction.
- Remarque : Si vous recevez une erreur de synchronisation Gradle intitulée "Échec de la recherche...", vous devez cliquer sur le lien situé sous le message d'erreur (si disponible) indiquant Installer la ou les plates-formes manquantes, synchroniser le projet et autoriser Android Studio à va te chercher ce qui manque.
- Une fois que toutes les erreurs de construction ont été résolues, vous devriez être prêt à créer l’application et à la tester.
- Pour créer l'application, accédez à Build>Make Project (ou appuyez sur l'icône Make Project dans la barre d'outils).
- Si l'application a été créée avec succès, vous pouvez la tester en l'exécutant sur un appareil réel ou émulé en allant dans Exécuter> Exécuter « application » ou en appuyant sur l'icône Exécuter dans la barre d'outils.
Si vous souhaitez uniquement créer l'apk, accédez à Build>Build apk et l'apk sera build et le répertoire dans lequel l'apk est généré sera demandé par Android Studio.
Vous ne pouvez pas déboguer de la manière habituelle car le périphérique PSLab est connecté au port micro-USB via un câble OTG. L'appareil Android n'est donc pas connecté au PC via un câble USB.
Pour déboguer via Wi-Fi, suivez les étapes indiquées dans ce blog.
- Remarque : Si vous avez construit votre propre matériel, modifiez VendorID et/ou ProductID dans CommunicationHandler.java.
Autorisations requises
- Record_Audio : Il est nécessaire que l'oscilloscope accepte les entrées du microphone intégré du téléphone. Vous pouvez trouver son implémentation dans AudioJack.java.
- Access_Fine_Location et Internet : Il est nécessaire pour l'utilisation du luxmètre et de la boussole pour obtenir les coordonnées permettant de marquer les données sur la carte. Vous pouvez trouver son implémentation dans GPSLogger.java.
- Write_External_Storage : Il est nécessaire pour stocker les fichiers journaux des instruments qui peuvent être transférés pour une analyse future.
- Read_External_Storage : lors de l'écriture des journaux dans le stockage, CSVLogger.java vérifie d'abord s'il existe ou non un répertoire CSVLogger qui nécessite cette autorisation de lecture.
Configuration pour utiliser PSLab avec l'application Android
Pour utiliser un appareil PSLab avec Android, vous avez simplement besoin d'un câble OTG, d'un appareil Android avec la fonction hôte USB activée (la plupart des téléphones modernes prennent en charge OTG) et de l'application Android PSLab. Connectez l'appareil PSLab au téléphone Android via un câble OTG. Le repos est géré par l'application elle-même.
Meilleures pratiques en matière de contributions
Pratiques de code
Veuillez nous aider à suivre les meilleures pratiques pour faciliter la tâche du réviseur ainsi que du contributeur. Nous voulons nous concentrer davantage sur la qualité du code que sur la gestion de l’éthique des pull request.
- Validation unique par demande d'extraction.
- Faites référence aux numéros de problème dans le message de validation. Suivez le modèle
Fixes #<issue number> <commit message>
- Suivez des pratiques de conception uniformes. Le langage de conception doit être cohérent dans toute l’application.
- La demande d'extraction ne sera pas fusionnée tant que les validations ne seront pas écrasées. Dans le cas où il y a plusieurs commits sur le PR, l'auteur du commit doit les écraser et non les responsables qui sélectionnent et fusionnent les écrasements.
- Si le PR est lié à un changement frontal, veuillez joindre des captures d'écran pertinentes dans la description de la demande d'extraction.
Comment git squash
?
À titre de conseil pour les nouveaux développeurs qui ont du mal à regrouper les commits en un seul, plusieurs commits peuvent apparaître dans votre pull request, principalement pour les raisons suivantes.
- Ajouter intentionnellement plusieurs messages de validation après chaque modification sans simplement
git add
ing. - Mise à jour de la branche actuelle avec la télécommande afin qu'une validation de fusion ait lieu.
Quelle que soit la raison, suivez les étapes ci-dessous pour regrouper tous les engagements en un seul, conformément à nos meilleures pratiques.
- Configuration à distance vers la branche en amont si elle n'est pas définie auparavant
$ git remote add upstream https://github.com/fossasia/pslab-android.git
- Enregistrez-vous dans la branche liée à la pull request
$ git checkout <branch-name>
- Effectuez une réinitialisation logicielle pour conserver les modifications tout en supprimant tous les détails de la validation
$ git reset --soft upstream/development
- Ajouter des fichiers à la zone de préparation
$ git add <file paths or "." to add everything>
- Créez un nouveau commit avec un message approprié en suivant les directives du message de commit
$ git commit -m "tag: commit message"
- Si vous avez déjà fait une pull request
$ git push -f origin <branch-name>
Politique de la succursale
Nous avons les succursales suivantes
- développement Tout le développement se déroule dans cette branche. Si vous apportez une contribution, vous êtes censé faire une pull request au développement . Assurez-vous qu'il réussit une vérification de construction sur Travis.
- master Ceci contient le code stable. Une fois que des fonctionnalités/corrections de bugs importantes ont été accumulées lors du développement, nous les passons au master.
- apk Cette branche contient un fichier apk généré automatiquement pour les tests.
Style de code
Veuillez essayer de suivre les directives mentionnées lors de la rédaction et de la soumission de votre code, car cela facilite la compréhension du réviseur et des autres développeurs.
- Lorsque vous nommez les fichiers de mise en page, assurez-vous que la convention suivie est (activity/fragment) _ (name).xml comme
activity_oscilloscope.xml
, fragment_control_main.xml
. - Nommez les vues et les widgets définis dans les fichiers de mise en page comme (viewtype/widget) _ (nom du fragment/activité) _ (numéro dans le fichier) comme
spinner_channel_select_la1
, button_activity_oscilloscope1
. - Le nom du fichier d'activité/fragment correspondant aux fichiers de mise en page doit être nommé comme (activity/fragment name)(activity/fragment).java comme
ChannelsParameterFragment.java
correspondant au fichier de mise en page fragment_channels_parameter.xml
. - Les widgets correspondants pour les boutons, les zones de texte, les cases à cocher, etc. dans les fichiers d'activité doivent être nommés comme (viewtype/widget)(fragment/activity name)(no. dans le fichier) comme
spinnerChannelSelect1
correspondant à spinner_channel_select1
.
Développeurs
Mainteneurs
Le projet est maintenu par
- Padmal (@CloudyPadmal)
- Mario Behling (@mariobehling)
- Lorenz Gerber (@lorenzgerber)
- Wei Tat (@cweitat)
- Wai Gie (@woshikie)
Anciens élèves
- Neel Trivedi (@neel1998)
- Akarshan Gandotra (@akarshan96)
- Asitava Sarkar (@asitava1998)
- Vivek Singh Bhadauria (@viveksb007)
- Avjeet (@Avjeet)
- Abhinav (@abhinavraj23)
- Dur (@harsh-2711)
- Yatri (@yatri1609)
Licence
Ce projet est actuellement sous licence Apache License 2.0. Une copie de la LICENCE doit être présente avec le code source. Pour obtenir le logiciel sous une licence différente, veuillez contacter FOSSASIA.