{"id":31453,"date":"2014-09-16T18:32:00","date_gmt":"2014-09-16T16:32:00","guid":{"rendered":"http:\/\/hyperbate.fr\/dernier\/?p=31453"},"modified":"2014-09-17T11:06:43","modified_gmt":"2014-09-17T09:06:43","slug":"weio-la-plate-forme-de-linternet-des-objets","status":"publish","type":"post","link":"https:\/\/hyperbate.fr\/dernier\/?p=31453","title":{"rendered":"WeIO, la plate-forme de l&rsquo;Internet des objets"},"content":{"rendered":"<p><em>(une fois n&rsquo;est pas coutume, le post qui suit est tr\u00e8s \u00ab\u00a0techno\u00a0\u00bb, puisqu&rsquo;il traite d&rsquo;un composant \u00e9lectronique)<\/em><\/p>\n<p><img decoding=\"async\" class=\"alignnone size-full wp-image-31503\" src=\"\/dernier\/files\/2014\/09\/weio_dessus.jpg\" alt=\"weio_dessus\" width=\"530\" height=\"352\" \/><\/p>\n<p>Quatre\u00a0jours apr\u00e8s son lancement sur la plate-forme <em>Indiegogo<\/em>, <a href=\"https:\/\/www.indiegogo.com\/projects\/weio-platform-for-web-of-things\" target=\"_blank\">la lev\u00e9e de fonds pour la <em>WeIO<\/em><\/a>\u00a0a largement d\u00e9pass\u00e9 son objectif. Un succ\u00e8s qui montre bien que cette carte de prototypage d\u00e9di\u00e9e \u00e0 l&rsquo;Internet des objets (<em>web of things<\/em>) r\u00e9pond \u00e0 des\u00a0besoins que ne couvrent pas ses concurrents, \u00e0 savoir\u00a0<em>Arduino<\/em>, <em>Wiring<\/em>, <em>Raspberry Pi<\/em> ou encore <em>Microchip PIC<\/em>. Deux des membres de l&rsquo;\u00e9quipe qui produit\u00a0<a href=\"http:\/\/www.we-io.net\/\" target=\"_blank\"><em>WeIO<\/em><\/a>,\u00a0Uro\u0161 Petrevski et Jean-Louis Fr\u00e9chin, m&rsquo;avaient touch\u00e9 un mot de ce\u00a0projet,\u00a0\u00e0 l&rsquo;\u00e9poque secret, il y a presque trois ans<sup><a href=\"#footnote_1_31453\" id=\"identifier_1_31453\" class=\"footnote-link footnote-identifier-link\" title=\"Pour l&rsquo;anecdote, ma fille cadette faisait son stage de troisi&egrave;me chez NoDesign&nbsp;(une des deux soci&eacute;t&eacute;s qui soutiennent&nbsp;WeIO, l&rsquo;autre &eacute;tant 8devices), ce qui me permet de dater la chose assez pr&eacute;cis&eacute;ment. Outre Uro&scaron; (design et cr&eacute;ation) et Jean-Louis (design et strat&eacute;gie), l&rsquo;&eacute;quipe est compos&eacute;e de Dra&scaron;ko Dra&scaron;kovi\u0107 (cr&eacute;ation et ing&eacute;nierie) et Sa&scaron;a Klopanovi\u0107 (relations de presse et marketing). J&rsquo;imagine que l&rsquo;on peut dire que WeIO est un projet international, ou en tout cas europ&eacute;en, puisque vilnuso-belgrado-parisien. &Agrave; noter : Arduino est un projet n&eacute; en Italie, et Raspberry Pi, au Royaume-uni, ce qui ne les a pas emp&ecirc;ch&eacute;s de conna&icirc;tre un succ&egrave;s plan&eacute;taire.\">1<\/a><\/sup> et je me souviens de la d\u00e9finition qu&rsquo;ils m&rsquo;avaient donn\u00e9 en substance\u00a0: une carte qui embarquerait en s\u00e9rie tous les \u00e9l\u00e9ments utiles pour pouvoir travailler vite et bien, dot\u00e9e d&rsquo;une vraie puissance de calcul, mais conservant ou d\u00e9passant la grande simplicit\u00e9 de fonctionnement d&rsquo;<em>Arduino<\/em>. Le pari est r\u00e9ussi, mais pour le d\u00e9montrer, il faut que j&rsquo;explique rapidement quelques points.<\/p>\n<h4>Qu&rsquo;est-ce que le prototypage \u00e9lectronique ?<\/h4>\n<p>La carte <em>Arduino<\/em>,\u00a0dont le succ\u00e8s a fait na\u00eetre toute une industrie et est un des mod\u00e8les de <em>WeIO<\/em>, sert essentiellement \u00e0 mettre traiter des informations venant de\u00a0capteurs et \u00e0 en envoyer d&rsquo;autres \u00e0 des actionneurs. Entre les capteurs et les actionneurs se trouve un cerveau rudimentaire programmable.<br \/>\nPar exemple, je peux cr\u00e9er un programme qui dit : si la broche 0, sur laquelle j&rsquo;ai branch\u00e9 un capteur de temp\u00e9rature, m&rsquo;indique qu&rsquo;il fait moins de dix degr\u00e9s, alors j&rsquo;allume une lampe bleue connect\u00e9e\u00a0\u00e0 la broche 13, si il fait entre dix et vingt-cinq degr\u00e9s, j&rsquo;allume une lampe rouge connect\u00e9e \u00e0 la broche 12, et s&rsquo;il fait encore plus chaud, j&rsquo;actionne le ventilateur qui est connect\u00e9 \u00e0 la broche 11.<\/p>\n<div id=\"attachment_31508\" style=\"width: 540px\" class=\"wp-caption alignnone\"><img decoding=\"async\" aria-describedby=\"caption-attachment-31508\" class=\"size-full wp-image-31508\" src=\"\/dernier\/files\/2014\/09\/uros_weio_maker_faire.jpg\" alt=\"...\" width=\"530\" height=\"436\" \/><p id=\"caption-attachment-31508\" class=\"wp-caption-text\">Sur le stand <em>WeIO<\/em> lors de la premi\u00e8re \u00e9dition de <a title=\"Premi\u00e8re \u00e9dition de Maker Faire Paris\" href=\"https:\/\/hyperbate.fr\/dernier\/?p=30684\"><em>Maker Faire Paris<\/em><\/a>. La lampe-colonne de gauche est pilot\u00e9e depuis un smartphone&#8230;<\/p><\/div>\n<p>Plut\u00f4t simple, non ?<sup><a href=\"#footnote_2_31453\" id=\"identifier_2_31453\" class=\"footnote-link footnote-identifier-link\" title=\"Je rappelle &agrave; toutes fins utiles que Jean-Michel G&eacute;ridan, Bruno Affagard et moi-m&ecirc;me avons publi&eacute; r&eacute;cemment un livre entier d&rsquo;initiation &agrave; Arduino : Projets cr&eacute;atifs avec Arduino. De nombreux passages de ce livre s&rsquo;appliquent &agrave; d&rsquo;autres plate-formes qu&rsquo;Arduino.\">2<\/a><\/sup> La programmation permet de compliquer les choses, de multiplier les conditions, de temporiser, de r\u00e9p\u00e9ter des actions. Le programme est conserv\u00e9 dans la m\u00e9moire de la machine et s&rsquo;ex\u00e9cute sans s&rsquo;arr\u00eater d\u00e8s que celle-ci est mise sous tension. Entre autres d\u00e9fauts, la carte <em>Arduino<\/em> de bas (<em>Arduino Uno<\/em>) n&rsquo;est pas vraiment surdou\u00e9e pour la communication. Si l&rsquo;on veut qu&rsquo;elle envoie ou re\u00e7oive des informations en r\u00e9seau, il faudra lui ajouter un module (shield) d\u00e9di\u00e9 \u00e0 cet usage, et souffrir un peu pour le programmer.<br \/>\nSi on parle de \u00ab\u00a0prototypage\u00a0\u00bb \u00e0 propos d&rsquo;<em>Arduino<\/em>, c&rsquo;est parce que cette carte n&rsquo;est pas destin\u00e9e \u00e0 des productions en s\u00e9rie : cela reviendrait bien trop cher. Ainsi on cr\u00e9e des prototypes ou des objets uniques avec Arduino, mais si l&rsquo;on veut passer \u00e0 une \u00e9chelle industrielle, on fait r\u00e9aliser des circuits \u00e9lectroniques sp\u00e9cialis\u00e9s.<br \/>\nGrand concurrent d&rsquo;<em>Arduino<\/em>, la <em>Raspberry Pi<\/em>\u00a0dispose de quelques connecteurs pour recevoir et envoyer des informations, mais aussi d&rsquo;un \u00ab\u00a0cerveau\u00a0\u00bb bien moins rudimentaire. C&rsquo;est, en fait, un ordinateur complet, sur lequel il faut installer un syst\u00e8me d&rsquo;exploitation comme Windows ou Linux. Je connais plus d&rsquo;un acqu\u00e9reur de carte <em>Raspberry Pi<\/em> qui a d\u00e9chant\u00e9 en d\u00e9couvrant qu&rsquo;il fallait y adjoindre une carte-m\u00e9moire, un clavier, une souris et un \u00e9cran pour pouvoir y installer le syst\u00e8me et esp\u00e9rer ensuite r\u00e9diger des programmes pour l&rsquo;utiliser. Le fait que cette carte soit un v\u00e9ritable ordinateur lui donne des capacit\u00e9s int\u00e9ressantes, mais implique aussi une certaine lourdeur : d\u00e9marrage, mots de passe, mises \u00e0 jour, plantages&#8230;<\/p>\n<h4>Les particularit\u00e9s de WeIO<\/h4>\n<p>Pour comprendre les qualit\u00e9s de la <em>WeIO<\/em>, il faut la comparer avec ses concurrents. Le premier point marquant de la carte <em>WeIO<\/em>, c&rsquo;est le fait qu&rsquo;elle soit \u00e9quip\u00e9e d&rsquo;une connexion Wi-fi. Un tel module fait automatiquement monter le prix de la carte (c&rsquo;est pourquoi <em>Arduino<\/em> et <em>Raspberry<\/em> n&rsquo;en sont pas \u00e9quip\u00e9s), mais le calcul est clair : l&rsquo;Internet des objets ne peut se passer d&rsquo;une connexion Wi-fi, alors autant que celle-ci fasse partie de la carte (ou m\u00eame du processeur, dans ce cas), et soit g\u00e9r\u00e9e facilement et automatiquement par cette derni\u00e8re.<\/p>\n<div id=\"attachment_31505\" style=\"width: 540px\" class=\"wp-caption alignnone\"><img decoding=\"async\" aria-describedby=\"caption-attachment-31505\" class=\"wp-image-31505 size-full\" src=\"\/dernier\/files\/2014\/09\/weio_code.png\" alt=\"weio_code\" width=\"530\" height=\"413\" \/><p id=\"caption-attachment-31505\" class=\"wp-caption-text\">D\u00e8s que la WeIO est sous tension, elle devient un petit serveur web auquel on se connecte en Wi-fi et qui permet d&rsquo;obtenir en permanence l&rsquo;\u00e9tat de la carte et d&rsquo;y \u00e9diter des programmes.<\/p><\/div>\n<p>Le second point marquant, qui est li\u00e9 au premier, c&rsquo;est que toute carte WeIO est un petit serveur, exactement comme n&rsquo;importe quel serveur sur Internet, capable de diffuser des pages web lisibles depuis un navigateur quelconque et gr\u00e2ce auxquelles on peut le piloter. Puisque la carte <em>WeIO<\/em> est \u00e9quip\u00e9e d&rsquo;un processeur\u00a0d&rsquo;une certaine puissance (<em>Atheros AR9331<\/em>, cadenc\u00e9 \u00e0 400 Mhz), elle\u00a0a besoin d&rsquo;un syst\u00e8me d&rsquo;exploitation, mais\u00a0il ne s&rsquo;agit pas ici d&rsquo;un syst\u00e8me complet trop\u00a0gourmand en ressources (quoique reposant sur<em> OpenWRT\u00a0Linux<\/em>, ce qui a l&rsquo;avantage d&rsquo;ouvrir la plate-forme \u00e0 d&rsquo;innombrables pilotes de p\u00e9riph\u00e9riques), et il n&rsquo;y a pas besoin de l&rsquo;installer, de le configurer ou d&rsquo;avoir la moindre id\u00e9e de son fonctionnement : il est sur la carte et ses \u00e9ventuelles mises-\u00e0-jour se font sans notre intervention.<br \/>\nCe genre de configuration robuste, avec processeur \u00e9quip\u00e9 pour le Wifi, syst\u00e8me minimal et configuration accessible par navigateur web est le mod\u00e8le employ\u00e9 par des appareils tels que les routeurs Internet, dont on attend qu&rsquo;ils soient\u00a0\u00e0 la fois puissants, \u00e9conomes en ressources, et surtout, infailliblement robustes.<br \/>\nLa puissance de <em>WeIO<\/em> lui permet, contrairement \u00e0 <em>Arduino<\/em>, de faire tourner des programmes multi-t\u00e2ches, et m\u00eame plusieurs programmes simultan\u00e9ment. On d\u00e9passe l\u00e0 une limitation handicapante\u00a0d&rsquo;<em>Arduino<\/em>. Et le processeur et son co-processeur \u0153uvrent\u00a0en \u00ab\u00a0temps r\u00e9el\u00a0\u00bb, c&rsquo;est \u00e0 dire avec une tr\u00e8s grande pr\u00e9cision temporelle.<br \/>\n\u00c0 part \u00e7a, la carte embarque\u00a0huit ports analogiques, qui permettent de recevoir des informations adress\u00e9es par des capteurs, et six ports \u00ab\u00a0PWM\u00a0\u00bb (digitaux mais capables d&rsquo;\u00e9muler un fonctionnement analogique) destin\u00e9s \u00e0 commander des actionneurs (moteurs, leds, etc.). Si cela ne suffit pas, on pourra toujours associer \u00e0 la WeIO une carte Arduino, qui sera accessible gr\u00e2ce au port\u00a0USB\u00a0standard, lequel peut aussi servir \u00e0 commander un p\u00e9riph\u00e9rique tel qu&rsquo;une webcam. Un second port USB (micro)\u00a0permet d&rsquo;alimenter la <em>WeIO<\/em> et de communiquer avec elle via le port s\u00e9rie. On peut \u00e9tendre la\u00a0m\u00e9moire de masse de la <em>WeIO<\/em>\u00a0en y ajoutant une carte mcro-SD. Une interface Ethernet est aussi pr\u00e9vue, il suffit d&rsquo;y souder un connecteur, mais cette possibilit\u00e9 n&rsquo;est pas sp\u00e9cialement favoris\u00e9e, car d&rsquo;une part, la pr\u00e9sence du Wi-fi la rend inutile, et d&rsquo;autre part, la pr\u00e9sence d&rsquo;un tel connecteur augmente sensiblement l&rsquo;\u00e9paisseur de la carte. Enfin, la <em>WeIO<\/em> dispose en s\u00e9rie d&rsquo;un capteur de temp\u00e9rature, soud\u00e9 \u00e0 la carte.<\/p>\n<p><img decoding=\"async\" class=\"alignnone size-full wp-image-31504\" src=\"\/dernier\/files\/2014\/09\/weio_interface.png\" alt=\"weio_interface\" width=\"530\" height=\"457\" \/><\/p>\n<h4>Le pilotage de la <em>WeIO<\/em><\/h4>\n<p>Une grande particularit\u00e9 de cette carte, c&rsquo;est qu&rsquo;elle se programme dans deux langages familiers : le puissant langage Python, orient\u00e9 objet, souple, lisible, utilis\u00e9 autant en p\u00e9dagogie que pour des applications industrielles de pointe ; le langage HTML5 (c&rsquo;est \u00e0 dire essentiellement Javascript), qui est devenu le standard commun aux sites web et aux applications pour tablettes et smartphones (<em>Apple<\/em> autant qu&rsquo;<em>Android<\/em>). Une fonctionnalit\u00e9 singuli\u00e8re est le fait que l&rsquo;on puisse acc\u00e9der directement \u00e0 tous les ports de la carte <em>WeIO<\/em> depuis une interface web : l&rsquo;ordinateur avec lequel vous contactez votre carte <em>WeIO<\/em> vous la montre et vous permet d&rsquo;y \u00ab\u00a0lire\u00a0\u00bb ou \u00ab\u00a0\u00e9crire\u00a0\u00bb des valeurs. On est loin de la proc\u00e9dure laborieuse (r\u00e9daction, compilation, t\u00e9l\u00e9chargement) qui s&rsquo;effectue plus ou moins en aveugle sur <em>Arduino<\/em>.<\/p>\n<p>Comme avec les autres syst\u00e8mes de ce genre, les possibilit\u00e9s sont, selon la formule habituelle, sans limites. Elles le sont d&rsquo;autant plus que ce mat\u00e9riel n&rsquo;est pas soumis \u00e0 un brevet paralysant : on peut r\u00e9employer les composants qui \u00e9quipent la WeIO pour cr\u00e9er des circuits produits \u00e0 \u00e9chelle industrielle.<\/p>\n<div id=\"attachment_31502\" style=\"width: 540px\" class=\"wp-caption alignnone\"><img decoding=\"async\" aria-describedby=\"caption-attachment-31502\" class=\"wp-image-31502 size-full\" src=\"\/dernier\/files\/2014\/09\/weio_dessous.jpg\" alt=\"weio_dessous\" width=\"530\" height=\"350\" \/><p id=\"caption-attachment-31502\" class=\"wp-caption-text\">Les connecteurs d&rsquo;entr\u00e9es\/sorties ne sont pas orient\u00e9s\u00a0au dessus de la carte, mais sur ses c\u00f4t\u00e9s. Cette disposition permet \u00e0 la WeIO d&rsquo;\u00eatre particuli\u00e8rement plate. M\u00eame si cette consid\u00e9ration peut sembler futile, je trouve une bonne physionomie \u00e0 la WeIO, un joli dessin.<\/p><\/div>\n<p>On peut en <a href=\"https:\/\/www.indiegogo.com\/projects\/weio-platform-for-web-of-things\" target=\"_blank\">pr\u00e9-commander les premiers mod\u00e8les pour\u00a0quatre-vingt six\u00a0dollars<\/a> (soixante-six\u00a0euros, au cours d&rsquo;aujourd&rsquo;hui), auxquels il faut ajouter neuf dollars de port.<\/p>\n<ol class=\"footnotes\"><li id=\"footnote_1_31453\" class=\"footnote\">Pour l&rsquo;anecdote, ma fille cadette faisait son stage de troisi\u00e8me chez <a href=\"http:\/\/www.nodesign.net\/\" target=\"_blank\"><em>NoDesign<\/em><\/a>\u00a0(une des deux soci\u00e9t\u00e9s qui soutiennent\u00a0<em>WeIO<\/em>, l&rsquo;autre \u00e9tant <em><a href=\"http:\/\/8devices.com\/\" target=\"_blank\">8devices<\/a><\/em>), ce qui me permet de dater la chose assez pr\u00e9cis\u00e9ment. Outre Uro\u0161 (design et cr\u00e9ation) et Jean-Louis (design et strat\u00e9gie), l&rsquo;\u00e9quipe est compos\u00e9e de Dra\u0161ko Dra\u0161kovi\u0107 (cr\u00e9ation et ing\u00e9nierie) et Sa\u0161a Klopanovi\u0107 (relations de presse et marketing). J&rsquo;imagine que l&rsquo;on peut dire que <em>WeIO<\/em> est un projet international, ou en tout cas europ\u00e9en, puisque vilnuso-belgrado-parisien. \u00c0 noter : <em>Arduino<\/em> est un projet n\u00e9 en Italie, et <em>Raspberry Pi<\/em>, au Royaume-uni, ce qui ne les a pas emp\u00each\u00e9s de conna\u00eetre un succ\u00e8s plan\u00e9taire.<span class=\"footnote-back-link-wrapper\"> [<a href=\"#identifier_1_31453\" class=\"footnote-link footnote-back-link\">&#8617;<\/a>]<\/span><\/li><li id=\"footnote_2_31453\" class=\"footnote\">Je rappelle \u00e0 toutes fins utiles que Jean-Michel G\u00e9ridan, Bruno Affagard et moi-m\u00eame avons publi\u00e9 r\u00e9cemment un livre entier d&rsquo;initiation \u00e0 <em>Arduino<\/em> : <a title=\"Parution de Projets cr\u00e9atifs avec Arduino\" href=\"https:\/\/hyperbate.fr\/dernier\/?p=31086\"><em>Projets cr\u00e9atifs avec Arduino<\/em><\/a>. De nombreux passages de ce livre s&rsquo;appliquent \u00e0 d&rsquo;autres plate-formes qu&rsquo;<em>Arduino<\/em>.<span class=\"footnote-back-link-wrapper\"> [<a href=\"#identifier_2_31453\" class=\"footnote-link footnote-back-link\">&#8617;<\/a>]<\/span><\/li><\/ol>","protected":false},"excerpt":{"rendered":"<p>(une fois n&rsquo;est pas coutume, le post qui suit est tr\u00e8s \u00ab\u00a0techno\u00a0\u00bb, puisqu&rsquo;il traite d&rsquo;un composant \u00e9lectronique) Quatre\u00a0jours apr\u00e8s son lancement sur la plate-forme Indiegogo, la lev\u00e9e de fonds pour la WeIO\u00a0a largement d\u00e9pass\u00e9 son objectif. Un succ\u00e8s qui montre bien que cette carte de prototypage d\u00e9di\u00e9e \u00e0 l&rsquo;Internet des objets (web of things) r\u00e9pond [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[13,21],"tags":[],"class_list":["post-31453","post","type-post","status-publish","format-standard","hentry","category-design","category-interactivite"],"_links":{"self":[{"href":"https:\/\/hyperbate.fr\/dernier\/index.php?rest_route=\/wp\/v2\/posts\/31453","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/hyperbate.fr\/dernier\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/hyperbate.fr\/dernier\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/hyperbate.fr\/dernier\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/hyperbate.fr\/dernier\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=31453"}],"version-history":[{"count":0,"href":"https:\/\/hyperbate.fr\/dernier\/index.php?rest_route=\/wp\/v2\/posts\/31453\/revisions"}],"wp:attachment":[{"href":"https:\/\/hyperbate.fr\/dernier\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=31453"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/hyperbate.fr\/dernier\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=31453"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/hyperbate.fr\/dernier\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=31453"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}