Smoother Data Visualization on Raspberry Pi Zero W

Have some feedback, questions, suggestions, or just fancy a chat? Pop it in here.
Post Reply
iono
Posts: 11
Joined: Sat Feb 11, 2017 7:51 am

Smoother Data Visualization on Raspberry Pi Zero W

Post by iono »

So I got a Raspberry Pi Zero W and a Waveshare 1024 x 600 pixels touchscreen lying around doing nothing, so I decided to put them to some good uses. I decided to make a "Data Visualization" from my IoT sensors. I gave Pi Zero W DietPi with Chromium pointed to another Raspberry Pi 3b+ that has Grafana installed. Grafana consumes data from InfluxDB on the same Pi 3b+.

I expected the Pi Zero to be very sluggish, but Chromium displaying Grafana page on Pi Zero turned out to be even more sluggish than I thought. The graphs could only refresh themselves every 10 seconds or so at 640 x 480 resolution.

So if I want to visualize data at 1024 x 600 resolution, do I have some other (native app?) alternatives here in this case? Or is this way too much for Pi Zero W?

PS. Since the Waveshare resolution is 1024 x 600 natively, I do not see display option for this resolution in the dietpi config. Is it possible to set it somehow?

Iono
User avatar
Joulinar
Posts: 2300
Joined: Sat Nov 16, 2019 12:49 am

Re: Smoother Data Visualization on Raspberry Pi Zero W

Post by Joulinar »

Hi,

I guess there is no alternative way than using a web browser. That*s how Grafana is accessed. In your Pi Zero, you could check CPU + Mem usage once running Chromium. Probably it's overloading your system.
Pls let us know if a solution is working. This could help others if they hit by similar situation. Your DietPi Team
iono
Posts: 11
Joined: Sat Feb 11, 2017 7:51 am

Re: Smoother Data Visualization on Raspberry Pi Zero W

Post by iono »

I see. Then, in that case, how about this? I could write in C, C++, Python, Node.js.

On microController such as M5Stack which has TFT LCD, I could consume sensors data from mqtt server which is also on Raspberry Pi 3b+, then render these data out on the tiny screen. The function calls for these microControllers are more primitive. You gotta manipulate all drawLine, drawText, drawShape, etc. on x, y coordinate. Set color, size, etc. accordingly.

I am very ok with doing these primitive functions. On DietPi, can you suggest a library which could accomplish above just like what I could with the microControllers?

A rendering library that could do the primitive rendering functions, preferably no need to go for any desktop environment. Just use terminal and access pixels on a frameBuffer (?) directly then after everything is rendered, render this frameBuffer on the monitor directly. Double Buffering, if my memory is correct, to prevent objects on the screen flashing like in the NES days.

Other things I see that are required:

- mqtt library
- font library for used with above rendering
- g++ for compiling this app.
User avatar
Joulinar
Posts: 2300
Joined: Sat Nov 16, 2019 12:49 am

Re: Smoother Data Visualization on Raspberry Pi Zero W

Post by Joulinar »

sorry but I don't have the knowledge on such development or scripting stuff

Maybe @MichaIng has an idea.
Pls let us know if a solution is working. This could help others if they hit by similar situation. Your DietPi Team
User avatar
MichaIng
Site Admin
Posts: 2334
Joined: Sat Nov 18, 2017 6:21 pm

Re: Smoother Data Visualization on Raspberry Pi Zero W

Post by MichaIng »

Since Firefox is preinstalled on our desktops, you could at least give it a try, but Chromium it has native RPi GPU support (you either installed a desktop or raised GPU memory split manually, didn't you?) so if it is not able to present the Grafana graphs fluently, Firefox will most likely not do better.

I have not much knowledge about direct LCD rendering either. Mosquitto is available in dietpi-software, g++ included in build-essential, however you can install everything via APT repository just as you would on Raspberry Pi OS or any other Debian-like OS. Also likely there are already such tools to print InfluxDB data nicely to console, like Grafana but printing to screen instead of web application.
Post Reply