Go Down

Topic: Low power hardware for a data historian to capture sensor data? (Read 567 times) previous topic - next topic

mikb55

I'm currently using a 6 year old Debian Linux PC as a long term data storage solution for capturing data collected by a bunch of Arduinos. This allows me to store months of data and plot graphs using Python and matplotlib.

The disadvantage it that it consume 10s or 100s of watts of power so has to run off mains power rather than the battery backup system I use to power the Arduinos which need to run continuously. The mains power supply where I live isn't that reliable so I have to make provision for outages that can last up to 8 hours.

Does anyone have any recommendations for a low power PC that only consumes a few watts and can still store a few GB of data, but still have reasonable performance so you can still use it as a development machine without tearing your hair out?

Things like the Intel compute stick look attractive as it comes packaged as a complete unit only requiring an external monitor and keyboard/mouse. The power consumption seems to be about 5-15 watts under peak load. This ships with Windows which isn't ideal. I think I'll be able to disable the Windows auto-update mechanism so that it doesn't randomly reboot at the most inappropriate times.

Things like the Raspberry Pi and Beaglebone have a lower power consumption but I have doubts about their ability to act as a development machine due to CPU limitations. My own experience of just using a Beaglebone for trivial stuff was that is was slow. I couldn't imagine using it for development.

The plotting software I currently use is all Python, but the long term goal is to switch to Kotlin which compiles and executes on a Java virtual machine. I know people make fun of Java because of browser security issues etc., but in the context of what I'm doing it makes sense.

The total amount of data coming in from the Arduinos is only about 400 bytes per second. This arrives via CAN bus and I use a single Arduino to translate this into Ethernet MQTT packets which get sent to a Mosquito MQTT server running on the PC.

A typical plot for one parameter, for one weeks worth of data contains about 300k data points. At the moment I'm just using the Python pickle function to save the data, but plan to move to SQLite.

Robin2

A Raspberry PI with an SD Card seems an obvious solution.

Why would it need to be a development machine? Couldn't you do your development on your regular PC?

Or what about a cheap laptop that only has SSD storage? - comes with in-built UPS.

...R
Two or three hours spent thinking and reading documentation solves most programming problems.

mikb55

Why would it need to be a development machine? Couldn't you do your development on your regular PC?
Differences in environment can lead to differences in behaviour between the dev and deployment machines.

Robin2

Differences in environment can lead to differences in behaviour between the dev and deployment machines.
Isn't it possible to make allowances for that?

...R
Two or three hours spent thinking and reading documentation solves most programming problems.

RIN67630

Or what about a cheap laptop that only has SSD storage? - comes with in-built UPS.
I use to use old netbooks with a broken panel. Remove the panel, fit a small ssd, install linux with VNC viewer or XRDP. You access them remotely from a main computer just when you need it, else they run 24/24/365 with a very low power and have backup for half a day...


NoraTheDoggo

I saw a review of something called Banna Pro. It is a raspberry pi formfactor, but has 2 gb of ram instead of 1(Raspberry Pi) A better processor, and other faster features. Combined with a cheap lithium-ion protection circuit, a boost converter, and a few lithium-ion batteries, it could run for a very long time without power. Plus you charge it from USB.

Protection Circuit:https://www.amazon.com/gp/product/B071RG4YWM/ref=oh_aui_detailpage_o07_s00?ie=UTF8&psc=1
Boost Converter:https://www.amazon.com/eBoot-Converter-Voltage-Adjustable-Step-up/dp/B06XWSV89D/ref=sr_1_1_sspa?s=electronics&ie=UTF8&qid=1528678633&sr=1-1-spons&keywords=boost+converter&psc=1&smid=APHB2NWNKDSBL
I like cooking children and Arduinos
Is not the same as: I like cooking, children, and Arduinos
Grammar matters!

Go Up