当前位置: 首页 > wzjs >正文

如何在公司系统建网站网上商店的优势和劣势

如何在公司系统建网站,网上商店的优势和劣势,wordpress更新主题,wordpress博客主题源码这里写自定义目录标题 在两台设备上安装必要软件Wi-Fi Direct接收端IP(自动发现或静态设置)设置摄像头参数显示初始化网络设置 系统架构概述 发送端树莓派:捕获视频(摄像头或视频文件)→ 编码 → 通过Wi-Fi Direct传输…

这里写自定义目录标题

  • 在两台设备上安装必要软件
  • Wi-Fi Direct接收端IP(自动发现或静态设置)
  • 设置摄像头参数
  • 显示初始化
  • 网络设置

系统架构概述
发送端树莓派:捕获视频(摄像头或视频文件)→ 编码 → 通过Wi-Fi Direct传输

接收端树莓派:接收数据 → 解码 → 在ST7789 LCD屏上显示

准备工作
硬件需求
两个树莓派(建议3B+/4B)

摄像头模块(发送端)

ST7789 LCD屏(接收端)

电源供应

软件需求
bash
复制

在两台设备上安装必要软件

sudo apt update
sudo apt install -y ffmpeg python3-pip git
pip3 install numpy gpiozero spidev st7789

第一部分:配置Wi-Fi Direct连接

  1. 在两台树莓派上配置Wi-Fi Direct
    编辑网络配置文件:

bash
复制

sudo nano /etc/wpa_supplicant/wpa_supplicant.conf

添加以下内容(两台设备配置相同):

复制

ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
country=USnetwork={ssid="DIRECT-RPi"mode=1frequency=2412key_mgmt=WPA-PSKpsk="raspberry"
}

重启网络服务:

bash
复制

sudo systemctl restart networking

或者

sudo systemctl restart NetworkManager

或者

sudo systemctl restart systemd-networkd

不同发行版使用的网络服务不同,具体使用哪条指令,可以先通过以下指令确认当前使用的是哪个网络管理工具:

sudo systemctl list-units --type=service | grep -E '(network|NetworkManager)'
  1. 验证连接
    在两台设备上执行:

bash
复制

sudo iw dev wlan0 scan | grep "DIRECT-RPi"

应该能看到彼此的设备。

第二部分:发送端设置(视频采集和传输)

  1. 视频采集脚本 sender.py
    python
    复制
import subprocess
import socket
import time

Wi-Fi Direct接收端IP(自动发现或静态设置)

RECEIVER_IP = "192.168.4.2"  # 典型Wi-Fi Direct IP
PORT = 5000

设置摄像头参数

WIDTH, HEIGHT = 640, 480
FPS = 24
BITRATE = "500k"def start_stream():# 使用FFmpeg捕获摄像头并编码为H.264ffmpeg_cmd = ['ffmpeg','-f', 'v4l2','-input_format', 'h264','-video_size', f'{WIDTH}x{HEIGHT}','-framerate', str(FPS),'-i', '/dev/video0','-c:v', 'copy',  # 直接使用摄像头硬件编码'-f', 'h264','-']# 网络传输设置soc = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)# 启动FFmpeg进程process = subprocess.Popen(ffmpeg_cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE)try:while True:# 读取FFmpeg输出并发送data = process.stdout.read(1024)if not data:breaksoc.sendto(data, (RECEIVER_IP, PORT))except KeyboardInterrupt:process.terminate()soc.close()if __name__ == "__main__":start_stream()

第三部分:接收端设置(接收和显示)

  1. 安装显示驱动库
    bash
    复制
git clone https://github.com/pimoroni/st7789-python
cd st7789-python
sudo python3 setup.py install
  1. 接收和显示脚本 receiver.py
python
复制
import socket
import subprocess
import threading
from PIL import Image
import st7789
import numpy as np

显示初始化

disp = st7789.ST7789(height=240,width=240,rotation=90,port=0,cs=8,dc=24,rst=25,spi_speed_hz=80 * 1000 * 000
)

网络设置

PORT = 5000
BUFFER_SIZE = 1024 * 8  # 8KB缓冲区def display_frame(frame_data):"""将接收到的帧数据显示在LCD上"""try:# 转换为PIL图像(假设是RGB格式)img = Image.frombytes('RGB', (240, 240), frame_data)disp.display(img)except Exception as e:print(f"显示错误: {e}")def receive_stream():sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)sock.bind(('0.0.0.0', PORT))# 使用FFmpeg解码ffmpeg_cmd = ['ffmpeg','-i', '-',          # 从stdin读取'-f', 'rawvideo',   # 输出原始视频帧'-pix_fmt', 'rgb24','-s', '240x240',    # 调整为屏幕分辨率'-']process = subprocess.Popen(ffmpeg_cmd, stdin=subprocess.PIPE, stdout=subprocess.PIPE)while True:data, _ = sock.recvfrom(BUFFER_SIZE)if data:process.stdin.write(data)# 从FFmpeg读取解码后的帧frame = process.stdout.read(240*240*3)  # RGB 240x240if frame:display_frame(frame)if __name__ == "__main__":receive_stream()

优化方案

  1. 降低延迟技巧
    发送端:

python
复制

ffmpeg_cmd = ['ffmpeg','-fflags', 'nobuffer',  # 减少输入缓冲'-flags', 'low_delay',  # 低延迟模式'-tune', 'zerolatency', # 零延迟调优# ...其他参数
]
接收端:python
复制
disp = st7789.ST7789(# ...其他参数spi_speed_hz=120 * 1000 * 1000  # 提高SPI速度
)
  1. 自动发现IP地址
    在两台设备上添加:

python
复制

import netifacesdef get_wifi_direct_ip():try:return netifaces.ifaddresses('p2p-wlan0-0')[netifaces.AF_INET][0]['addr']except:return None

常见问题解决
连接不稳定:

缩短设备间距离

尝试不同频道:sudo iwconfig wlan0 channel 6

视频卡顿:

降低分辨率:改为320x240

降低帧率:15FPS

减少比特率:“300k”

显示异常:

检查SPI连接

确认ST7789初始化参数正确

降低SPI速度测试

最终启动流程
发送端:

bash
复制
python3 sender.py
接收端:

bash
复制
python3 receiver.py
这个方案实现了从摄像头采集到无线传输再到屏幕显示的全流程,你可以根据需要调整视频参数和显示设置。

http://www.dtcms.com/wzjs/783633.html

相关文章:

  • 公司的服务器能建设网站吗开发公司采取措施成立新班推动工作
  • 网站开发具体是干什么的绍兴企业免费建站
  • 知乎 拒绝 朋友 做网站网站建设个人网上银行
  • 南通网站制作公司哪家好seo最好的网站源码
  • 怎么自己制作一个网站下载器网站 架构 设计
  • 一个网站空间可以做多少个网站邯郸app开发
  • 珠海正规网站制作排名费用多少wordpress图片文件目录
  • 做a免费视频在线观看网站扬州建网站
  • 企业网站建设上市公司怎么做app网站ui原型
  • 自贡普通网站建设费用东铁匠营网站建设公司
  • 安徽华力建设集团网站蓝色网站模版
  • 网站推广计划机构网站的链接优化
  • wordpress如何设置404页面跳转seo在网站建设中的作用
  • 宣城网站 建设磁力网站怎么做
  • 什么样的网站需要改版资源下载网站源码
  • 大自然的网站设计网站建设的流程是什么
  • 网站城市切换代码wordpress卡蜜
  • 可以做课程的网站工布江达网站建设
  • wordpress手机网站seo网站推广平台
  • 扶风做企业网站广州关键词排名推广
  • 如何建设网站教程视屏网站优点
  • 邮政管理网站建设网站域名更换是怎么做的
  • 岳阳网站定制芜湖中凡网站建设公司
  • 上海网站建设_永灿品牌建站网站设计协议
  • 国外网站建设现状图分析什么建站程序好收录
  • 网站建设资质要求自学网站制作教程
  • 全球最大源码共享网站网易云外链wordpress
  • 永春建设局网站网站建设缺陷
  • 网站建设一条成都到西安需要核酸检测吗
  • 成都网站制作沈阳多语言网站怎么实现的