https://github.com/grz0zrg/fb_monitor
C Framebuffer display of a remote (HTTP) JPEG image / Octoprint monitoring from REST API
https://github.com/grz0zrg/fb_monitor
3d-printing c embedded-systems framebuffer graphics monitoring monitoring-tool octoprint
Last synced: 3 months ago
JSON representation
C Framebuffer display of a remote (HTTP) JPEG image / Octoprint monitoring from REST API
- Host: GitHub
- URL: https://github.com/grz0zrg/fb_monitor
- Owner: grz0zrg
- License: bsd-2-clause
- Created: 2018-07-01T11:47:21.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2018-07-22T13:29:19.000Z (over 7 years ago)
- Last Synced: 2024-12-01T14:36:04.847Z (about 1 year ago)
- Topics: 3d-printing, c, embedded-systems, framebuffer, graphics, monitoring, monitoring-tool, octoprint
- Language: C
- Homepage:
- Size: 606 KB
- Stars: 4
- Watchers: 4
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
C Framebuffer display of a remote JPEG image / Octoprint monitoring from REST API
=====
Small C program which is able to gather a remote JPEG image at regular intervall (via HTTP / `curl` library) and display it fullscreen onto a framebuffer device (via [fbg](https://github.com/grz0zrg/fbg) library) along with informations gathered from a REST API (via [ulfius](https://github.com/babelouest/ulfius) library)
This was made to monitor my 3D printer (with [octoprint](https://octoprint.org/) webcam stream & API) from my desk using a NanoPI NEO 2 and a small LCD display and thus allow to occasionally stream the framebuffer content to a streaming service like [twitch](https://www.twitch.tv/).
Features :
* Octoprint stream status (red / green); if down it mean that either the physical connection to octoprint was lost or that the octoprint device had an issue.
* Printer power / octoprint serial status (ON / OFF)
* Realtime statistics (temperature, host board temperature, current and last job, time, job progression bar)
* Realtime tool/bed temperature graphics
This program can be easily configured.
Altough this was made for octoprint, it has all the basic tools to be adapted for all sort of embedded monitoring needs...
To compile it, you will need my [framebuffer graphics library](https://github.com/grz0zrg/fbg), libcurl and [ulfius](https://github.com/babelouest/ulfius).
**Note** : Linux framebuffer streaming example (with twitch service) :
```
ffmpeg -f fbdev -framerate 25 -i /dev/fb0 -c:v libx264 -preset veryfast -maxrate 2000k -bufsize 4000k -vf "format=yuv420p" -g 50 -f flv rtmp://live.twitch.tv/app/
```
## Screenshots



License
=====
BSD, see LICENSE file