In my last post, I talked about the growing Internet of Things. It seems every new consumer device can go online these days, and for good reason -- the benefits include such things as more intelligent automation, centralized management, and streamlined updating.
In today's world, new hardware can often be designed from the ground up with Internet accessibility in mind. However, not everything uses new hardware -- there is also a lot of existing kit out there that could make use of these benefits, but isn't ready to be replaced just yet. It used to be that such situations required either custom devices, or a full-size computer, overpowered for its actual need. Both of these situations can quickly become expensive, and may lead to complicated maintenance procedures. Today, though, several cost-effective solutions are available to bridge the gap. Two of the most common are Arduino and Raspberry Pi.
For non-intensive tasks, the Arduino family of microcontrollers provides a low-cost and extremely customizable platform. The open-source hardware has been commercially produced in dozens of different forms (and with many modular components), allowing users to meet their specific needs.
An Arduino is a great choice if you're looking for low-level data acquisition and/or a basic control interface.
When a little more raw power is needed, the Raspberry Pi shines. For about $40, you can buy a palm-sized device with (almost) all the trappings of a modern-day computer. It's got USB ports, built-in networking, and can even run some modern operating systems without breaking a sweat.
A Raspberry Pi excels in situations that call for not only data acquisition, but also some amount of pre-processing (such as compression or filtering). They can also provide a more powerful interface for management and administration.
Bridging the Gap
In both of these cases -- as with any type of embedded computing -- the process of integrating and programming these devices can be a bit daunting. Building a harness that will receive data from a piece of equipment and convey it to your embedded device often requires basic electrical engineering knowledge and awareness of the data formats supported by each device, to say nothing of a bit of skill with a soldering iron! And the programming needed to parse, process, and manage the data once it's received can be non-trivial too.
This is where Smart Software can help. Our team of developers have real-world experience programming these devices, and are ready and willing to work with your team to develop optimal solutions and bring your devices online.