I'm building an imaging device and I’d like to use Nextion as HMI. What I would really need though is to have a possibility to display an image acquired by my device and sent to Nextion via UART.
I'm primarily interested in displaying 2D matrix of data (for instance in a range between 0 and 255 or between 0 and 1) as grayscale images, but in next stage it could also support 3D data matrix where 3rd dimension would stand for values of RGB to recreate colour image.
Additional extremely useful feature would be possibility to add pixels to the image separately (similar like adding values to the waveform component) with declaration of x and y pixel position, and of course its value.
I hope sincerely that ITEAD Studio will find this feature interesting and will consider its implementation.
Shall I read the silence with respect to this proposition as a negative decision or is it still under consideration? If it will not be taken I will have to look for different display for my project, therefore it would be nice to hear what's your opinion about it?
Maybe really instead of large chunk of data at one time (one whole image), addressing pixel by pixel a image-like component in a way similar to the waveform, but with x and y addressing of position and the magnitude of the received value would be displayed as shades of grayscale levels. Then, in perfect world, there could be also an option to save content of this component as an image (for example on micro-SD card)...
I think this is a great feature to add.
This was one of the first things that I thought...I work with Access Control and show the user image would really be great! Of course that the image need to be small and compact (no more than 6kB because of the 115kbps limit), as a .gif or a .jpeg file, then send it to be stored in the micro-SD card to be called dynamically.
But the possibility of draw something like a small bitmap, dynamically is a good start.
Prerequirements of my demo are
- a normal HMI display
- only BMP files are supported
- the color of Pixel 0,0 (topleft corner) is used as transparent color
x and y are the Pixel coordinates, where the BMP is displayed. this parameters are optional, if omitted, 0,0 is used
ComPort and Initial Baudrate are set within Pload.cfg
The demo contains a batch file for demonstration ...
- the display is set to 115200 Baud
- the BMP is transferred
- the display is reset to origin BaudRate Baud
Be aware, even with 115200 Baud bigger grafic files need its time.
The protocol-overhead is around 20 times bigger than the plain BMP data!!!
Best in terms of upload speed and size balance are BMP files below 100x100 Pixel.
Perhaps the next level Intelligent series of Nextions could have a quad core with NVidia GPU
I am now reviewing all of the Feature Requests, this will take some time, patience please.
- image over uart request - being carried forward
- For all practical purposes - UART is not a good medium for transferring images.
Can be done by user code - considered implemented
Addressing single pixel is to set it, not get it.
Dynamic picture over Serial in under 15 sec
Not fast over serial.
- however, why don't you consider embedding it as a picture resource.
You might like to read whole thread.