LED-12. Displaying HDMI Contents

이미지
 I recently bought an interesting product. It is a device that converts HDMI data to USB. This device works very much like a webcam. Just as a webcam transmits the video input through the camera lens through USB, this device transmits the video coming through HDMI through USB. Therefore, the host computer to which this device is connected treats it almost the same as a webcam. <HDMI Ccapture device> It's a cheap product you can get for around $10 on Amazon or Ali Express. This product can be usefully used when using SBC (Single Board Computer) such as Raspberry Pi. If you need to check the boot screen because the Raspberry Pi doesn't work properly without a monitor, you can use this device. After connecting the HDMI cable to the Raspberry Pi, connect this device to the other side and then connect the USB port to your laptop. You can check the screen of the Raspberry Pi on the laptop without a monitor. <Raspberry Pi screen output using Window's VLC player> In thi

LED-11. Make a very big size 384 X 512 RGB Matrix #6(final)

이미지
 Finally, it is the day to install the 384X512 size LED signage in the cafe. Up to now, assembly, development, and testing were carried out in my office. Finished installing and testing Node-RED for minor bug fixes and electronic parts management. And to install the cafe, I disassembled the electronic parts again and took it to the cafe. Here we will install it again after reassembly. reassembly All 24 LED panels, aluminum profiles, Hub75 cables and wires were removed and reassembled in the cafe. <Rear view of reassembled LED signage> After reassembly, a simple test was conducted. Confirmed that it works without problems. The next thing to do is to fix the sign structure to the window. <Test screen after reassembly> The black line on the screen is invisible to the human eye. <LED signage installation> Four arms were connected to the LED frame and fixed to the aluminum window frame. And after playing the LED content, I checked it outside the building. <LED signage i

LED-11. Make a very big size 384 X 512 RGB Matrix #5

이미지
 In the previous post, the LED player using Python failed to process the image packet transmitted through UDP at high speed. An error occurred in the 30 FPS processing. To dramatically improve performance, this time I will port our Python code to C/C++. It is expected that performance improvement of several to tens of times is possible.    Porting Python code to C/C++  Henner Zeller's rpi-rgb-led-matrix library was originally written for C/C++. Therefore, it is not difficult to port Parison code. And image packet reception using UDP communication can also be easily implemented using C/C++ socket communication.  Since the length of the code is quite long and it is divided into several source codes, I will not introduce the code in the main body.  I will put the source code on GitHub for those who need it to download.  C/C++ programs are available with two options. The first is to receive packets, assemble and update the LED display all in one thread. And the second is that one threa

LED-11. Make a very big size 384 X 512 RGB Matrix #4

이미지
 A network must be used to exchange images between the LED server and the player. A method for transmitting an image over a network is possible in several ways. In most cases, in order to reduce bandwidth, data is compressed and transmitted, and the receiver undergoes a process of decoding again. However, since we will be sending images on a local LAN, we will prioritize speed over bandwidth. Therefore, in this article, we will send and receive images without decompression. For image transmission using a network, refer to the next article. LED - 7. Distrbuted display system for very large RGB LED matrices    Network display  First, let's test the network image transfer using a simple Python program. Test  The following is a server-side Python program. We will read the image and send it to the player. #!/usr/bin/python3 import argparse import numpy as np import cv2 import time from PIL import Image, ImageSequence import netsender2 as netsender import socket

LED-11. Make a very big size 384 X 512 RGB Matrix #3

이미지
 This article links to the previous two articles. Be sure to read these articles in advance.   LED-11. Make a very big size 384 X 512 RGB Matrix #1   LED-11. Make a very big size 384 X 512 RGB Matrix #2  In the previous section, we looked at the frame assembly, LED panel connection, power connection, etc. to make a large LED signboard of 384X512 pixel size. In this blog, we will continue to check whether the connected electronic signage works properly, and if there is a problem, we will try to solve it.   Prepare Raspberry Pi images LED players I have enjoyed using Henner Zeller's library while making LED signboards using Raspberry Pi. I recommend reading his articles on GitHub.  I will use DietPi as the OS for LED control. DietPi is a lightweight OS that removes unnecessary parts from the Raspberry Pi OS. DietPi and HZeller's library installation are explained in detail in the article below. Please refer to the article below to create 4 SD card images.  LED - 5. Raspberry Pi