显示页面修订记录反向链接回到顶部 本页面只读。您可以查看源文件,但不能更改它。如果您觉得这是系统错误,请联系管理员。 ====USB Wifi 测试==== **deyaio-manifest的rtsp分支,用rtsp.xml,使用meta-custom的rtsp分支** ===DEY 5.0 r1 测试=== 刷好固件后,udhcpd和hostapd@wlan1都没运行,需要ifup wlan1后即可,不过固件加载错误的情况,需要手动改一下: <code> cp cyfmac..trxe cyfmac55500-sdio.digi,ccmp25-dvk.trxse cp cyfmac..txt cyfmac55500-sdio.digi,ccmp25-dvk.txt 不过,仍只能用默认的规则 </code> 碰到网络拒绝加入,多等一会儿,让初始化完成即可 设置摄像头: <code> v4l2-ctl --list-devices #查看设备,最后一项第一个才是摄像头,以 /dev/video2为例,其它设备是硬件codec之类的,也可能未来有用。 v4l2-ctl -d /dev/video2 --list-formats-ext #查看摄像头支持的输出格式 v4l2-ctl -d /dev/video2 --get-fmt-video 查看当前输出 v4l2-ctl -d /dev/video2 --set-fmt-video=width=1024,height=768,pixelformat=MJPG #设置输出格式 gst-launch-1.0 v4l2src device=/dev/video2 ! autovideoconvert ! autovideosink #注意,如果想简单测试一下在显示屏上输出摄像头的视频,可用这个,但它会占用设备,不可再用web共享,因此为了web共享,用下面这个办法,先创建web的流,再用相同的流本地显示 </code> 通过web或本地显示usb摄像头的视频 <code> 1、创建ip直接访问所需页面 echo "<html><body><h1>MJPG Streamer</h1><img src=\"/?action=stream\" /></body></html>" > /srv/mjpg_streamer/www/index.html 2、mjpg_streamer -i "input_uvc.so -d /dev/video2 -r 1024x768 -f 30" -o "output_http.so -p 8080 -w /usr/share/mjpg-streamer/www" 3、本地打开:gst-launch-1.0 -v souphttpsrc location=http://localhost:8080/?action=stream ! jpegdec ! autovideosink </code> **使用固件20250303** 这个版本已经集成了udhcpd的相关服务,包括mjpg-streamer和rtsp服务器等软件,并且用sthttpd替代busybox的,以实现更多web功能的支持。默认已经改好/etc/network/interfaces中相关的支持。 启动后,有可能需要systemctl restart udhcpd,后续固件更新相关的服务配置,就不需要。 要开启AP,直接ifup wlan1。 另外注意,当前的cypress固件回载出错,不过其应该使用默认的固件,也是可以用来简单测试的,如果要提升性能,可能需要更新无线的固件。 卡刷这个版本固件, 上电后按任意键停在uboot下 <code> setenv dey-image-qt run install_linux_fw_sd </code> 测试步骤: 1、修改本地显示输出,默认是HDMI接口,如果要改为本地的lvds,开机后按任意键停在uboot下,执行 <code> setenv overlays _ov_board_g101evn010-lvds_ccmp25-dvk.dtbo saveenv reset </code> 1、自定义wifi密码: <code> nano /etc/hostapd_wlan1.conf </code> 按需更改热点名称密码,然后重启,名称改为ap-ccmp25,密码改为digidigi 重启,或是得新启动hostapd@wlan1 2、开启AP, 我们在wlan1中实施,如果有在使用wlan0,请先关闭它。 <code> #DEY 4.0 r7有bug,为支持ap功能,需修改一下固件名称 cd /lib/firmware/cypress/ cp cyfmac55500-sdio.trxse cyfmac55500-sdio.digi,ccmp25-dvk.trxse #关闭wlan0 ,无所谓要不要这一步 nmcli dev set wlan0 managed no nmcli dev status #启用 systemctl enable hostapd@wlan1.service ifup wlan1 systemctl status udhcpd systemctl restart udhcpd #根据固件版本看是否要重启这个服务 systemctl restart hostapd@wlan1.service </code> Connectcore的AP默认IP地址为:192.168.46.30,客户端接入后会分配到相同网段的IP,并且可以访问http://192.168.42.3 3、配置usb摄像头的默认输出: 查看摄像头支持的格式,用 <code> v4l2-ctl --list-formats-ext -d /dev/video2 </code> 查看摄像头的默认输出格式,用 <code> v4l2-ctl -d /dev/video2 --get-fmt-video </code> 设置摄像头的格式,可以用下面命令,注意你要设置硬件所支持的范围 <code> v4l2-ctl -d /dev/video2 --set-fmt-video=width=640,height=480,pixelformat=YUYV </code> export LD_LIBRARY_PATH=/usr/lib/mjpg-streamer mjpg_streamer -i "input_uvc.so -d /dev/video0 -r 1024x768 -f 30" -o "output_http.so -p 8080 -w ./www" ===sthttpd 配合gstreamer==== nano /etc/thttpd.conf <code> dir=/srv/www cgipat=/cgi-bin/* user=root </code> nano /srv/www/cgi-bin/stream <code> #!/bin/sh # 手动设置 HTTP 头(关键:指定 M-JPEG 格式) echo -e "HTTP/1.1 200 OK\r\nContent-Type: multipart/x-mixed-replace; boundary=frame\r\n\r\n" # 直接输出摄像头 MJPG 流(无需编码) gst-launch-1.0 -q v4l2src device=/dev/video0 ! \ image/jpeg,width=1280,height=720,framerate=30/1 ! \ multipartmux boundary=frame ! \ fdsink fd=1 </code> chmod +x /srv/www/cgi-bin/stream 注意,如果要同时本地输出,用这个版本: <code> #!/bin/sh # 设置 HTTP 头 echo -e "HTTP/1.1 200 OK\r\nContent-Type: multipart/x-mixed-replace; boundary=frame\r\n\r\n" # 启动 GStreamer 管道(同时输出到 HTTP 和本地屏幕) gst-launch-1.0 -q \ v4l2src device=/dev/video0 ! \ image/jpeg,width=1024,height=768,framerate=30/1 ! \ tee name=t \ # 分支 1:HTTP 流输出(保持现有逻辑) t. ! queue ! multipartmux boundary=frame ! fdsink fd=1 \ # 分支 2:本地显示(解码 MJPG 后渲染) t. ! queue ! jpegdec ! videoconvert ! autovideosink sync=false </code> 编辑 /lib/systemd/system/thttpd.service,确保启动命令正确, ExecStart=/usr/sbin/thttpd -C /etc/thttpd.conf -c cgi-bin/* -i /var/run/thttpd.pid 临时调试时可用下面 ExecStart=/usr/sbin/thttpd -C /etc/thttpd.conf -D -i /var/run/thttpd.pid systemctl daemon-reload systemctl restart thttpd 旧的资料,在下面 检查wifi的功能: <code> iw reg get 没设置时,创建nano /etc/systemd/system/set-regdomain.service 另外,wlan1是用来设置ap的,创建 nano /etc/udhcpd.conf interface wlan1 start 192.168.46.100 end 192.168.46.200 max_leases 10 opt router 192.168.46.30 opt lease 86400 nano /etc/systemd/system/udhcpd.service [Unit] Description=DHCP Server After=network-online.target hostapd@wlan1.service Wants=network-online.target [Service] ExecStart=/usr/sbin/udhcpd -f /etc/udhcpd.conf Restart=on-failure RestartSec=5s StartLimitInterval=0 [Install] WantedBy=multi-user.target </code> 修改/etc/network/interfaces <code> auto wlan1 iface wlan1 inet static address 192.168.46.30 netmask 255.255.255.0 pre-up [ -d /proc/device-tree/wireless ] post-up systemctl start hostapd@wlan1.service post-up udhcpd /etc/udhcpd.conf pre-down systemctl stop hostapd@wlan1.service pre-down pkill udhcpd </code> 固件加载错误时,查日志,改名 cp cyfmac55500-sdio.trxse cypress/cyfmac55500-sdio.digi,ccmp25-dvk.trxse ***** 1、使用deyaio编译带有rtsp服务器支持的镜像,或是直接下载预编译的镜像,刷到开发板或设备中 要自己编译,可以在conf/local.conf中加入这些: <code> # 启用 gst-plugins-ugly 的 x264 支持 PACKAGECONFIG:append:pn-gstreamer1.0-plugins-ugly = " x264" # 接受 GPL 许可证(如果需要) LICENSE_FLAGS_ACCEPTED = "commercial_gpl" # 在 local.conf 中添加 GLIBC_GENERATE_LOCALES = "zh_CN.UTF-8 en_GB.UTF-8 en_US.UTF-8" IMAGE_LINGUAS = "zh-cn" LOCALE_UTF8_ONLY="1" IMAGE_INSTALL:append = " gstreamer1.0 gstreamer1.0-plugins-base gstreamer1.0-plugins-good gstreamer1.0-plugins-bad gstreamer1.0-plugins-ugly gstreamer1.0-rtsp-server ffmpeggstreamer1.0-libav gstreamer1.0-omx gstreamer1.0-plugins-base-apps x264 libjpeg-turbo libpng zlib nano tmux localedef glibc-utils v4l-utils" IMAGE_INSTALL:remove = " cccs connectcore-demo-example" </code> nxp用了一个IMAGE_INSTALL:append = " gst-variable-rtsp-server" ,原来的gstreamer1.0-rtsp-server不会被编译 2、连上并上电 若要支持10寸lvds屏,一并连接好,设置一下overlays,也可用默认hdmi显示屏或不接屏 连接摄像头,console线,上电进入linux 3、测试摄像头 先用v4l2-ctl --list-devices 列出所有,其中前两个是vpu和相关通道,最后一个是摄像头节点。 在显示屏上查看摄像头的视频,可以用 <code> gst-launch-1.0 v4l2src device=/dev/video2 ! autovideoconvert ! autovideosink </code> 查看摄像头支持的格式,用 <code> v4l2-ctl --list-formats-ext -d /dev/video2 </code> 查看摄像头的默认输出格式,用 <code> v4l2-ctl -d /dev/video2 --get-fmt-video </code> 设置摄像头的格式,可以用下面命令,注意你要设置硬件所支持的范围 <code> v4l2-ctl -d /dev/video2 --set-fmt-video=width=640,height=480,pixelformat=YUYV </code> 手动测试: <code> pkill hostapd pkill udhcpd ip link set wlan1 down ip link set wlan1 up hostapd -B /etc/hostapd_wlan1.conf udhcpd -f -v /etc/udhcpd.conf </code>