Internet des objets [Veille]

le

La prochaine vague de buzzword 2.0 qui se prépare est "Internet des objets". La démocratisation des smartphones et des tablettes a permis de déscotcher les gens de leur bureau sur lequel trône leur PC avec la grosse tour, le gros écran et beaucoup de câbles. Internet de la Télé est un flop, ça reste une télé, mais qui lit des DivX, rien de bien interactif. Par contre, la vraie mobilité de l'interface (téléphone et tablette, donc), donne envie de se connecter à tout et n'importe quoi.

La première victoire est d'avoir une interface universelle, quel que soit la cible, on a un joli écran, tactile, avec une chance d'évolution au fil du temps. Personne ne regrettera la programmation d'un magnétoscope avec une télécommande. Deuxième victoire, la mobilité. On a une télécommande, sans contrainte de ligne de vue, et qui affiche des informations en retour. Donc voilà, vous avez l'interface, il manque maintenant des usages.

Pour l'instant, le monde se partage en deux catégories, le Bluetooth, et le wifi. Le Bluetooth est un peu rude mais est un vrai standard industriel. C'est quand même magique de pouvoir écouter la musique de son iPod sur une voiture de location de manière simplissime. La dernière version de la norme intègre enfin des notions d'économies d'énergie décente (bluetooth Low Energy), qui rend possible la création d'objets connectés. La norme Bluetooth permet de connecter des appareils entre eux, un peu comme de l'USB mais sans le fil. La norme ne prévoit rien pour la partie interface, en fait. Pour des choses standards (comme faire transiter du son), on a peu de surprise, mais pour des choses spécifiques, on devient tributaire de drivers spécifiques, sources bien connues de drames et de frustrations.

sparksdevices.jpg Le wifi a le bon gout d'offrir un réseau IP, la base d'Internet, quand même. La tentation est grande de profiter de l'élan est d'utiliser dessus de l'HTTP, et même du REST, soyons 2.0 jusqu'au bout. Il faut quand même se rappeler que gérer du Wifi, d'un point vu matériel est complexe et énergivore. Vient ensuite le problème du paramétrage et de l'authentification, qui est la punition officielle du Wifi tel qu'on le connait actuellement. Les choses évoluent dans le bon sens. Arduino arrète les mélanges contre nature et fait enfin comme tout le monde. Quand on veut du wifi, on se connecte directement à un access point, et tout fonctionne. Donc, Arduino stop les frais avec du matériel hors de prix et propose le Yun, qui utilise un Linux pour gérer le wifi mais aussi tout simplement pour contrôler l'Arduino. Il est possible de coder sur le Linux (en python, par exemple), et sur l'Arduino. Il est même possible de flasher l'Arduino en wifi. Sparks proposes la même chose, mais de manière compacte. Les cartes Arduino classiques sont un piège, elles sont énormes, grosses comme un Raspeery Pi, mais 1% de sa puissance. Arduino devient intéressant quand on a besoin de compacité et de frugalité énergétique. Sparks propose un produit très tentant, à un tarif correct, 39$, et une taille correspondant réellement à de l'internet des objets. Le Linux se charge d'Internet, Arduino se charge de l'objet.

Il reste à résoudre le problème du paramétrage. Pour l'instant, les solutions sont violentes : l'objet propose son propre réseau et il faut alterner entre lui et Internet, ou passer par du GPRS (et donc une carte SIM spécifique). Utiliser du GPRS pour palier aux soucis du Wifi, c'est assez risible, mais bon, ça a fait le bonheur des premiers Kindles. Dans l'autre sens, donner un accès à un Access Point est aussi pénible. La solution par défaut reste la connexion sans mot de passe, puis une astuce de DNS pour que l'on arrive sur une page de portail web, où l'on peut enfin s'authentifier. Des applications permettent de masquer ça sur les téléphones (très pratique pour les accès Free Wifi) mais qui sont quand même d'infâmes bricolages qui nécessitent des manipulations inutiles.

Il commence à y avoir des normes sur du paramétrage alternatif, avec du NFC par exemple, mais surtout une norme complète, rien que pour les access point ouverts au public : IEEE 802.11u, connu sous le nom plus commercial de Hotspot 2.0. Bonne nouvelle, les derniers Android et iOS le gèrent. Je ne sais pas trop quels sont les prérequis matériels, et donc comment les laptops vont pouvoir gérer ça.

Si vous avez encore faim d'Inernet et d'objets, aller voir mqtt comme protocole de transport, et XBee comme couche matérielle.


Partager cet article :