J’ai un iPad première génération en version iOS 5.1.1 (dernière supportée) qui est devenu bien trop lent pour être utilisable (merci Apple…). Je vais donc le recycler en visiophone (sans le son), c’est à dire qu’il va s’allumer automatiquement et afficher l’image de la caméra du portail lorsque l’on sonne à la porte.


Création d’une WebApp

Pour afficher l’image de la caméra en plein écran et non juste un onglet Safari, nous allons créer une Webapp.
Sur un serveur Web, créez le fichier camera.php et ajoutez le code suivant :

<html>
  <head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, minimum-scale=1, user-scalable=no, minimal-ui">
    <meta name="apple-mobile-web-app-capable" content="yes">
    <meta name="apple-mobile-web-app-status-bar-style" content="default">
    <title>ISS</title>
  </head>
   <body style="margin:0px;">
     <img src="http://192.168.1.100/cgi-bin/nph-zms?mode=jpeg&monitor=1&user=USER&pass=PASSWORD" width="1024" height="750">
   </body>
</html>

Evidement, adaptez l’URL de votre caméra. Vous pouvez également utiliser une iframe si nécessaire…
Ensuite, rendez-vous sur cette page depuis l’iPad et appuyez sur « Ajouter à l’écran d’accueil ».

Configuration de l’iPad

Vous devez jailbreaker l’iPad, puis via Cydia, installez « OpenSSH » et « Activator ».
Activator permet de lancer des actions comme ouvrir une application ou redémarrer l’iPad depuis une simple commande en SSH.
Vous pouvez tester activator en lançant la commande :
activator send libactivator.settings.about. Celle-ci va ouvrir le menu « Information » de l’application « Réglage ».
Si tout est bon, nous allons chercher l’identifiant de notre Webapp depuis activator. Pour cela, lancez cette commande activator listeners | grep com.apple.webapp. Récupérez l’identifiant de la Webapp et lancer activator send com.apple.webapp-53AD9AAB2C8B4BD684980E956D1F2E48 (remplacez par l’ID trouvé à l’instant). La Webapp, devrait s’ouvrir et afficher l’image de la caméra…

Lancement du script

Il faut maintenant automatiser tout ça en fonction de votre système. Pour ma part, j’utiliser HomeSeer comme trigger de la sonnette et un script linux pour se connecter en SSH à l’iPad et lancer les commandes.
Je ne détail pas cette partie étant propre à chacun, cependant voici à quoi ressemble mon script.

$ ssh root@[IP_iPad] << EOF
activator send libactivator.lockscreen.dismiss
sleep 1
activator send com.apple.webapp-53AD9AAB2C8B4BD684980E956D1F2E48
sleep 120
activator send libactivator.system.sleepbutton
EOF

N’oubliez pas d’échanger les clés SSH pour se connecter automatiquement sans mot de passe.

Conclusion

J’ai fait des mesures de consommation électrique et l’iPad de première génération consomme environ 1 watt en veille et 4 watt écran allumé + traffic Wifi (ce qui est plus qu’acceptable).
Il ne reste plus qu’à trouver un système d’accroche mural…

Pour aller plus loin, il peut être intéressant de simuler des clics/touch/tapes sur l’écran aux coordonnées XY.
Pour cela, vous pouvez utiliser SimulateTouch avec la commande « stouch touch X Y ».
Cependant, j’ai quelques difficultés à le faire fonctionner avec ma version donc si vous avez des alternatives je suis preneur :)