In college, most engineers learn about the Nyquist-Shannon sampling
theorem. Basically, it says that capturing an analog signal in the digital
world requires samples to be frequent enough to capture the changes in that
analog signal. Most remember the theorem says the minimum sample rate is twice the signal’s frequency. Some will recall the in class demonstration
offered as a warning – if sine wave signal is sampled at twice the frequency, exactly
at the zero cross point, the digital representation is a constant. Epic fail.
Internet of Things (IOT) developers need to be aware of
Nyquist because they need to ensure that they schedule sampling frequently
enough to capture signals in real time (that is, fast enough to sense a change and
react to it, see my discussion of real time), but not so fast as to use all the
bandwidth or to miss a signal toggle. They also need to be aware of the
non-deterministic nature of the network; Internet packets do not arrive on
schedule and may arrive out of sequence.
So what’s a poor IoT developer to do? First, realize that
the internet is great for monitoring, but may not be appropriate for
control. Second, realize that not just
any <fill in the name of your favorite language> developer is qualified
to do IoT development. Working in the
real time embedded software field requires special training and experience.
Third, and perhaps most important, there are plenty of us out here who have
been through it before. Most are willing to help if you ask.
No comments:
Post a Comment