1 votes

Construire une application simple, en arrière-plan

Ce que je dois faire, c'est très simple Je veux utiliser Tasker pour envoyer un message à mon unité Raspberry PI lorsque je me rapproche de chez moi.

Ce que j'ai :

  • Un téléphone Android 6.1
  • Un serveur ssh que je peux atteindre de partout
  • Une unité Raspberry PI derrière un routeur à la maison

J'ai téléchargé tasker, afin de pouvoir déclencher des applications sur mon téléphone et j'ai une application pour me connecter à mon serveur ssh distant. Mon idée est quelque chose comme :

  1. Demandez à la Raspi de vérifier périodiquement un fichier sur le serveur.
  2. Le fichier est mis à jour avec un drapeau indiquant si je suis proche de la maison ou non par l'application Tasker + SSH sur mon téléphone.
  3. ? ?
  4. Profit !

J'ai besoin d'aide pour savoir comment réaliser 2. ou quelque chose de similaire. Essentiellement, je voudrais configurer Tasker de telle sorte que, lors de déclenchements, mon téléphone exécute un script sur le serveur, un indice ?

1voto

Three Diag Points 121

Donc, j'ai réussi. C'est un peu maladroit, mais ça fait ce qu'il faut.

Voici ce qu'il faut :

  1. Application Tasker (2,99$ sur le Play Store)
  2. Connectbot
  3. Un serveur ssh que vous pouvez contrôler

Tasker vérifie ma position toutes les deux minutes, se connecte avec connectbot qui déclenche un script shell sur le serveur ssh.

Générez une clé ssh publique sans mot de passe depuis Connectbot. Allez dans la section clé, appuyez longuement et copiez la clé. Vous pouvez ensuite envoyer la clé à votre serveur ssh pour que Connectbot puisse s'authentifier sans mot de passe.

Créez un profil dans connectbot avec un surnom significatif (dans mon cas "homeflag"). Sélectionnez l'automatisation post-connexion et insérez la commande que vous souhaitez exécuter. Dans mon cas, j'ai un script très simple appelé I_am_home :

echo 1 > /home/user/home_flag

donc dans l'automatisation de connectbot après la connexion, je mettrais

/path/to/I_am_home; exit 

cela permet de s'assurer que la commande est déclenchée automatiquement lors de la connexion et que la connexion est ensuite fermée.

Dans le tasker, créez une tâche d'envoi d'intention (utilisez la barre de recherche pour la trouver), avec les champs suivants :

Action: android.intent.action.VIEW
Data: ssh://user@host:port#homeflage
Target: Activity

Des informations sur la manière de procéder ont été trouvées sur ce reddit dédié contenant beaucoup d'autres informations et différentes manières d'y parvenir.

Il est ensuite assez facile de demander à Tasker de vérifier périodiquement votre position en créant un profil approprié.

androidalle.com

AndroidAlle est une communauté de androiders où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X