A reader asks “How can I transport data from my loggers to my computer?”

In response to the last Microcontroller Designline Newsletter, in which I asked if anyone wished to contribute a “How To” design article, I just received the following query from a reader:

Hi there Clive! Thank you, always nice to read the MCU Designline. I don’t want to give a ‘How to’ at this stage, I would like to ask ‘how to?’

While officially retired, I cannot stay away from MCUs. The design and programming is simply too intriguing.I have this line of soil moisture data loggers. The ‘how to’ I have yet to find is the transport of the data from the loggers to the computer.

Physical connection is not the best. Weather and geckos and spiders and such like really make plugs and sockets not the ideal. GSM is also out, no signal at most of the loggers. Permanent physical pairs are also out, the length is too high, and road crossings are a problem.

Because the system is only efficient if there are a sufficient number of data loggers to cater for all the varying soil types and plants, the loggers get to be cost sensitive.

Bluetooth modules are too expensive, else it would be a nice alternative. Then a cell phone can be used to transport the data.

So “How to?” Perhaps your readers can contribute.

Well, first of all I have to admit to being a little bit biased, because I know a local company in town – Synapse Wireless – who create small, affordable, low-power, wireless modules that would be ideal for this sort of thing.

Since you are talking about having lots of sensors / data loggers, one thing you need is a mesh network. The idea here is that all of the wireless nodes link up to form a mesh. So if any nodes are located remotely from the main computer – that is, too far to communicate with the main computer – the other nodes will automatically route the messages. I tend to think of this a bit like runners in a relay race passing the baton from one to the other.

Each wireless node includes a microcontroller running a piece of software called a wireless stack. One wireless stack that everyone has heard about (even if they don’t know much about it) is called ZigBee. There are a couple of issues with ZigBee. First, the ZigBee stack is quite large – about 120KB, and that’s without any user applications – which forces you to use a more expensive microcontroller. Second, creating application programs requires knowledge of the ZigBee stack, coding in C, compiling the application in conjunction with the stack, and physically loading the application-stack combo into the target wireless node. And if you think this is a pain, wait until you try debugging your application (grin).

By comparison, the folks at Synapse have a stack called SNAP. Even though it’s only 40KB in size, SNAP is a fully self-forming, self-healing mesh network. By “self-forming” I mean that when you turn a node on it effectively should “hello everyone” and automatically integrates itself into the network. By “self-healing” I mean that if any node or nodes fail, the others will automatically re-route messages around the failed node(s).

But the really big advantage of the SNAP technology to my mind is the fact that you create your applications in the Python scripting language, which is really easy to learn. (I know of one small [two-man] company that took delivery of a Synapse evaluation kit. One of the guys drove into town to pick up a book on Python programming. By the time he returned, the other guy was already modifying the demo applications and running them.)

The folks from Synapse also have a software tool called Portal that is free and that runs on your PC. This is the tool you use to create and debug applications and to administer your network. When you power-up a new wireless node, its corresponding icon immediately appears in your Portal window. When you create a new application, you simply drag-and-drop it over the destination node or nodes. Your application is interpreted into byte code, which is wirelessly transmitted to the target nodes “over the air”. This means that even after you’ve deployed all of the nodes, you can modify your application(s) at a later date without having to bring the nodes back to your “head office”.

Actually, I emailed David Ewing – the CTO at Synapse Wireless – copying him on this reader’s query and asking what he would recommend in this case. David replied as follows:

All of our modules are fabulous (grin), but for this application I would recommend something in our RF2xx or SM2xx line. Since cost is an issue, the SM200 may be the best bet.

Yes, Portal can be used freely as a datalogger for an unlimited number of nodes. However, it would be really cool to use one of our E10 units as the datalogger. This could also sport a cell-modem to provide Internet access to a remote site. A SNAPconnect license is built into the cost of the E10, which is a reasonably priced rugged-embedded Linux box. As a bonus, one of the example programs bundled with SNAPconnect is a Pachube Updater program. With that in place – and almost no programming at all – you would have web-access to sensor readings from anywhere in the world, including the ability to "tweet" if the readings went outside your prescribed boundaries. The Pachube service provides archiving, tweeting, etc. for free at present.

So there you have it. I shall be emailing the poser of the original question asking him to keep us informed as to which solution he eventually decides to adopt (ZigBee, SNAP, something else…) and how he gets on with it. Maybe he will even write a “How to” article on this topic for Microcontroller Designline (you can run, but you can’t hide :-)

If you found this article to be interest, visitMicrocontroller / MCU Designline where – in addition to my blogs on all sorts of "stuff" (also check out my Max's Cool Beans blog) – you will find the latest and greatest design, technology, product, and news articles with regard to all aspects of designing and using microcontrollers.

Also, you can obtain a highlights update delivered directly to your inbox by signing up for my weekly newsletter – just Click Here to request this newsletter using the Manage Newsletters tab (if you aren't already a member you'll be asked to register, but it's free and painless so don't let that stop you [grin]).

Last but certainly not least, make sure you check out all of the discussions and other information resources at MicrocontrollerCentral.com, including blogs by yours truly.

Physical connections are out, but how about a short-range wireless transfer technology similar to what are used in RFID cards? or use IrDA?
Whether these would be suitable would depend on how often the data needs to be collected, how many sensors, and how far apart the sensors are.

I guess that the whole point is that if you have a large number of these things, you don't want to be walking around collecting the data by hand, even if you are using RFID type technology -- much better to use a wireless mesh network to deliver the data to your PC...

Wow, I read that the product was cost sensitive - Synapse is $30!!
You can buy an Anaren (www.anaren.com) module for $15-$20 in volume @2.4GHz or as low as $5-$10 in volume @900Mhz. These come with Zigbee or TI's SmartRF protocol stacks and there are numerous third party stacks (including ours).
Depending on the application, you may also be able to do away with the host MCU - the MCU on these boards is available for use in the product.
Guy McIlroy
Koliada

Que? What do you mean when you say "Synapse is $30"? They have a wide range of modules for different applications - some may certainly be $30, but in my column I pointed out that David at Synapse had recommended their SM200 module on the basis that cost was an issue.
I just checked the Digi-Key website and the Synapse SM200 module is $21 for qty=1, and $14.49 apiece for 500.
http://search.digikey.com/us/en/cat/rf-if-and-rfid/rf-transceivers/3539948?k=sm200
Furthermore, "doing away with the host MCU" is one of the key value-adds of the Synapse offering. Not only can you use the MCU built into the SNAP module to run your own applications, but (as I mentioned in my column above) you can program it over-the-air in Python using their free development tools!

There are a few ways you can transport data from loggers to the computer, but it depends on your budget and your needs. Of course, transporting it wirelessly would be the best, but you still need to know how to arrange them. Bluetooth is also a good option, but as you already know, they can be expensive.
James - http://www.raid-data-recovery-uk.com