Créez une application Android pour contrôler via Bluetooth un Arduino Contrôler votre maison via RF, le tout avec AppInventor: 6 étapes

Créez une application Android pour contrôler via Bluetooth un Arduino Contrôler votre maison via RF, le tout avec AppInventor: 6 étapes

Table des matières:

Anonim

Je sais que ce titre est une bouchée, mais c'est exactement ce que c'est.

Il y a quelque temps, j'ai créé un instructable décrivant un circuit autour d'un atmega328 (ou un 'Arduino') qui devait dissuader les cambrioleurs en simulant mon chez moi.

Peu à peu, ce système a été étendu à un système de «domotique», car il prenait également soin de mon jardin.

Bien qu’il puisse fonctionner tout seul, j’ai ajouté une interface Bluetooth pour obtenir un retour du système, pour définir certains paramètres, ou pour intervenir en allumant ou en éteignant une lampe par moi-même.

L '«interface» utilisée pour la communication Bluetooth avec mon téléphone était un «terminal Bluetooth». Pas vraiment convivial et il perdrait la connexion chaque fois que je basculerais le téléphone assez loin pour que le programme passe en mode paysage.

Donc, j'avais vraiment besoin d'une 'App', après tout, aucun système de contrôle décent ne peut aujourd'hui s'en passer. Nous ne vivons plus à l'âge de pierre:-)

Bien que je ne sois pas un novice en HTML et en Java, je n'avais aucune expérience dans la création d'applications. En gros, je ne savais pas par où commencer. Téléchargé des systèmes de développement d'applications comme Android studio, mais je pense que cela nécessitait un gazole triljard et plusieurs milliards de disques durs d'espace disque et honnêtement, je trouvais cela un peu désagréable.

Ainsi, après quelques recherches, je suis tombé sur 'App Inventor'. La bonne chose à propos de App Inventor est que cela fonctionne en ligne. Tout ce dont vous avez besoin est un compte Google. Les inventeurs d'applications n'ont besoin d'aucune expérience préalable du programme. Tout est fait en attachant des «blocs» graphiques les uns aux autres.

Au début, l'inventeur de l'application peut sembler un peu intimidant, parler des "émulateurs" et devoir télécharger l'application "compagnon" sur votre téléphone, mais ce n'est pas nécessaire.

Qu'est-ce que vous faites est que vous allez ici pour inventeur d'applications, et si vous avez un compte Google, vous pouvez commencer tout de suite.

Ensuite, je conseille de suivre leur tutoriel de base, Hello Purr, pour vous donner une idée de la façon dont cela fonctionne.

Une fois que vous avez terminé l’exemple «Hello Purr», vous savez peut-être comment cela fonctionne, mais vous avez probablement encore des questions du type «oui, mais comment puis-je me connecter via Bluetooth?».

Eh bien, c'est ce que je vais expliquer dans la prochaine étape

Provisions:

Étape 1: L'application: appuyer sur un bouton, lire les entrées et les sorties

Mon circuit Arduino, comme mentionné, a un module Bluetooth standard connecté au port série. Cela fonctionne de manière autonome, mais il peut prendre des commandes du port série. De là, il prend des commandes pour le faire fonctionner, allumer une lumière, allumer une pompe. Ces commandes étaient toutes imprimables en caractères ascii, car je devais être en mesure de les choisir à partir de mon clavier alors que j'utilisais encore le terminal Bluetooth. Dans une application, peu importe qu'il s'agisse d'une impression ascii ou non, mais dans les deux images ci-dessus, vous pouvez voir les différentes valeurs d'entrée que l'arduino recherche via 'Serial.read ()'.

Il suffit donc de définir dans l’application des boutons qui transmettent ces valeurs au bluetooth du téléphone, qui le transmettra au module bluetooth de l’Arduino et au port série.

Je ne décrirai pas l'application dans les moindres détails car ce serait fastidieux et je suis convaincu que le meilleur moyen d'apprendre consiste simplement à jouer avec elle-même. Je vous fournirai donc le code source de l'application que vous pourrez charger et jouer. Je vais cependant discuter de quelques principes de base pour que vous compreniez bien ce que fait l’application.

Si vous avez suivi l'exemple 'Hello Purr' d'App Inventor, vous savez qu'il existe deux écrans: l'écran de conception et l'écran de blocage.

Dans l’écran de conception, nous déterminons la disposition de notre application. Il s’agit essentiellement de «glisser-déposer» d’éléments sur le faux écran «phonescreen». Toutes sortes de propriétés telles que la couleur, le placement, la taille de police, etc. sont toutes définies dans l'écran de conception et vous en aurez bientôt la possibilité.

Ensuite, dans l'écran de bloc, nous définissons la fonction des différents éléments: En cliquant sur un élément dans la colonne de gauche, nous sélectionnons un certain nombre d'actions possibles pour cet élément.

Dans la troisième image, vous verrez comment cela fonctionne pour deux boutons:

Si le bouton 1 est cliqué, il appelle le client bluetooth pour envoyer un octet. Dans ce cas, il s’agit du numéro 72 (ou «H»). Dans la structure Serial.read () du programme Arduino, vous pouvez voir que cela signifie allumer les lumières du vivant.

Similaire pour le bouton 2: qui appelle le client bluetooth pour envoyer le numéro 104 ('h'). Cela, dans l’Arduinoprogram, signifie "Éteindre la lumière dans le salon"

Le programme Arduino envoie également des données (heure, température) au port série et nous devons les récupérer et les imprimer sur le téléphone. La photo ci-dessous montre comment faire. Nous n'avons pas seulement défini un bouton mais également une zone de texte pour imprimer les résultats. Encore une fois, le bouton appelle le client bluetooth pour envoyer un octet, 116, (a 't'), qui, comme nous pouvons le voir à partir des résultats de notre Arduinoprogram, est en cours d’impression sur le port série.

Nous définissons donc une autre action sous ce bouton, à savoir que la zone de texte appelle le client bluetooth pour lire les octets de revenu. Il s’agit maintenant d’un procédé plutôt grossier, car si un élément était déjà imprimé dans le port série (par exemple, un message de statut automatisé), il le sera également, de sorte que certains ajustements sont toujours nécessaires.

Étape 2: L'application: basculer un bouton

J'ai déjà montré comment envoyer une commande avec un bouton: un bouton pour "ON" et un bouton pour "OFF".

Ennuyeuse!!! Cela prendrait moins d'espace si nous n'avions qu'un bouton que nous pouvions basculer et qui semblait également plus brillant.

Eh bien, ce n'est pas si difficile. Si vous regardez le dessin de l'écran de conception, vous voyez beaucoup de 'gobbledydock' bizarre (désolé pour cela), mais dans le bas-gauche, vous voyez un bouton avec un arrosoir vert. Évidemment, cela a quelque chose à voir avec l'irrigation du jardin.

Les deux images suivantes montrent l’apparence de l’application qui fonctionne: appuyez sur le bouton vert pour envoyer une commande au client Bluetooth puis virer au rouge. Appuyez sur le bouton rouge et il envoie une commande différente et redevient vert

Au début, j'ai trouvé une méthode illustrée dans la 4ème photo. Sous le bouton, nous définissons une structure "Si, sinon, dans laquelle nous vérifions la condition que nous vérifions est le nom de l'image que nous attachons au bouton. Dépendant de ce nom, nous allons ensuite à l'une des deux procédures dans lesquelles nous émettons la commande souhaitée (dans ce cas, envoyant un 'I' ou un 'i') et basculons l'image sur le bouton.

Cependant, cela a semblé inutilement compliqué et la 5ème image montre un moyen plus facile, sans avoir à appeler les procédures

Étape 3: L'application: la connexion Bluetooth

L'application ne servirait à rien si elle ne pouvait pas se connecter à Bluetooth. Je ne sais pas si c'est ce que j'ai fait de mieux, mais cela fonctionne pour moi. Je commence par appeler la liste des appareils associés et, lorsque je choisis le mien et que je me connecte, je change la couleur et le texte du bouton de connexion.

Maintenant, bien sûr, si vous avez une application qui est uniquement destinée à un appareil spécifique, vous pouvez supprimer le sélecteur de liste et simplement vous connecter à l'UUID de l'appareil requis.

La deuxième image montre deux méthodes de base de connexion à Bluetooth:

via le sélecteur de liste et via l’UUID de l’appareil souhaité. L'UUID est le nom sous lequel votre appareil apparaît lorsque vous l'ajoutez, le jumelez ou vous y connectez. Il s’agit généralement d’une série de chiffres portant un nom comme

XX: XX: XX: XX: XX: XX HC-05

Il existe de nombreuses autres façons de se connecter à Bluetooth et vous pouvez trouver des lectures intéressantes ici.

Étape 4: L'application: commandes vocales

J'ai ajouté des commandes vocales de base à l'application. J'ai trouvé que des mots un peu plus longs fonctionnaient mieux que des mots plus courts. «ON» n'a jamais fonctionné pour moi, «OFF» fonctionnait mieux, mais «Bedroom» était généralement parfait. C'est peut-être parce que l'anglais n'est pas ma langue maternelle. De plus, je ne sais pas dans quelle mesure la reconnaissance de la parole permet de comprendre d'autres langues

Étape 5: L'application: la tester et la télécharger

App Inventor propose plusieurs méthodes pour tester votre application. Je l'ai fait en téléchargeant le compagnon de l'inventeur de l'application sur mon téléphone. Tant que votre ordinateur et votre téléphone utilisent le même réseau, cela fonctionne.

En toute honnêteté cependant, après quelques fois, j'ai renoncé à utiliser le compagnon de l'inventeur de l'application, mais je viens de télécharger le code apk sur mon téléphone.

Alors, comment télécharger un fichier apk?

Eh bien, vous devez d'abord en obtenir un. Vous faites cela en cliquant sur le bouton 'build' dans la barre d'outils supérieure: cela vous donne deux options: scanner un code QR ou télécharger le fichier apk sur votre ordinateur.

Je vais habituellement pour le dernier. Le moyen le plus simple d’installer ensuite ce code sur votre téléphone Android est de l’envoyer en pièce jointe à votre propre compte Gmail que vous avez sur votre téléphone. Ouvrir la pièce jointe vous donne alors le choix de l'installer.

Étape 6: L'application: quelques petites astuces et le code

Encore quelques petites choses, puis je vous ai laissé le code pour jouer.

Le design que j'ai donné n'est pas très brillant, je suis sûr que vous pouvez l'adapter à vos besoins avec beaucoup plus d'icônes, mais il ne s'agit que d'un exemple à bricoler.

Le fichier apk sera installé avec une icône standard terne. Vous pouvez spécifier votre propre icône d'application flashy dans les propriétés 'Screen1'. C'est également à cet endroit que vous pouvez spécifier le nom de votre application.

Rappelez-vous qu'au moment où j'écris ceci, je ne suis peut-être qu'un jour devant vous lorsque vous travaillez avec App Inventor. C'est très facile, allez l'utiliser.

voici le fichier, allez simplement à "importer" dans App Inventor et commencez à l'utiliser et à le modifier selon vos besoins