手把手教你基于C#开发WinCC语音报警插件「附源代码」
写在前面
众所周知,WinCC本身是可以利用C脚本或者VBS脚本来做语音报警,但是这种方式的本质是调用已存在的音频文件,想要实现实时播报报警信息是不行的,灵活性还不够,本文主要介绍基于C#/.NET开发报警插件,集成到WinCC中,实现更加灵活的语音报警功能。
【公众号dotNet工控上位机:thinger_swj】
对于WinCC,我相信很多人都比较熟悉,WinCC自带报警控件,可以实现报警的监测及显示。在之前做的一个比较大的项目中,项目已经使用WinCC开发并调试完毕,但是客户提出系统有报警时,需要语音播报的需求,因为当时没做过这样的,所以便查找资料,找了很多也无法通过WinCC实现,最后决定通过C#开发一个语音播报控件,集成到WinCC中,经过2天的研究测试(当时刚开始学习C#),终于实现了所有的功能,并且也得到了客户的认可。
现在有时候想起这个事,仍然心有余悸,如果当初没有提前学习C#,也许这个项目就没法完美交差,客户也会不满意,后续也不会有更多的业务合作,所以我始终坚信一句话:凡事预则立,不预则废。转型学习上位机也是一样,从今天开始,也许明天就会不一样。之所以会提及这个事情,最近有位学员一直在研究这个,所以我就稍微做了一下整理,把这个案例分享给大家。
如果想实现C#开发语音报警控件,植入到WinCC中,需要解决以下几个技术要求:WinCC支持.NET控件、C#可以实现语音播报功能、报警逻辑要清晰。
- 对于WinCC支持.NET控件, WinCC 从V7.0开始支持.NET自定义控件。
- 其次,C#可以实现语音播报功能,可以通过调用系统自带的语音类库文件,实现语音播报。
- 而对于报警逻辑,主要是对沿信号的检测,包括上升沿及下降沿。
- 首先通过 VS2019 创建一个Windows窗体应用,这里的窗体主要是用于测试,然后在此基础上,创建一个类库项目:
- 在类库的基础上,右击添加新建项,项目类型选择自定义控件,取名为AlarmVoiceBroadcast:
- 经过前期的分析,这个语音报警控件应该包含以下内容:报警助手启用禁用、语音播报启用禁用、报警检测上升沿下降沿选择、报警播报方式单次或循环、系统实时报警显示、系统报警日志显示。因此,语音报警助手界面设计如下图所示:
- 开发过程中,以下几个问题需要思考:
(1)整个控件的思想,就是通过检测N个变量的实时状态(这里都是布尔变量),结合上升沿/下降沿,当发现某个变量报警时,进行语音播报,并将报警状态显示到实时报警及报警日志中。经过测试发现,这里如果将报警变量设置为数组或者集合,WinCC均不支持,因此没法将监测报警变量的数量动态化,只能按照单个布尔类型,我这里是根据实际需求创建了20个布尔变量,如果大家有更好的方法实现动态化,可以反馈给我。
(2)对于检测到某个变量发生了报警,语音播报的内容应该是什么?我这里针对每个报警创建了一个报警说明属性,因此也相应地创建了20个字符串变量,通过索引与报警变量一一对应。
(3)由于需要实时检测,因此需要循环执行。C#中循环执行一般有两种方式,一种是定时器,一种是多线程,经过测试发现,多线程的形式无法实现,似乎是WinCC不支持,最终采用的是定时器的方式。
(4)循环检测实现思路:针对上升沿:循环针对每个报警变量,将当前值与缓存值做对比,如果当前值为True,缓存值为False,则表示报警触发,如果当前值为False,缓存值为True,则表示报警消除。针对下降沿:循环针对每个报警变量,将当前值与缓存值做对比,如果当前值为False,缓存值为True,则表示报警触发,如果当前值为True,缓存值为False,则表示报警消除。
- 语音相关控制,语音控制包括播报音量、播报语速、播报性别及年龄。
- 控件开发完成后,最终生成的是一个dll动态链接库文件,将该dll复制到WinCC项目中,通过控件栏中的.NET控件右击添加这个dll。
- 将该控件拖放到WinCC界面中,并创建一些用于测试的按钮功能,效果如下图所示:
- 创建一些内部变量,包括3个布尔变量(Alarm1、Alarm2、Alarm3)以及3个模拟量变量(Pressure1、Pressure2、Pressure3)。
- 控件属性绑定,对于Toogle按钮及输入输出域,直接绑定对应的变量即可,对于语音报警控件,需要设置Alarm1-Alarm6,其中Alarm1-Alarm3直接绑定内部变量Alarm1-Alarm3,对于Alarm4-Alarm6,由于是模拟量,需要通过动态对话框进行设置,如下图所示:
- 对于报警播报的内容提示,根据实际情况填写即可:
为了方便大家的学习,针对本头条号粉丝,如果需要控件源码,添加公众号【公众号dotNet工控上位机:thinger_swj】,并注明来自今日头条。
山东布谷科技:一对一直播源码|语音源码提交AppStore重构经验
自从YY、六间房开启国内聊天室和秀场等网红盛行的网络红利时代以来,紧随其后国内各大音视频平台相应出现,先有映客花椒等直播平台的风头正劲,后有功能板块更丰富的头条抖音Tiktok等,盈利功能点不仅仅有直播PK连麦等礼物打赏功能(行业称之为一对多直播),还有新增的视频语音通话付费板块功能(行业称之为一对一直播),像抖音又增加了语音房功能(行业称之为语音厅/语聊房等)不少创业者都跃跃欲试,想用直播源码,一对一直播源码,语音源码等打造属于自己的平台。
但开发完成后,如何顺利上架App Store成了头号难题,因为直播源码,一对一直播源码,语音源码等这类app源码在国内提交上架苹果AppStore不仅仅需要上架资质,AppStore对直播源码,一对一直播源码,语音源码等行业产品的提交卡的也比较严格。但是别担心,今天我就来给大家分享一些iOS上架的干货,帮你轻松搞定直播源码|一对一直播源码|语音源码提交苹果AppStore这个难题。
1. 源码优化:确保你的直播软件APP源码已经完成,并且符合iOS的上架规范。别小看这一步,细节决定成败。比如,确保应用的UI设计符合苹果的设计指南,用户体验流畅,功能完整。
2. 注册苹果开发者账号:这是上架的第一步,没有账号,一切都是空谈。注册过程可能有点繁琐,但这是必须的步骤。记得准备好信用卡,因为苹果开发者账号是需要付费的。
3. 填写基本信息:在苹果开发者网站上,填写你的直播软件APP的基本信息,包括名称、图标、功能等。这里要注意,应用名称要简洁明了,图标要吸引人,功能描述要准确。
4. 配置隐私政策:iOS对隐私要求非常严格,确保你的应用有明确的隐私政策和广告标识符使用说明。隐私政策要详细说明你如何收集、使用和保护用户数据。
5. 提交审核:感觉准备好了?那就提交吧!等待苹果审核团队的反馈。提交前,最好自己先进行一次全面的测试,确保应用没有明显的bug。
6. 审核反馈与修改:如果审核不通过,苹果会给出详细的意见。根据反馈进行修改,重新提交。这个过程可能需要反复几次,要有耐心。
7. 成功上架:恭喜你,你的直播平台正式登陆App Store!上架后,别忘了继续关注用户反馈,及时修复bug和优化功能。
1. 内容合规:杜绝任何令人不适的内容,如黄色、暴力、煽动反动等。这些内容不仅会被拒绝上架,还可能带来法律风险。苹果对内容审核非常严格,一旦发现违规内容,可能会直接下架你的应用。
2. 用户生成内容:尽量避免使用用户生成内容,尤其是涉及版权纠纷的内容。如果必须使用,务必做好版权保护和内容过滤。比如,使用内容审核工具来过滤不良信息。
3. 儿童类别:如果你的平台涉及儿童,必须严格遵守相关准则,确保内容安全且受家长监控。苹果对儿童类应用有特别严格的要求,确保内容适合儿童,且家长可以控制孩子的使用。
4. 人身安全:避免任何可能造成人身伤害的内容,如自残、鼓励吸烟、饮酒等。苹果对这类内容是零容忍的,一旦发现,会立即下架。
5. 开发者信息:确保用户能轻松联系到你,平台的安全措施也要到位,防止恶意侵入。在应用中提供开发者联系方式,方便用户反馈问题。同时,确保平台有足够的安全措施,防止黑客攻击。
6. 执法部门参与:如果你的应用涉及举报犯罪活动,必须有当地执法部门的参与。苹果要求这类应用必须有执法部门的背书,确保应用的合法性。
上架App Store只是第一步,后续的优化和改进才是关键。不断提供更好的用户体验和服务,才能让专属你的直播源码,一对一直播源码,语音源码等平台源码在竞争激烈的市场中脱颖而出。比如,定期更新应用,添加新功能,修复bug,优化性能。同时,关注用户反馈,及时调整策略。
希望这些干货能帮到你,祝你的直播源码,一对一直播源码,语音源码等语音直播音视频社交类平台源码早日提交成功上架Appstore,大放异彩!
俄版百度44.7G源码泄露!遭前员工背刺,涉及搜索地图等主要服务
鱼羊 Pine 发自 凹非寺
量子位 | 公众号 QbitAI
俄罗斯第一大科技巨头,这回遇上了烦:
44.7GB源代码,全被泄露到了网上。
什么概念?
就是这家名为Yandex的公司,几乎所有主要服务的源代码都被挖了个底掉……
要知道,在俄罗斯,Yandex不仅干着搜索引擎的活儿,还把俄国老百姓购物、打车、订外卖、租车这一连串生活服务都给包圆了。
简单来说,约等于俄版百度+淘宝+美团+滴滴。
这么大个事儿,自然引起了全世界网友的围观。
但就在众人纷纷猜测这又是哪家黑客手笔之际,Yandex的声明却有些令人大跌眼镜:
我们没有被黑,就是被前员工给卖了……
具体来说,泄密链接最早出现在了一个黑客论坛上。
泄密者称,这份44.7GB的Yandex代码库,包含该公司2022年7月以前,除反垃圾邮件规则之外的所有源代码。
这些被泄露出来的代码信息量到底有多大?
看看网友们热火朝天扒出来的细节就知道了……
Yandex不是以搜索引擎起家,常被称作“俄版百度”/“俄版谷歌”嘛,那就先以搜索引擎部分的代码为例。
一位名叫Alex Buraks的老哥就深扒了下Yandex搜索引擎的排名规则,还戏称这对理解谷歌SEO(搜索引擎优化)有很多有用的信息。
毕竟Yandex和谷歌的搜索结果有70%的匹配度,不少人认为其搜索技术用的就是谷歌同款:如PageRank、BERT等。
(掌握了Yandex的规则不就相当于透了谷歌排名算法的家底,手动狗头)
目前已经有大批吃瓜群众来围观,甚至Alex Buraks的这条线程曾在谷歌搜索“yandex”中排名第8。
有趣的是,在Yandex的排名因素中,排在第一个的就是PageRank。
Buraks还直接列出了Yandex的10个排名因素:
(1)链接的创建时间;(2)流量和有机流量的百分比;(3)URL中的数字不利于排名;(4)URL中的斜杠不利于排名;(5)负面情绪过重的PageRank=0;(6)主机可靠性;(7)“维基百科”还单独列了一个因素
;(8)用户行为:点击率,跳出率等;(9)文件年龄与上次更新日期;(10)所有查询域名的平均位置……
当然这还只是其中的一部分,Buraks表示后续还会继续分析。
除了Alex Buraks,也有不少营销大师深扒了Yandex的排名因素,甚至有人都详细整理出了完整的1900+个排名因素。
值得一提的是,在各路大神扒代码的过程中,Yandex搜索引擎的一些“潜规则”也被摆上了台面。
就比如说加拿大黑客Aubrey Cottle就在代码中发现了Yandex是容忍种族歧视的。
还有网友在代码中发现,Yandex的广告投放中,普通广告和广告是分开计算的。
这事儿一出,很快还有一份详细的泄密文件目录被整理出来放在了GitHub上。
作者是一位名叫Arseniy Shestakov的软件工程师。据他评估,这些源代码确实涉及了Yandex的所有主要服务。
包括:
- 搜索引擎和索引机器人
- 地图服务
- AI语音助手
- 打车服务
- 广告服务
- 邮件服务
- 存储服务(类似百度网盘)
- 电商服务(类似淘宝)
- 旅游服务
- 云服务
还包括在线协同办公、支付、数据分析等等业务。
不过,泄露内容并不包括用户数据等敏感信息。
Arseniy Shestakov总结了几个关键细节:
- 泄露出来的主要是git存储库里的源代码,不包含git历史记录
- 所有文件日期均可追溯至2022年2月24日
- 大部分软件都没有预先编译好,只有少数例外
- 除了一些例外,没有预先训练好的机器学习模型
事情闹得这么大,Yandex官方也坐不住了,很快发表声明表示:其实我们并没有被黑,是前员工出卖了我们!
Yandex没有被黑。我们在公共领域发现了泄露自内部存储库的代码片段,但其内容与Yandex当前使用的代码版本并不相同。
存储库是用来存储和处理代码的工具。大多数公司都采用这种方式来使用代码。
代码库并未存储个人用户数据。
我们正在进行内部调查,但并没有发现该事件给用户数据和平台性能带来了任何威胁。
Yandex倒是信誓旦旦,但外部的专业人士却有不同看法。
据bleepingcomputer消息,前Yandex技术专家Grigory Bakunov对此事做出了回应。
他认为,这次代码泄露确实不会对用户的隐私或安全构成直接风险,也不会直接威胁到Yandex的专有技术。
不过一些文件仍可能会暴露正在运行的服务,比如说“blacklist.txt”,Bakunov还称:
尽管泄密的部分不涉及敏感数据,但黑客针对性利用代码中的安全漏洞,只是时间问题;
(BTW)虽然Yandex官方回应泄露的代码与公司工作服务中使用的当前代码不同,但相似度可能高达90%。
泄露代码目录:https://gist.github.com/ArseniyShestakov/53a80e3214601aa20d1075872a1ea989
参考链接:[1]https://www.bleepingcomputer.com/news/security/yandex-denies-hack-blames-source-code-leak-on-former-employee/[2]https://arseniyshestakov.com/2023/01/26/yandex-services-source-code-leak/[3]https://twitter.com/Kirtaner/status/1619007274202329091[4]https://twitter.com/dom_woodman/status/1619028740201398274[5]https://twitter.com/alex_buraks/status/1618988134850785280
— 完 —
量子位 QbitAI · 头条号签约
关注我们,第一时间获知前沿科技动态
本文作者及来源:Renderbus瑞云渲染农场https://www.renderbus.com
文章为作者独立观点不代本网立场,未经允许不得转载。