Update README
parent
67b73f93ee
commit
8cd89881ba
50
README.md
50
README.md
|
@ -5,3 +5,53 @@ LED number = array size
|
|||
|
||||
### LED Settings:
|
||||
![](/img/led1.jpg)
|
||||
- LEDs: Set LED number
|
||||
- Brightness: Set LED brightness
|
||||
|
||||
### Example Sender create random led number and corresponding color:
|
||||
```python
|
||||
import socket
|
||||
import random
|
||||
import struct
|
||||
def rgb888_to_rgb565(r, g, b):
|
||||
"""Chuyển đổi từ RGB888 sang RGB565"""
|
||||
return ((r & 0xF8) << 8) | ((g & 0xFC) << 3) | (b >> 3)
|
||||
# Hàm tạo màu RGB565 ngẫu nhiên
|
||||
def generate_random_rgb565():
|
||||
red = random.randint(0, 255)
|
||||
green = random.randint(0, 255)
|
||||
blue = random.randint(0, 255)
|
||||
return rgb888_to_rgb565(red,green,blue)
|
||||
# Tạo 100 màu RGB565 ngẫu nhiên
|
||||
def generate_rgb565_colors(num_colors):
|
||||
return [generate_random_rgb565() for _ in range(num_colors)]
|
||||
|
||||
|
||||
# Chia dữ liệu thành các khối nhỏ hơn
|
||||
def chunk_data(data, chunk_size):
|
||||
return [data[i:i + chunk_size] for i in range(0, len(data), chunk_size)]
|
||||
|
||||
# Gửi dữ liệu qua UDP
|
||||
def send_data_via_udp(ip, port, data, chunk_size):
|
||||
chunk_size = 1450 # Kích thước gói tối đa để tránh tràn UDP
|
||||
num_packets = (len(data) * 2 + chunk_size - 1) // chunk_size
|
||||
sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
|
||||
print(num_packets)
|
||||
for i in range(num_packets):
|
||||
start_index = i * chunk_size // 2
|
||||
end_index = min((i + 1) * chunk_size // 2, len(data))
|
||||
packet = struct.pack('!' + 'H' * (end_index - start_index), *data[start_index:end_index])
|
||||
print(packet)
|
||||
sock.sendto(packet, (ip, port))
|
||||
|
||||
if __name__ == "__main__":
|
||||
ESP32_IP = '192.168.1.10' # Địa chỉ IP của ESP32
|
||||
ESP32_PORT = 5000 # Cổng UDP của ESP32
|
||||
CHUNK_SIZE = 1450 // 2 # Mỗi màu RGB565 chiếm 2 byte
|
||||
|
||||
# Tạo mảng 100 màu RGB565 ngẫu nhiên
|
||||
colors = generate_rgb565_colors(12)
|
||||
|
||||
# Gửi dữ liệu qua UDP với kích thước khối 1450 byte
|
||||
send_data_via_udp(ESP32_IP, ESP32_PORT, colors, CHUNK_SIZE)
|
||||
```
|
Loading…
Reference in New Issue