All OpenDAQ products need to have a brain. We call this brain a processor, but what we really mean is that the brain is a micro-controller that has some digital I/O and a couple of common peripheral interfaces. But in the OpenDAQ architecture, the processor also contains memory for programs and memory to store acquired data, among other things.
Unlike a micro-controller chip, that needs other supporting hardware to actually work, the brain in an OpenDAQ product is a fully-functional module that can connect to things using basic connectors. These modules are available off-the-shelf and come with software for writing your own programs. These programs are programmed into the module and will run independently from the computer that was used to compile and download them into the module.
The most common of these modules include the Arduino family and the Raspberry PI family. The Arduino family includes modules that have widely differing speed performance, available generic I/O pins, and available standard interfaces, such as serial, SPI, I2C, etc. Raspberry PI modules generally offer greater performance, available memory, and advanced peripherals such as USB and video capabilities.
OpenDAQ does not specify any particular brain for any particular job. DAQ tasks vary widely in the complexity and horsepower needed to accomplish the given job. Selecting a single brain would be overkill in some cases, and underkill in others. OpenDAQ recommends that it is better to fit the brain with the overall job.
OpenDAQ can take this somewhat agnostic approach because the interfaces with the hardware that perform the various DAQ functions is abstracted into defined interfaces such as serial, SPI and I2C. Interfaces that require more complexity or performance than these standards is implemented using standard digital I/O pins.
It is the job of the brain to interface with the DAQ-specific hardware using these generic interfaces, perform basic tasks such as buffering data, and ultimately interface with a device to control the system, such as a PC, tablet, or smart-phone. Numerous off-the-shelf processor modules and hardware is available to implement the link between the OpenDAQ brain, and the higher-level control device using common interfaces such as Ethernet, WIFI, Bluetooth, and USB.
In high-performance applications, multiple brains can be used to implement DAQ tasks that have higher complexity, such as many channels, greater acquisition speed, internal data processing, concurrent channel readings, and so forth. But modularity and hardware abstraction is used to cleanly define the boundaries between these various brains, and OpenDAQ hardware.
By leaving the brain as a selection based on user preference and needed performance, OpenDAQ remains truly open and will allow future advances in ‘brain power’ to easily interface with OpenDAQ hardware for many years to come.