一、任务
设计并制作一个短距视频信号无线通信网络。通信网络如图 1 所示。该网络包括主节点 A、从节点 B 和 C,实现从节点 B 和 C 到主节点 A 的视频信号传输。传输的视频信号为模拟彩色视频信号(彩色制式不限),由具有 AV输出端子的彩色摄像头提供。每个从节点预留 AV 视频输入(莲花 RCA)插座,通过一根 AV 连接电缆与摄像头 AV 输出端子连接。节点须使用水平全方向天线,确保节点在水平全方向上都能达到要求的通信距离。
二、要求
1.基本要求
(1)实现由从节点 B 到主节点 A 的单向视频信号传输。主节点 A 预留 AV视频输出(莲花 RCA)插座,可以输出 AV 模拟彩色视频信号。采用具有 AV 输入端子的电视机显示通信的视频内容,电视机的彩色制式应与彩色视频信号制式一致。要求电视机显示的视频内容应清晰无闪烁、色彩正常,与摄像头直接用 AV 电缆连接到电视机的图像质量无明显差异(可拍摄题目附件的电视测试卡作为图像比较的参照物),最小通信距离不小于 5m。
(2)实现由从节点 C 到主节点 A 的单向视频信号传输,图像质量与通信距离要求同基本要求(1)。
(3)同时实现两个从节点 B 和 C 到主节点 A 的单向视频信号传输。图像质量与通信距离要求同基本要求(1)。主节点 A 可通过开关选择显示从节点 B 或 C 的视频内容。
(4)通过开关控制,从节点 B 和 C 在其发射的视频信号中,分别叠加对应字符“B”和“C” 的图案,在主节点 A 的电视机屏幕上与视频内容叠加显示。字符显示颜色、位置与大小自定。
2.发挥部分
(1)从节点 B 和 C 必须分别采用 2 节 1.2~1.5V 电池独立供电。摄像头也要求采用电池独立供电,摄像头功耗不计入从节点 B 和 C 的功耗。启动产生叠加字符功能,在通信距离为 5m 时,图像质量要求同基本要求(1)。从节点 B 和 C 的功耗均应小于 150mW。
(2)可以指定从节点 C 为中继转发节点(指定的方式任意),实现由从节点B 到主节点 A 间的视频信号中继通信。要求 B 节点到主节点 A 总的通信距离不小于 10m,图像质量要求同基本要求(1)。
(3)从节点 C 在转发从节点 B 视频信号到主节点 A 的同时,仍能传输自己的视频信号到主节点 A。主节点可通过开关选择显示从节点 B 或 C 的视频内容,图像质量与通信距离要求同基本要求(1)。
(4)其他(如尽可能降低从节点 B 和 C 的功耗等)。
三、说明
1. 网络节点可以使用成品收发模块,但其工作频率和发射功率应符合国家相关规定(http://www.miit.gov.cn/n11293472/n11295310/n11297428/11637344.html)。
2. 摄像头与从节点间的信号连接仅限一根 AV 视频电缆,传输 AV 模拟彩色视频信号,不得再使用其他有线或无线连接方式。
3. 本题所述的通信距离指两个节点设备外边沿间的最小直线距离。
4. 发挥部分必须在完成基本要求(4)的功能后才能进行,否则发挥部分不计入成绩。
5. 发挥部分(2)、(3)必须在发挥部分(1)要求的供电方式下进行。
GPT-4o给出的设计方案:
设计并制作一个短距离视频信号无线通信网络,实现多点视频传输,请参照图示的网络结构,包括主节点A、从节点B和从节点C。主节点与从节点之间的视频传输通过AV视频信号(RCA)进行,支持视频和音频信号。最大传输距离为5米。
视频信号输入与处理:
无线传输模块:
视频信号输出:
电源管理:
视频信号传输:
多点控制:
任一节点监控与管理:
AV信号解码模块(主节点A)
#include <Wire.h>
#define ADV7180_ADDRESS 0x21
void setup() {
Wire.begin();
initADV7180();
}
void initADV7180() {
// 初始化ADV7180
Wire.beginTransmission(ADV7180_ADDRESS);
Wire.write(0x00); // 设置寄存器地址
Wire.write(0x00); // 设置寄存器值
Wire.endTransmission();
}
void loop() {
// 获取并处理视频信号
}
无线传输模块初始化
#include <ESP8266WiFi.h>
const char *ssid = "your_SSID";
const char *password = "your_PASSWORD";
void setup() {
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
}
}
void loop() {
// 传输视频数据
}
主控程序:数据传输与接收
void sendVideoData(const uint8_t *data, size_t len) {
WiFiClient client;
if (client.connect("receiver_IP", 8888)) {
client.write(data, len);
client.stop();
}
}
void receiveVideoData(uint8_t *data, size_t len) {
WiFiServer server(8888);
WiFiClient client = server.available();
if (client) {
client.read(data, len);
client.stop();
}
}
该设计方案确保构建一个短距离视频信号无线通信网络,满足多点视频信号同步传输、自动切换和低功耗的需求。
本题目考察的主要知识点: