Goufablog

Geek, nouvelles technologies, société et jeux vidéos!
12
mars
2015
Domotique minimale - Partie 6 : Pupitre de contrôle
Domotique - par Goufalite - 1429 hits

Chez moi la règle est simple : pas de WIFI. C'est certes contraignant quand on a des appareils connectés mais au moins j'ai un soucis de paramétrage et de risque d'intrusion en moins ! Mais pour commander tout ça sans téléphone ni ordinateur c'est un peu difficile. C'est là qu'intervient le pupitre de contrôle.

Vielle tablette, redeviens utile !

Une tablette, un vieux Note non tordu, un peu de velcro ou un cadre et c'est bon vous avez votre pupitre de contrôle :

Rudimentaire mais fait ce qu'on lui dit !
Rudimentaire mais fait ce qu'on lui dit !

Si vous avez le Wifi il vous suffira de l'appairer, sinon achetez un adaptateur micro-USB-USB-RJ45 et faites passer un câble dans le mur. Pensez aussi à la technologie bluetooth ou NFC pour interagir sur une petite distance.

Sécurité minimale

Vous allez paramétrer une tablette qui va contrôler tout dans votre maison, et surtout qui aura un login Google par défaut, il faudra la sécuriser un peu en cas d'intrusion :

  • mettez-la hors de vue ou dans un angle mort.
  • mettez un code de verrouillage.
  • planifiez l'extinction de l'écran au bout de 5 minutes, plus ou moins.

Compatibilité maximum : HTML5 !

Vous l'avez compris, j'ai codé un soft pour faire l'interaction avec ma maison, mais le problème est que ce genre de logiciel change très rapidement en fonction du besoin.

La solution est donc simple : grâce à notre serveur WAMP installé précédemment on va faire un petit site en HTML5 qui va nous permettre de contrôler tout ça. Ensuite pour le lancer depuis la tablette vous pouvez mettre un raccourci de favori sur l'écran d'accueil ou faire une appli web android fullscreen.

L'appli web

Je vous rassure tout de suite, même avec une appli web en plein écran vous gardez le contrôle de votre tablette, voilà le code tout simple à mettre dans l'activité :

WebView myWebView = (WebView)findViewById(R.id.webview); myWebView.setWebChromeClient(new WebChromeClient() { public void onConsoleMessage(String message, int lineNumber, String sourceID) { // affichage dans la console Logcat Log.d("MONAPPLI", "["+sourceID+":"+lineNumber+"]"+message); } }); myWebView.clearCache(true); myWebView.getSettings().setJavaScriptEnabled(true); myWebView.getSettings().setSupportZoom(false); myWebView.getSettings().setUseWideViewPort(true); myWebView.getSettings().setLoadWithOverviewMode(true); myWebView.addJavascriptInterface(new JavaJavascriptInterface(this),"Android"); myWebView.loadUrl(url); // navigation sans quitter l'application myWebView.setWebViewClient(new WebViewClient() { public boolean shouldOverrideUrlLoading(WebView viewx, String urlx) { viewx.loadUrl(urlx); return false; } });

Chaque ligne est parlante, vous pouvez aussi créer un objet qui contiendra un Context pour interfacer du Javascript avec des ressources internes d'Android.

Rajoutez la permission NETWORK et déployez votre application. Mettez-là sur votre serveur web et recherchez-la avec le navigateur de la tablette.

Si vous êtes à l'aise avec Android vous pouvez aussi faire un widget à placer sur l'écran d'accueil pour faire des actions simples :

  • je suis arrivé !
  • envoyer un mail ou un instapush d'aide à quelqu'un
  • enclencher l'alarme

Ouin mon site est tout moche !

C'est pas qu'il est moche, c'est qu'il n'est pas responsive ! Moi aussi ça me hérisse les poils quand je vois toutes les résolutions différentes de tous les appareils android. Mais grâce à quelques manipulations simples il est possible d'arriver à un affichage standard et lisible.

Voici ce à quoi devrait ressembler le début du head vos pages :

<meta name='viewport' content='width=device-width,height=device-height,initial-scale=1.0,maximum-scale=1.0,user-scalable=no' /> <style type='text/css'> html,body { height:100%; } </style>

Pour tester tout ça, utilisez le module d'émulation présent dans Chrome par exemple.

NFC et Bluetooth, les déclencheurs

Faire un code, rechercher la bonne application, cliquer au bon endroit... Que de temps perdu juste pour activer la détection de mouvements. Pour cela on peut se servir de la proximité d'une puce NFC ou d'un appareil bluetooth pour appeler une page web et déclencher l'action que l'on souhaite !

Il existe donc une application sur le Play Store appelée Trigger (anciennement NFC Task Launcher) qui permet de paramétrer ce genre de situation, les applications sont multiples :

  • basculer le bluetooth quand on rentre ou qu'on sort de la voiture
  • allumer le wifi quand j'arrive à la maison
  • enclencher l'alarme en partant
  • ...

Pour le NFC il suffit de coller quelques étiquettes partout ou de les présenter en fonction de la situation au pupitre de contrôle pour peu qu'il dispose de cette technologie mais on sera toujours bloqué par la proximité. Le bluetooth quant à lui permet d'interagir avec une portée plus grande mais impose d'être allumé en permanence (ou par tranche horaire) et surtout détectable à tout instant. A vous de voir le pour et le contre de chaque solution.

Ensuite

Quel bonheur ! Tout est contrôlable d'un simple toucher du doigt ! Et maintenant on ouvre la fenêtre !

+ Sources des images


Vous pouvez aussi lire :

GoufaliteGoufalite - Site Web - Steam - Twitter
Rédacteur et programmeur principal du Goufablog. Ingénieur de profession et avide de connaissances technologiques et scientifiques il partage son savoir à travers ces différents articles. Plus de renseignements sur la page de contact.
RSS Voir ses articles...
CC-BY-SACet article est protégé par une licence CC-BY-SA.


Tags : bluetooth, html5, nfc, tablette, webview
Delicious   Facebook   Commentaires(0) | Permalink
Sans commentaires!
Votre avis?
(Obligatoire)

Site et style réalisé par Goufalite
Reproduction interdite sans l'accord de l'auteur.
Valid XHTML 1.0 Transitional Optimisé pour FireFox 2
avec une résolution 1024*768