一、硬件介绍
Tab5 集成了双芯片架构和丰富的硬件资源,其主控采用基于 RISC‑V 架构的 ESP32‑P4 SoC,并配备 16MB Flash 与 32MB PSRAM,无线模块则选用 ESP32-C6-MINI-1U,支持 Wi-Fi 6;
还配备5英寸(1280×720 IPS)触控屏幕,以及2MP摄像头(1600×1200)、双麦克风阵列,3.5mm耳机孔与扬声器;
内置BMI270六轴传感器、实时时钟,板载HY2.0-4P,M5-Bus,GPIO_EXT排母和microSD卡槽等;
底部兼容NP‑F550可拆卸锂电池(具备充放电与实时监测电路);

系统框图

二、功能实现
1、硬件介绍
ESP32-C6-MINI-1U
Tab5的无线模块是ESP32-C6-MINI-1U,支持 Wi-Fi 6,其天线系统可在内置 3D 天线与外部 MMCX 天线接口之间自由切换;
可通过 IO 拓展芯片 PI4IOE5V6408-1 的 E1.P0 引脚切换 Wi-Fi 使用内置天线或 SMA 外置天线;
当 E1.P0 低电平时使用内置天线,高电平时使用外置天线;
默认初始化状态下,将使用内置 Wi-Fi 天线;
特性
ESP32-C6 是一款支持 2.4 GHz Wi-Fi 6、Bluetooth 5、Zigbee 3.0 及 Thread 1.3 系统级芯片 (SoC),集成了一 个高性能 RISC-V 32 位处理器和一个低功耗 RISC-V 32 位处理器、Wi-Fi、Bluetooth LE、802.15.4 基带和 MAC、 RF 模块及外设等;
硬件引脚连接

原理图

2、功能效果
功能效果:连接Wi-Fi并启动TCP接收,在LCD屏幕上实时显示PC上位机发来的画面;
在 ESP32 上创建一个TCP服务器;
监听端口(例: 63333);
通过TCP接收上位机发送的帧JPEG并在LCD屏幕上实时显示;
连接同一个局域网内Wi‑Fi(LCD屏幕显示当前IP),在TCP端口上等待PC端(上位机)连接;
PC端每次发来一帧JPEG,TAB5解码并显示在LCD屏幕上(1280*720);
上位机主要通过Python脚本(使用 mss / PIL 库)实现,将PC视频画面转换为JPEG图片后传输;


三、代码编写
主要相关代码如下
#define WIFI_SSID "WIFI名称"
#define WIFI_PASS "WIFI密码"
#include <M5Unified.h>
#include "TCPReceiver.h"
static TCPReceiver recv;
void setup(void)
{
Serial.begin(115200);
M5.begin();
M5.Display.setFont(&fonts::FreeMonoBoldOblique24pt7b);
M5.Display.setRotation(1);
M5.Display.setTextSize(2);
// 显示连接WIFI IP地址
M5.Display.println("Connecting to ");
WiFi.mode(WIFI_MODE_STA);
WiFi.begin(WIFI_SSID, WIFI_PASS);
while (WiFi.status() != WL_CONNECTED) delay(100);
M5.Display.println("IP address: ");
M5.Display.println(WiFi.localIP());
recv.setup(&M5.Display); //屏幕接收显示配置
}
void loop(void)
{
M5.update();
recv.loop(); //接收
}
四、程序烧录
1、连接USB数据线至开发板;
2、选择端口号对应的开发板;
3、点击 上传 烧录程序到开发板上;

五、效果演示
ESP32P4虽然支持硬件H.264,但目前只有在ESP-IDF环境上有支持库,可能通过H264视频流的方式实现,画面效果会更好些;

我要赚赏金
