【安富莱原创开源应用第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的。
开启了最高等级的三级优化和时间优化:
RTX任务运行效果:
Demo下载: 网络摄像头之远程VNC版.7z
VNC小软件: emVNC .exe
将板子连接到路由器或者交换机后,打开此软件,输入stm32-v5, 注意是小写,然后输入密码123456就登陆上了。
效果截图:
动态GIF,运行时,图像有时候会有错位,这个是因为F4性能有些跟不上了,不同步。
【安富莱原创开源应用第3期】花式玩转网络摄像头之VNC远程桌面版本,稳定运行2年不死机的更多相关文章
- 【安富莱原创开源应用第2期】基于RL-USB和RL-FlashFS的完整NAND解决方案,稳定好用,可放心用于产品批量
说明:0. NAND Flash这块经常有人咨询,这里发布一个完整的解决方案,支持擦写均衡,坏块管理,ECC和掉电保护. 早期的时候我们是用的自己做的NAND算法,支持滑块管理,擦写均衡 ...
- 【安富莱原创开源应用第1期】花式玩转网络摄像头之TCP上位机软件实现,高端大气上档次,速度2MB/S,华丽丽的界面效果
说明:1.例子是两年前做的,一直没有顾上整理出来,今天特地整理出来,开源出来给大家玩.2.上位机是emWin模拟器开发的,大家估计很难猜到,所以你会emWin话的,就可以轻松制作上位机.做些通信和控制 ...
- 【安富莱STM32H7教程】第1章 初学STM32H7的准备工作
完整教程下载地址:http://forum.armfly.com/forum.php?mod=viewthread&tid=86980 第1章 初学STM32H7的准备工作 俗话说万事开头 ...
- 【安富莱】RTX嵌入式操作系统教程发布,支持F103,F407和F429,含81个配套例程(2017-10-17)
前言说明:1. 首先感谢大家对我们安富莱电子一年来的支持,2016年我们会再接再厉推出更好的教程. 2. 估计也有网友会问RTX的优势在那里,针对这个问题,教程中第一章分为6条专门回答了这个问题,有兴 ...
- 【安富莱二代示波器教程】第19章 附件E---参考资料
第19章 附件E---参考资料 DSP教程 http://forum.armfly.com/forum.php?mod=viewthread&tid=3886 . FreeRTOS教 ...
- 【安富莱TCPnet网络教程】HTTP通信实例
第41章 HTTP超文本传输协议基础知识 本章节为大家讲解HTTP(HyperText Transfer Protocol,超文本传输协议),从本章节开始,正式进入嵌入式Web的设计和学习. ...
- 【安富莱】【RL-TCPnet网络教程】第10章 RL-TCPnet网络协议栈移植(FreeRTOS)
第10章 RL-TCPnet网络协议栈移植(FreeRTOS) 本章教程为大家讲解RL-TCPnet网络协议栈的FreeRTOS操作系统移植方式,学习了第6章讲解的底层驱动接口函数之后,移植就 ...
- 【安富莱】【RL-TCPnet网络教程】第11章 RL-TCPnet调试方法
第11章 RL-TCPnet调试方法 本章节为大家讲解RL-TCPnet的调试方法,RL-TCPnet的调试功能其实就是通过串口打印实时监控运行状态.而且RL-TCPnet的调试设置比较简单 ...
- 【安富莱】【RL-TCPnet网络教程】第8章 RL-TCPnet网络协议栈移植(RTX)
第8章 RL-TCPnet网络协议栈移植(RTX) 本章教程为大家讲解RL-TCPnet网络协议栈的RTX操作系统移植方式,学习了第6章讲解的底层驱动接口函数之后,移植就比较容易了,主要 ...
随机推荐
- openv
https://www.cnblogs.com/xishuai/p/centos-openvpn.html https://www.cnblogs.com/biaopei/category/11029 ...
- .asmx支持post请求或者get请求调用(WebService "因 URL 意外地以 结束,请求格式无法识别" 的解决方法)
使用Post调用以asmx形式提供的webservice时,在本机调试没有调用问题.一旦部署至服务器后会提示如下信息: <html> <head> <title>因 ...
- mongodb将时间作为条件查询
db.stock_signal_single.find({"createtime": { "$lt" : ISODate("2019-04-08T00 ...
- Postman测试上传文件
postman测试上传文件 输入url:http://127.0.0.1:8081/uploadfile 选择post方式 选择body 选择form-data,text改为file 输入key: ...
- 「LibreOJ Round #9」CommonAnts 的调和数
题解: 对于subtask3:可以把相同的归在一起就是$nlogn$的了 对于subtask4: 可以使用高维前缀和的技术,具体的就是把每个质因数看作一维空间 那么时间复杂度是$\sum \limit ...
- CF1082
D 乱搞题..发现只有a[i]=1是特殊的 瞎搞一下 E 发现一段的贡献是出现次数最多的-为c个数 然后考虑分别对每种颜色做一下 然后每次只有这种颜色和他们之间是有用的 然后做个最大区间和就好了 F ...
- winxp改AHCI不再蓝屏,不用改注册表,所有PC机通用
要用win8的pe 在通常的情况下,硬盘在BIOS中默认为原生IDE模式以获得最好的兼容性.对配件要求较高的W7,W8系统中,而通过开启硬盘AHCI模式,可以在一定程度上提升硬盘的性能表现.如果在ID ...
- SLAM学习--开源测试数据集合
Tum RGB-D SLAM Dataset and Benchmark https://vision.in.tum.de/data/datasets/rgbd-dataset Kitti http: ...
- 广搜迷之RE及迷之WA
最近做广搜的时候天天迷之RE,经过dalao@口昭寿指点,我把string数组换成了char二维数组就AC了,(然而我并不知道为什么) 传送门 <——以这个题为例 #include <b ...
- 打包github上的项目,并在本地使用
在GitHub上去找工具并把地址克隆下来 在本地创建一个文件夹,文件夹内右击 (建议路径为英文,并保证本机有github的软件: https://jingyan.baidu.com/article/9 ...