zoukankan      html  css  js  c++  java
  • 【安富莱原创开源应用第3期】花式玩转网络摄像头之VNC远程桌面版本,稳定运行2年不死机

    说明:

    1、前段时间开源了一个网络摄像头的TCP版本  https://www.cnblogs.com/armfly/p/9173167.html,这次再来一个远程VNC的版本。使用更方便,无需大家制作上位机软件了,也不需要显示屏,使用外部SRAM虚拟一个显示屏。

    2、这个工程是之前测试RL-TCPnet网络协议栈稳定性的时候做的,一共做了三个版本,第三个版本稳定运行快2年的时候,停止测试了,测试期间连续运行,不断电。

    3、这个Demo相比之前的TCP版本要复杂不少,主要有以下几点

    (1)VNC 服务器使用外部SRAM虚拟出一个显示屏,除了打点和读点,全部使用DMA方式实现,有效降低CPU利用率。

    (2)RL-TCPnet的实现采用事件触发的方式,这样将有效降低CPU利用率。

    (3)摄像头接口要DMA数据到外部SRAM。

    (4)emWin的实现也是DMA方式虚拟到SRAM里面的,并且emWin动态内存也是SRAM,这种情况下,对于总线性能的要求非常高。

    (5)以太网也是用的DMA方式。

    尽管多处都进行了DMA优化,实际跑起来的时候CPU利用率依然可以飙升到70%。加上DMA的占用,F4的总线矩阵性能几乎被榨干。

    使用注意事项:

    1、配套的下位机是基于RTX4+RL-TCPne + emWin VNC实现,务必使用MDK4.74进行编译,其它MDK版本未做测试。

    2、测试例子时用的DM9161/9162网口,务必接到路由器或者交换器上面测试,因为VNC是采用的NetBIOS Name进行测试的。

    3、下载例子后等待LED3和LED4闪烁了再进行连接。

    4、关闭的时候,务必先关闭摄像头,因为摄像头非常占用系统性能,下次才可以快速登录。

    5、当前对V5开发板做了支持,后面有精力做个V6的。

    本期资源下载:

    链接:https://pan.baidu.com/s/1KVox8dpbfAlI7Shrdys-Fw  密码:vnlo

    VNC小软件:
    将板子连接到路由器或者交换机后,打开此软件,输入stm32-v5, 注意是小写,然后输入密码123456就登陆上了。



    开启了最高等级的三级优化和时间优化:


    RTX任务运行效果:



    效果截图:

    动态GIF,运行时,图像有时候会有错位,这个是因为F4性能有些跟不上了,不同步。

  • 相关阅读:
    欧拉代码005
    欧拉计划003
    欧拉计划004
    欧拉计划006
    欧拉计划002
    LINUXS3C2440SJA1000驱动程序笔记
    WPF实现窗体内容分割
    InotifyPropertyChanged接口实现简单数据绑定
    C#的6种常用集合类大比拼
    WPF获取窗体或控件句柄
  • 原文地址:https://www.cnblogs.com/armfly/p/9239975.html
Copyright © 2011-2022 走看看