Étape 7: panneau solaire suivi – application ANDROID (2)
LE WIDGET DE L’APP
App widgets sont des petites fenêtres qui peuvent être placés sur l’écran d’accueil Android. Il peuvent être utilisés pour afficher des informations ou données de l’application sur l’écran d’accueil sans passer par l’application en cours d’exécution. J’utilise ceci ici d’avoir trois principales valeurs (puissance consommée et la puissance produite de puissance exportée ou importée) toujours visibles lorsque j’utilise mon téléphone ou tablette.
Le widget app utilise sa propre horloge
mise à jour des données toutes les 1 minute. Les données actualisées sont extraites de la carte Arduino
avec l’aide de la bibliothèque d’okhttp qui comprend des fonctions faciles à utiliser pour communiquer sur un réseau.
LES FONCTIONS DE BASE DE DONNÉES
J’utilise une extension de la SQLiteOpenHelper pour accéder facilement à une base de données locale sur l’Android.
La base de données est généré automatiquement lorsque l’application s’il ouvre la première fois
Toutes les fonctions nécessaires pour accéder à la base de données sont implémentées dans la classe de base de données d’assistance.
LE SERVICE DE SYNCHRONISATION
L’Arduino ajoute chaque minute un ensemble de données dans la base de données. Si l’application Android commence, la quantité de données qui doit être synchronisé peut être assez grand et prendre beaucoup de temps à synchroniser. Pour raccourcir ce que j’ai créé un service d’arrière-plan qui est appelé une fois par jour pour synchroniser les bases de données de l’Arduino et l’appareil Android. Pour la synchronisation, le script query.php sur l’Arduino est appelée.
Encore une fois la bibliothèque okhttp est utilisée pour accéder à la carte Arduino.
LE SERVICE DE REBOOT
Il est nécessaire déclencher les minuteries pour les mises à jour du widget app et la synchronisation de tous les jours encore après que l’appareil Android est en marche ou a été rebootet. Cela se fait dans la classe de démarrage automatique, qui est appelée par le système d’exploitation Android, chaque fois que l’appareil démarre ou a été rebootet.
La classe AutoStart vérifie s’il n’y a aucun widgets app active et démarre la minuterie de mise à jour si nécessaire. La minuterie de synchronisation quotidienne est démarrée chaque fois.
C’est tout pour l’application Android. Je ne suis pas dans les détails ici, parce que le code source est assez grand. Mais si vous êtes intéressé, que vous pouvez consulter le code source entier de mon dépôt Github.
Dirigez-vous au dernier post de cette série. Vous trouverez une liste de composants matériels, que j’ai utilisé, développement IDE utilisé pour le développement logiciel Arduino et Android et les bibliothèques nécessaires utilisés dans les applications.