Skip to content

aokailin/HUB75-signalRGB-WIFI

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

基于MatrixPanel的signalRGB点阵屏幕,内置WiFiweb服务、udp、AP配网、仿WLED协议与signalRGB建立通讯,因为esp32s3的udp数据处理能力有限,特将signalRGB输出的数据进行压缩传送,使用此代码需要替换signalRGB的WLED.JS文件。 使用的是ESP32S3/Arduino和40*80的点阵板 希望各位大神优化细节上的问题。

这是演示视频。 https://github.com/aokailin/signalRGB-/assets/110108894/470b2919-930f-4cf5-a61e-5089acbab8f1

这个是WLED.JS需要修改的地方:

	for(let CurrPacket = 0; CurrPacket <Math.ceil(NumPackets / 2); CurrPacket++) {
		const startIdx = CurrPacket * MaxLedsInPacket;
		const highByte = ((startIdx >> 8) & 0xFF);
		const lowByte = (startIdx & 0xFF);
		let packet = [0x04, 0x02, highByte, CurrPacket];
		let led1 = RGBData.splice(0, MaxLedsInPacket*3);
		let led2 = RGBData.splice(0, MaxLedsInPacket*3);
		let RGBTEMP = [ ];
		
		for (let i = 0; i < led1.length; i++) {
		  // 将L1中的每个元素除以16,然后合并到L3中
			const valueFromled1 = (led1[i] / 16) & 0xF;
			RGBTEMP.push(valueFromled1);
		}

		for (let i = 0; i < led2.length; i++) {
			// 将L2中的每个元素除以16,然后合并到L3中
			const valueFromled2 = (led2[i] / 16) & 0xF;
			RGBTEMP.push(valueFromled2);
		}

		packet = packet.concat(RGBTEMP.splice(0, MaxLedsInPacket*3));
		udp.send(this.ip, this.streamingPort, packet, BIG_ENDIAN);
	}
}

About

基于MatrixPanel的signalRGB点阵屏幕

Resources

Stars

Watchers

Forks

Packages

No packages published