J'ai adoré cette question en la lisant. "Cela me ramène", comme disent les barbes grises :) TinyOS "est devenu public" en 2000 - environ un an après que l'expression "Internet des objets" ait été inventée, selon Wikipedia. Il y a longtemps, dans une galaxie lointaine, très lointaine ... OK, au travail:
Je crois que la réponse à votre question de savoir si les motes, TinyOS, NesC, etc. sont de "bonnes options de nos jours", est un "oui" sans réserve . Je vais vous expliquer pourquoi.
J'ai découvert TinyOS en 2003; c'était déjà un système assez mature à l'époque, et utilisé dans certaines applications intéressantes. "Motes" est un terme pour le matériel, comme dans "capteur à distance". Chaque mot avait un processeur, une batterie, une radio ( pas le WiFi) et une sorte de capteur. Les trois premiers composants étaient communs à travers une variété de motifs, tandis que le capteur était généralement propre à l'application; lumière, chaleur, champs magnétiques, etc. Si vous êtes intéressé par les détails, de nombreux articles (principalement académiques et verbeux) ont été publiés qui documentent la conception de TinyOS ... en voici un que j'aime.
En tant que système, TinyOS et le mote ont été conçus pour atteindre un objectif avec des ressources extrêmement limitées. Par exemple:
- TinyOS occupait environ 400 octets de mémoire; une application typique 12-16 kB.
- TinyOS fonctionne sur de minuscules microcontrôleurs 8 bits; par exemple AT-90L d'Atmel, MSP430 de TI et ATtiny9 plus moderne de Microchip .
- Le code NesC ressemble plus à une partie du «noyau» qu'à une application traditionnelle; l'efficacité du système exigeait cette approche.
- De faibles cycles de service et une architecture de système permettant de conserver l'énergie ont permis aux batteries de durer un an ou plus (en fonction de l'application, bien sûr).
La livraison des données des capteurs vers sa destination finale à partir de motions largement dispersées qui pourraient être larguées d'un avion, en chute libre, dans un environnement d'exploitation extrêmement hostile, exigeait des algorithmes de routage intelligents. La «flexibilité» a donc été le principal moteur de la conception de la pile de communication de TinyOS. Par conséquent, aucune infrastructure de communication existante n'est nécessaire. C'est à la fois stimulant et stimulant. Un certain nombre de protocoles de routage ont été développés et la licence open source a encouragé l'adoption et la modification de ces protocoles.
En ce qui concerne TinyOS étant abandonné ou stagnant, je ne pense pas que ce soit le cas. Le dépôt TinyOS GitHub montre une activité récente et suggère qu'elle soit maintenue et entretenue . Cela dit, TinyOS n'allait jamais attirer la foule des «électroniques et logiciels comme passe-temps»; une foule qui n'existait pas vraiment jusqu'à récemment lorsque Arduino et Raspberry Pi sont devenus populaires.
Et cela m'amène au point dans cette "réponse" élaborée à votre question qui fait réfléchir. Je ne pense pas qu'il y ait une réponse concrète. Je pense que la réponse se résume à ceci: Nous, les humains sont plus comme des moutons ou des lemmings que nous aimons le croire. Raspberry Pi, Arduino, etc. sont des produits qui ont attiré une grande partie des curieux et des revenus pour ceux qui trafiquent des gadgets, mais cela n'a rien ou presque rien à voir avec leur adéquation à une application particulière. Je ne suggère pas que l'on réinvente la roue pour chaque nouveau problème, mais en même temps, une (ou deux) taille (s) ne convient pas à tous. Utilisez le bon outil pour le travail.
Je sais par votre question que vous comprenez cela, mais peut-être n'y avez-vous pas pensé de cette façon. Franchement, je ne l'avais pas non plus jusqu'à ce que votre question ébranle des pierres lâches. Donc oui, je pense que vous pouvez toujours créer des choses très élégantes avec TinyOS, mais vous devrez peut-être le faire avec moins de ressources de support. Ou, peut-être qu'il y aura un "échange de pile TinyOS" à l'avenir? Ha ha - ne retenez pas votre souffle :)
Je termine avec ceci: «La vérité est souvent ce que nous en faisons; vous avez entendu ce que vous vouliez entendre, vous avez cru ce que vous vouliez croire. »
Addenda:
En réfléchissant à la façon de construire vos appareils et de les agréger en systèmes, Phil Levis propose quelques pistes de réflexion dans cette courte vidéo.
Et en ce qui concerne les ressources pour soutenir le développement de TinyOS, voici quelques-unes que j'ai trouvées en recherchant ma "réponse" ici: