amobbs.com 阿莫电子技术论坛

标题: 【开源个小项目】稳定运行2年不死机,网络摄像头之VNC版本 [打印本页]

作者: Eric2013    时间: 2018-6-27 17:21
标题: 【开源个小项目】稳定运行2年不死机,网络摄像头之VNC版本
本帖最后由 Eric2013 于 2018-6-27 17:20 编辑

说明:
0、此贴纯开源。
1、前段时间开源了一个网络摄像头的TCP版本:https://www.amobbs.com/thread-5693183-1-1.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的总线矩阵性能几乎被榨干。


开启了最高等级的三级优化和时间优化:
[attach]417840[/attach]

RTX任务运行效果:
[attach]417841[/attach]


Demo下载:
[attach]417842[/attach]

原理图:
[attach]417843[/attach]

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


效果截图:
[attach]417845[/attach]
[attach]417846[/attach]
[attach]417848[/attach]

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

最近在研究一个基于STM32H7的,仅需一片STM32H7即可,无需任何外部存储器,性能爆炸,开启狂暴模式后,刷新波形飞一般的感觉,不过还有很多问题待解决,后面也会开源给大家玩。
GIF效果:
[attach]417849[/attach]




作者: zhaojun_xf    时间: 2018-6-27 17:30
感谢,学习了。
作者: farmerzhangdl    时间: 2018-6-27 17:34
厉害厉害
作者: limaotaizi    时间: 2018-6-27 17:39
好厉害!~
作者: oaixuw    时间: 2018-6-27 17:44
膜拜大神
作者: plb83    时间: 2018-6-27 17:45
楼主牛逼
作者: vermon    时间: 2018-6-27 17:49
牛逼,严重支持
作者: tangmintm8013TM    时间: 2018-6-27 17:50
谢谢分享,楼主厉害!
作者: chendaon    时间: 2018-6-27 17:59
Linux下,好东西真多啊
作者: 我是一个大白菜    时间: 2018-6-27 18:18
谢谢楼主分享,楼主牛逼
作者: air2016    时间: 2018-6-27 18:34
楼主牛逼啊

作者: msa0886    时间: 2018-6-27 18:53
谢谢楼主开源分享。
作者: fuu    时间: 2018-6-27 19:01
跟着大师学习
作者: SUPER_CRJ    时间: 2018-6-27 19:06
同样是九年,为什么你这么优秀。同样是腰间盘,为什么你这么突出
作者: gwnpeter    时间: 2018-6-27 19:33
这个nb。。。。。。。。。。。。。。。。。。。。
作者: lmhtz    时间: 2018-6-27 19:48

楼主牛逼
作者: 主楼一区401    时间: 2018-6-27 20:52
楼主突出啊
作者: shangdawei    时间: 2018-6-27 21:07
谢谢分享。
作者: bmagui    时间: 2018-6-27 21:20
好贴留名!!!!
作者: Wangwy    时间: 2018-6-27 21:33
给分享精神点赞 ,虽然俺搞不明白
作者: NIC    时间: 2018-6-27 21:44
硬汉是我认为在开发板领域中唯一做到极致的一位,没有之一
作者: 登云钓月    时间: 2018-6-27 21:59
佩服你了 硬汉哥
作者: t35720864    时间: 2018-6-27 23:00
感谢分享!
作者: Fresh_Man    时间: 2018-6-27 23:05
这个牛b
作者: waymcu    时间: 2018-6-27 23:07
感谢分享!
作者: ibichao    时间: 2018-6-27 23:31
牛掰了,我觉得那个示波器界面可做成精确测量的(类似multisim里的示波器),电脑显示器那么高分辨率不用可惜了

作者: sme    时间: 2018-6-28 08:05
这个牛B了。
作者: Dragontan    时间: 2018-6-28 08:44
楼主牛逼呀
作者: zhang0352505    时间: 2018-6-28 08:54
太叼了。。又看到你了,楼主
作者: toptrying    时间: 2018-6-28 09:05
膜拜楼主
作者: telwin    时间: 2018-6-28 09:09
厉害厉害
作者: jackjiao    时间: 2018-6-28 09:13
楼主开源的都是干货,牛
作者: yat    时间: 2018-6-28 09:33
感谢分享   网络摄像头之VNC版本
作者: zhongsandaoren    时间: 2018-6-28 09:37
楼主的B真牛
作者: 关于以后    时间: 2018-6-28 09:56
佩服! 楼主牛b!

作者: kuki0702    时间: 2018-6-28 09:58
楼主好厉害!
作者: Eric2013    时间: 2018-6-28 11:07
ibichao 发表于 2018-6-27 23:31
牛掰了,我觉得那个示波器界面可做成精确测量的(类似multisim里的示波器),电脑显示器那么高分辨率不用可 ...

可以的,不过还是追求单芯片方案,无需用户DIY额外的硬件和上位机软件。
作者: Eric2013    时间: 2018-6-28 11:09
NIC 发表于 2018-6-27 21:44
硬汉是我认为在开发板领域中唯一做到极致的一位,没有之一

过奖了
作者: 之子    时间: 2018-6-28 11:28
感谢分享!学习了
作者: WM_CH    时间: 2018-6-28 11:45
流弊                       
作者: shiang    时间: 2018-6-28 11:47
厉害厉害
作者: KongQuan    时间: 2018-6-28 11:49
牛啊!标记,看看有无机会使用
作者: coltex    时间: 2018-6-28 12:21
感谢分享   网络摄像头之VNC版本
作者: acmilannast    时间: 2018-6-28 12:27
后续搞 RT10XX版本吗?性能应该满足需求
作者: Eric2013    时间: 2018-6-28 13:53
acmilannast 发表于 2018-6-28 12:27
后续搞 RT10XX版本吗?性能应该满足需求

暂时不搞了。
作者: hcambridge    时间: 2018-6-28 14:01
牛!!!!!
后边这个正在做的项目是个示波器啊,不错!
作者: lyg407    时间: 2018-6-28 14:30
帮忙喊声  666
作者: Eric2013    时间: 2018-6-28 15:43
hcambridge 发表于 2018-6-28 14:01
牛!!!!!
后边这个正在做的项目是个示波器啊,不错!

是的,在研究STM32H7的16位分辨率ADC性能。
作者: ardon    时间: 2018-6-28 16:45
两年都不断电测试,NB!
作者: denike    时间: 2018-6-28 16:51
谢谢楼主分享,楼主牛逼

作者: kneken    时间: 2018-6-28 17:28
学习了
作者: javenreal    时间: 2018-6-28 17:55
牛,摩拜高手
作者: zhw950    时间: 2018-6-28 18:12
感谢分享
作者: jianfengxixi    时间: 2018-6-28 19:21
高手。。。。。。
作者: Eric2013    时间: 2018-6-29 01:55
登云钓月 发表于 2018-6-27 21:59
佩服你了 硬汉哥


作者: yyj_sd    时间: 2018-6-29 08:09
Eric2013 发表于 2018-6-28 15:43
是的,在研究STM32H7的16位分辨率ADC性能。

借问楼主,16Bit AD的转换速度有多少?
作者: Eric2013    时间: 2018-6-29 09:11
yyj_sd 发表于 2018-6-29 08:09
借问楼主,16Bit AD的转换速度有多少?

单通道3.6Msps
作者: 微博    时间: 2018-6-29 09:30
人才永远是人才
作者: newphj    时间: 2018-6-29 09:31
厉害,赶快下过来
作者: nydxsydt0    时间: 2018-6-29 10:36
膜拜大神
作者: wen1996    时间: 2018-6-30 14:34
厉害,这个挺牛的
作者: djkc    时间: 2018-6-30 14:59
还是楼主厉害,牛B
作者: ackyee    时间: 2018-6-30 15:04
楼主NB    楼主的上位机是用什么平台开发的 最近手上一个项目在选上位机平台,我自己习惯用WPF  但是这个平台稳定性不太好
作者: xyz543    时间: 2018-6-30 15:53
硬汉兄又给大家带来些正能量了,真是佩服硬汉这种开源的精神!

作者: Eric2013    时间: 2018-6-30 16:17
ackyee 发表于 2018-6-30 15:04
楼主NB    楼主的上位机是用什么平台开发的 最近手上一个项目在选上位机平台,我自己习惯用WPF  但是这个平 ...

这个不需要用户做上位机,是外部SRAM虚拟出一个显示屏就行。

然后电脑端用SEGGER做好的emWin VNC软件就可以访问。


作者: Eric2013    时间: 2018-6-30 16:17
xyz543 发表于 2018-6-30 15:53
硬汉兄又给大家带来些正能量了,真是佩服硬汉这种开源的精神!

前辈过奖了
作者: gonghuwei    时间: 2018-6-30 17:30
学习一下了。
作者: arndei    时间: 2018-6-30 17:58
安富莱开发板吗?期待H7做的20M示波器
作者: Eric2013    时间: 2018-7-1 03:24
arndei 发表于 2018-6-30 17:58
安富莱开发板吗?期待H7做的20M示波器

是的,还行进展中
作者: arndei    时间: 2018-7-1 19:34
本帖最后由 arndei 于 2018-7-1 19:35 编辑
Eric2013 发表于 2018-7-1 03:24
是的,还行进展中


大概什么时候出呢?已经准备好钱了
或说这个摄像头功能也十分强悍呀,用H7做好后应该可以挤压部分树莓派的功能了
作者: zhujie123    时间: 2018-7-2 08:51
谢谢。。。分享进步
作者: Eric2013    时间: 2018-7-2 09:29
arndei 发表于 2018-7-1 19:34
大概什么时候出呢?已经准备好钱了
或说这个摄像头功能也十分强悍呀,用H7做好后应该可以挤压部 ...

还没准,感谢支持
作者: Eric2013    时间: 2018-7-2 16:10
zhujie123 发表于 2018-7-2 08:51
谢谢。。。分享进步


作者: shunhe    时间: 2018-7-2 22:22
感谢,学习了。
作者: 黄瓜    时间: 2018-7-3 18:31
继续紧跟楼主脚步玩。
作者: msm2009    时间: 2018-7-3 19:39
感谢楼主分享, 学习一下
作者: qqtfh    时间: 2018-7-4 08:57
摩拜高手
作者: a105    时间: 2018-7-4 09:40
这个牛B了。
作者: liang16888    时间: 2018-7-4 11:29
学习一下
作者: way2888    时间: 2018-7-7 05:46
如果能通过Wifi传给手机显示就绝对有人买了
作者: Eric2013    时间: 2018-7-7 09:43
way2888 发表于 2018-7-7 05:46
如果能通过Wifi传给手机显示就绝对有人买了


手机端没问题的,就是手机端都是第三方VNC软件,比较low,做个控制,没问题的,视频有压力,流量太大,发挥不了性能,得SEGGER出个手机版的就嗨皮了。

ps:此贴重在开源给大家玩
作者: 19711972f    时间: 2018-7-7 10:01
谢谢楼主分享。
作者: Eric2013    时间: 2018-7-7 10:37
way2888 发表于 2018-7-7 05:46
如果能通过Wifi传给手机显示就绝对有人买了

手机版VNC,测试效果来了。

流量很大,要1MB/S左右


未打开视频:

[attach]418980[/attach]

打开视频:
[attach]418981[/attach]





作者: windancerhxw    时间: 2018-7-9 09:57
膜拜一下
作者: kelp    时间: 2018-7-9 10:01
漂亮,佩服楼主
作者: Eric2013    时间: 2018-7-9 12:40
kelp 发表于 2018-7-9 10:01
漂亮,佩服楼主

过奖
作者: Eric2013    时间: 2018-7-13 11:04
更新,近期将抽时间做个上位机设计方法。
作者: resethdd    时间: 2018-7-14 06:59
超牛啊,厉害
作者: yick    时间: 2018-7-14 07:16
厉害,先mark
作者: Eric2013    时间: 2018-7-14 10:28
resethdd 发表于 2018-7-14 06:59
超牛啊,厉害

过奖了
作者: Eric2013    时间: 2018-7-14 10:28
yick 发表于 2018-7-14 07:16
厉害,先mark


作者: l.htlht    时间: 2018-11-3 19:50
谢谢开源分享!
作者: interstellar_tr    时间: 2018-11-3 19:58
这个必须顶! 牛啊
作者: kinsno    时间: 2018-12-7 20:58
Eric2013 发表于 2018-7-14 10:28

硬汉,你主贴里说用来测试TCP的第3版程序,已经稳定运行近2年不死机,请问这个第3版程序分亨出来了吗,在哪里可以下载。。我最近也是要做这方面的测试,打算直接使用你这个第3版程序。。




作者: Eric2013    时间: 2018-12-7 22:59
kinsno 发表于 2018-12-7 20:58
硬汉,你主贴里说用来测试TCP的第3版程序,已经稳定运行近2年不死机,请问这个第3版程序分亨出来了吗,在 ...

楼主位的程序模板就是第3版提取出来的,你可以直接使用
作者: kinsno    时间: 2018-12-8 09:25
Eric2013 发表于 2018-12-7 22:59
楼主位的程序模板就是第3版提取出来的,你可以直接使用

哈哈,是的,我就是想用Socket 做一个服务器,用我的本机调试,再做一个客户端,直连我的交换机服务器,看看会不会掉线?  原来用的LWIP内的socket方案,大约1-2个月就必然会掉线。。。比较头疼。。
作者: Eric2013    时间: 2018-12-8 09:45
kinsno 发表于 2018-12-8 09:25
哈哈,是的,我就是想用Socket 做一个服务器,用我的本机调试,再做一个客户端,直连我的交换机服务器, ...


这里有我曾经三个版本测试记录,可供你参考:
链接
作者: kinsno    时间: 2018-12-8 09:55
Eric2013 发表于 2018-12-8 09:45
这里有我曾经三个版本测试记录,可供你参考:
链接

我要做的是TCP server和TCP client , 打算用BSD Socket , 因为原来基于Lwip的TCP Client 经常会掉线,
我特地看了你这个贴子里的程序,而你这个是基于UDP的Client,不过框架可以借用,哈哈,谢谢硬汉。


作者: Eric2013    时间: 2018-12-8 10:00
kinsno 发表于 2018-12-8 09:55
我要做的是TCP server和TCP client , 打算用BSD Socket , 因为原来基于Lwip的TCP Client 经常会掉线,
...

emWin VNC是BSD Socket的TCP方式

SNTP是基于UDP。
作者: kinsno    时间: 2018-12-8 15:04
Eric2013 发表于 2018-12-8 10:00
emWin VNC是BSD Socket的TCP方式

SNTP是基于UDP。

明白了。。






欢迎光临 amobbs.com 阿莫电子技术论坛 (https://www.amobbs.com/) Powered by Discuz! X3.4