(modifié le 11 décembre 2017 à 14:07)

Aujourd'hui c'est un produit venu tout droit de chine que je présente, il s'agit d'une caméra IP d'intérieur.

xiaomi-xiaoyi

Son prix réduit et sa qualité HD ont suffi pour attirer ma curiosité. Et c'est un nouveau partenaire qui m'a expédié le produit, j'avais carte blanche et j'ai opté pour cette caméra.

Xiaoyi

C'est son nom. La Xioyi est fabriquée par Xiaomi, un fabriquant que j'apprécie particulièrement pour la finition de ses produits, bien qu'ils ne soient pas tout destinés au marché Européen.

Cette caméra est aussi connue sous la référence "Ants Xiaoyi", il s'agit bien du même produit. Le modèle que j'ai choisi chez Gearbest dispose d'une vision nocturne :

  • Camera Xiayi Ants
  • Carte microSD Samsung 32G
  • Adaptateur prise EU

xiaomi-xiaoyi-dos

Voici les spécs de la caméra :

  • Référence : YHS-113
  • Résolution : 320 x 240 , 640 x 480 , 1280 x 720 (20 FPS)
  • Angle diagonal de 111°
  • Angle horizontal : 92,7°, 11.2° angle vertical
  • WiFi : b/b/n
  • Alimentation 5V fournie
  • Haut parleur
  • Microphone
  • Détection de mouvement
  • Compatible Android et iOS
  • Enregistrement au format MP4
  • Jusqu'à 32Go de stockage en microSD

La qualité de l'optique est excellente, le stream est parfait et s'en sort très bien en basse lumière. Dès que la luminosité est trop faible la caméra bascule en vision de nuit avec 8 leds invisibles à l'oeil nu. La encore j'ai été très surpris de la puissance qui suffit à voir parfaitement bien dans une pièce de 20 m².

L'enregistrement est fractionné au maximum à 1 minute d'enregistrement pour un fichier (3 mo), la caméra enchaine bien entendu toute la durée de la détection mais il faudra utiliser plusieurs fichiers pour recomposer quelques minutes (ou heures).

La consommation de la caméra est d'environ 500 mAh et l'adpateur livré est de 1A. J'ai connecté la caméra sur un port USB, et ça fonctionne mais Windows ne détecte aucun périphérique, je pense que la partie data n'est pas reliée. En revanche avec un Raspberry Pi B+ la caméra ne boot pas, il doit manquer un peu d'intensité je vous déconseille d'essayer.

xiaomi-xiaoyi-acc

A noter que la caméra peut se déloger de son support blanc, mais je ne vois pas l'intérêt sinon de l'encastrer dans un boitier plus petit.

Une camera connectée

Cette caméra est connecté au cloud, il est possible d'accéder au contenu depuis une application disponible sous Android et iOS. De fait la configuration est simplifiée, une fois l'application MiHome installée il suffit d'approcher l'écran du smartphone devant la caméra pour qu'elle récupère le paramétrage WiFi saisi sur le smartphone.

xiaomi-app

Deux applications officielles permettent la gestion de la caméra :

  • Mi Home (la plus complète)
  • Xiaoyi Smart Camera

Ces applications n'étant pas disponibles en français il faut se rendre sur le site mi4ever pour les récupérer dans la langue de molière.

Quand on regarde le flux vidéo sur smartphone en mode portrait l'application utilise le gyroscope pour afficher l'image, surprenant au début mais sympa à l'utilisation. La caméra étant connectée vous pouvez vous y connecter en dehors de votre réseau sans ouvrir de port sur votre box/routeur. Comme vous le voyez sur l'application vous pouvez parler dans votre smartphone et le son est diffusé directement par la caméra. Il est aussi possible de faire une capture d'écran et d'éteindre la caméra.

Sans l'application il est impossible de lire le flux de la caméra. Pas de jpeg, rtsp ou mjpeg, nada. Il existait bien du rtsp jusqu'à il y a peu mais cette fonctionnalité a été retiré dans les derniers firmwares. Et ça tombe particulièrement mal puisque je souhaite lire ce flux depuis mon Raspberry Pi.

Downgrade du firmware

MàJ 2016 : il existe un firmware alternatif qui supprime toute la couche du cloud chinois : Yi Hack, la caméra ne sera plus joignable depuis une application smartphone/tablette.

Attention : ces manipulations sont risquées et peuvent rendre inutilisable votre camera. Ni moi ni Blogmotion ne seront responsables des éventuels dommages sur votre matériel. A partir de ce point vous êtes conscient que ces informations se destinent à des utilisateurs "avancés". Si vous avez un doute ne le faites pas.

Quand j'ai reçu la caméra j'ai bêtement installé le dernier firmware disponible (1.8.5.1K_20150831131) mais je n'avais pas de flux rtscp.Pour bénéficier à nouveau de flux en rtsp il faut donc retourner sur un ancien firmware. Après avoir parcouru quelques forums dans toutes les langues j'ai finalement trouvé une version modifiée.

xiaomi-xiaoyi-fw

Voici la liste connue de tous les firmwares :

  • 1.8.5.1B_201513211614.zip (RTSP support)
  • 1.8.5.1F_2015043018.zip
  • 1.8.5.1H_201505211709.zip
  • 1.8.5.1H_usingpasscodeinchinese.zip
  • 1.8.5.1J_201507201424.zip
  • 1.8.5.1L_201506291725.zip

xiaomi-xiaoyi-telnet

J'ai installé le firmware 1.8.5.1B_201513211614 puis mis à jour avec "XiaomiAnts_EASY_boot_v2". Avec cette opération je dispose de :

  • 3 flux RTSP (SD, HD, audio seul)
  • accès root (root:1234qwer) via telnet
  • accès FTP
  • accès web (http)

Pour flasher la caméra il faut :

  1. Débrancher la caméra électriquement
  2. Enlever la carte microSD
  3. Maintenir le bouton reset et insérer l'alimentation microUSB
  4. Éteindre la webcam
  5. Copier le fichier "home" à la racine de la carte SD
  6. Allumer la caméra
  7. Attendre environ 5 minutes
  8. Vérifier avec l'application Android que tout est OK

L'ajout du serveur ftp, http, ssh ou encore de telnet est une bidouille. Il s'agit de firmwares alternatifs, ils utilisent tous la structure suivante :

  • test/equip_test.sh : script de boot (voici le miens)
  • test/update/*.tar.gz : les outils greffés

Voici où j'ai récupéré mon fimware russe, sur un forum allemand :

  • XiaomiAnts_easy_boot.zip (version non destructive que je recommande).
  • XiaomiAnts_easy_boot_self_destruction.zip

Il existe deux version du firmware, une qui flash définitivement et l'autre qui utilise la carte SD (sous réserve car tous les forums sont en russe...).

Ce qui n'empêche pas un problème récurrent sur le fuseau horaire, malgré la variable dans equip_test.sh cela reste sans effet. Après avoir développé un script bash complet pour corriger le tir j'ai trouvé une solution plus simple. Il faut seulement définir la variable suivante dans le fichier equip_test.sh pour avoir l'heure de Paris (GMT+1-2) :
my_gmt=GMT+6
Ne me demandez pas pourquoi GMT+6, c'est comme ça !

  • GMT+6 en heure d'été
  • GMT+7 en heure d'hiver (oui oui il y a bien une heure de plus alors que c'est l'inverse)

Voici quelques liens intéressants en bonus :

Pour info la carte SD est montée sous /tmp/hd1.

Flux

Avec ce firmware modifié nous disposons maintenant de 3 flux :

  • rtsp://IP:554/ch0_0.h264 (video hd + audio)
  • rtsp://IP:554/ch0_1.h264 (video sd + audio)
  • rtsp://IP:554/ch0_3.h264 (audio)

Vous pouvez copier/coller directement le flux dans VLC qui le lira parfaitement bien, ainsi que dans tout client rtsp.

Pour vous donner une idée de l'angle et de l'effet fisheye voici une feuille A4 à 15cm seulement de la webcam :

xiaomi-xiaoyi-capture

La halo bleu est le reflet de la led bleue (désactivable via l'application mobile), on le voit ici car on est particulièrement proche de la cible.

Attention à ne pas ouvrir de port sur votre routeur depuis l'extérieur car aucun mot de passe ne sera demandé pour accéder au flux RTSP. A moins de filtrer sur l'IP source je vous déconseille fortement de le faire. Si vous avez un NAS Synology n'ouvrez pas de port, laissez Surveillance Station récupérer le flux et accédez à votre NAS qui lui est sécurisé.

Conclusion

Vous l'avez compris cette petite caméra Xiaoyi est vendue à un excellent rapport qualité / prix : 31$. Sans ce prix attractif les points négatifs de cette caméra impacteraient lourdement le bilan.

Nous avons là un produit connecté et je n'ai pas essayé de bloquer les différentes IP des serveurs Xiaomi pour voir si elle peut fonctionner uniquement en local. Il faut pour cela que je réalise une analyse de trame sur mon routeur Tomato pour ensuite blacklister ces IPs sur le routeur, ce sera plus facile à retirer en cas de pépin que dans la caméra si elle venait à ne plus booter.

Je veux aussi connecter la caméra sur mon installation Domoticz, mais là encore je dois installer des compléments (le paquet motion) pour récupérer le flux RTSP car ce n'est pas prévu de base.

Alors que je m'attendais à un produit non modifiable je suis étonné. La communauté et toutes les informations que l'on peut trouver sur les forums est un bonne chose, bien que je me demande comment est-il possible de regénérer un firmware sur un produit aussi fermé.

Points faibles :

  • fuseau horaire non modifiable
  • le support ne tourne pas pour orienter la caméra
  • manuel en chinois uniquement
  • prise nécessitant un adaptateur EU
  • pas de flux jpeg
  • pas de protection par mot de passe du rtsp
  • pas de zone réglable pour la détection de mouvement
  • pas de contrôle des leds IR (automatique)
  • connectée au cloud (big brother + boite noire)
  • pas d'API

Points forts :

  • grand angle
  • prix
  • qualité
  • enregistrement sur carte microSD
  • design
  • connectique standard (micro usb)
  • carte amovible haute capacité supportée
  • micro et haut parleur intégré
  • accessibilité en 3G/4G
  • firmware alternatif (hack)

J'espère avoir été le plus complet possible, le billet est assez long et détaillé mais je ne trouvais aucun tutoriel en français sur le web. En espérant que ça serve à d'autres qui achèteront cette caméra IP, n'hésitez pas à récupérer mon fichier de configuration j'ai traduit pas mal de chose en FR dans les commentaires du script.

Auteur : Mr Xhark

Fondateur du blog et passionné par les nouvelles techno, suivez-moi sur twitter