8

Reading some papers about IoT and Wireless Sensor Networks (WSN) I came across mote devices and have seen there are lots of them.

I have understood that they are the leaves in an IoT system and that they are embedded devices equipped with sensors and optimized connectivity architecture but it is not clear to me what they are.

For example is the difference between a mote device and a micro controller such as Arduino Uno only that a mote device is already equipped with sensors and for connectivity?

Plus I have seen many of them support their own operating system such as TinyOS but looking at its wiki page it is not updated since 2012: are mote devices still a good option nowadays? The fact that many of them are programmed in their own programming languages (such as NesC for TinyOS) and not in C/C++ does not lead to interface problems with other devices?

  • Please try to avoid asking multiple questions in one question. This often leads to answers only focusing on one aspect, or on different aspects - so it is harder to see the 'best' answer. – Sean Houlihane May 2 '18 at 11:33
  • I thought they were strictly related and help understand the context of the general question. – Francesco Boi May 2 '18 at 12:00
  • OS for the devices is, I think a separate topic - although it's not obvious without knowing the first part of the question. – Sean Houlihane May 2 '18 at 12:02
  • 1
    What I wanted to emphasize is that it seems mote devices generally support an OS such as OS TinyOS while common devices might support an OS (raspberry) or more commonly do not (Arduino, uC etc.). But ok, I get why you are telling me it you might be right at the end. Thanks for the suggestion. – Francesco Boi May 2 '18 at 12:07
4

I loved this question when I read it. "It takes me back", as the greybeards say :) TinyOS "went public" in 2000 - about a year after the phrase "Internet of Things" was coined, according to Wikipedia. A long time ago, in a galaxy far, far away... OK, down to business:

I believe the answer to your question as to whether or not motes, TinyOS, NesC, etc are "good options nowadays", is an unqualified "Yes". I'll explain why.

I learned of TinyOS in 2003; it was already a fairly mature system by then, and being used in some interesting applications. "Motes" is a term for the hardware, as in "remote sensor". Each mote had a processor, a battery, a radio (not WiFi) and some sort of a sensor. The first three components were common across a variety of motes, whereas the sensor was generally peculiar to the application; light, heat, magnetic fields, etc. If you're interested in details, numerous papers (mostly academic and wordy) have been published that document the design of TinyOS... here's one I like.

As a system, TinyOS and the mote were designed to accomplish an objective with extremely scant resources. For example:

  • TinyOS occupied about 400 bytes of memory; a typical application 12-16 kB.
  • TinyOS runs on minuscule 8-bit micrcontrollers; e.g. Atmel's AT-90L, TI's MSP430 and the more modern ATtiny9 from Microchip.
  • NesC code is more like part of the 'kernel' than a traditional application; system efficiency demanded this approach.
  • Low duty cycles, and a system architecture that catered to energy conservation allowed batteries to last for a year or more (application dependent of course).

Delivery of sensor data to its ultimate destination from broadly-dispersed motes that might be dropped from an aircraft, free-fall style, into an extremely hostile operating environment demanded clever routing algorithms. "Flexibility" was thus the key driver in design of TinyOS' communication stack. Consequently, no existing communication infrastructure is needed. This is of course both empowering and challenging. A number of routing protocols were developed, and the open-source licensing encouraged adoption and modification of these protocols.

As far as TinyOS being abandoned, or stagnant, I don't feel that's the case. The TinyOS GitHub repo shows recent activity, and suggests that it's being maintained and cared after. That said, TinyOS was never going to attract the "electronics-and-software-as-a-hobby" crowd; a crowd that didn't really exist until recently when Arduino and Raspberry Pi became popular.

And that brings me to the point in this elaborate "answer" to your thought-provoking question. I don't think there is a cut-and-dried, matter-of-fact answer. I think the answer comes down to this: We humans are more like sheep or lemmings than we like to believe. Raspberry Pi, Arduino, etc. are products that have attracted large followings of the curious and revenue for those who traffic in gadgets, but that has little or nothing to do with their suitability for a particular application. I'm not suggesting that one re-invent the wheel for each new problem, but at the same time, one (or two) size(s) do not fit all. Use the right tool for the job.

I know from your question that you understand this, but perhaps haven't thought of it in this way. Frankly, neither had I until your question jarred some loose rocks. So yes, I think you can still build some very elegant things with TinyOS, but you may have to do it with fewer support resources. Or, maybe there will be a "TinyOS Stack Exchange" in the future? Ha ha - don't hold your breath :)

I'll close with this: “The truth is often what we make of it; you heard what you wanted to hear, believed what you wanted to believe.”

Addendum:

As you think about how to build your devices, and aggregate them into systems, Phil Levis offers some food for thought in this brief video.

And as far as resources to support TinyOS development, here are a few that I found while researching my "answer" here:

  • Thank you for your answer. Finally I could read it all. The question was motivated by the fact that I could not find recent applications or paper work using TinyOS. As far as regarding motes devices some commercial products exist recalling the "mote" name (such as Waspmote from Libellium) that are based or at least very similar to an Arduino board. Thanks again! – Francesco Boi Jun 20 '18 at 8:23
  • My pleasure; I'm glad you asked the question :) – Seamus Jun 20 '18 at 18:48
5

There is no real difference. According to this, you are on to the definition of "mote" with your headline: "a microcontroller equipped with sensors and connectivity" - shorter: "Sensor node"

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.