0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

人机界面开发之开启VNC功能同步HMI到PC

嵌入式程序员 来源:嵌入式程序猿 作者:嵌入式程序猿 2020-10-10 09:22 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

嵌入式开发中,经常会有人机界面的开发,如果你的板子有网口的话,可以开启VNC功能,这样就可以同步HMI到PC,平板,或者手机。亲测效果非常棒。以emWin的VNC功能来介绍。

1

VNC简介

emWin VNC 服务器可用于管理嵌入式目标以及多种其他用途,支持压缩(hextile)编码。VNC 表示“虚拟网络计算”。它是基于一种简单的显示协议的客户端-服务器系统,允许用户从互联网的任何地方查看和控制“桌面”计算环境,支持多种机器架构,采用的是 TCP/IP 通信协议。换言之:嵌入式设备的显示内容可以在运行客户端的机器(如 PC)的屏幕上看到;可以用鼠标和键盘来
控制目标。emWin 仿真和试用版都提供了该功能。emWin VNC 支持是一个单独的软件包,所以不包含在基本软件包内。VNC 支持需要 emWin 颜色。如果文件系统可用,还能在客户端和带 emWinVNC 客户端的目标之间实现文件传输,VNC 由两类组件构成:一是服务器,生成显示,一是查看器,在屏幕上实际绘制显示内容。不但可以看到远程机器(目标或仿真),而且可以通过鼠标和键盘进行控制。服务器和查看器可以在不同的机器上,可以采用不同的架构。用于连接服务器和查看器的协议具有简单、开放且不受平台限制的特点。查看器不存储状态。断开查看器与服务器的连接,然后重新连接不会导致数据丢失。由于可以从其他地方重新连接,因此可以轻松实现移动性。使用 VNC 服务器,可以从任何地方控制您的目标机器。

2

运行需求

因为VNC是跑在网络上的,所以必须有TCP/IP协议栈,例如我们嵌入式中经常用的lwip等就可以用,另外VNC 服务器需要以独立线程运行。因此,使用 emWin VNC 服务器要求采用多任务系统。最后如果要传文件还需要文件系统。实现是完全线程安全的及可重入的;多个 VNC 服务器可以在同一 CPU 的不同层或显示器中启动。如果目标(当然,同样适用于模拟)有多个显示器或多个层,这可能是一个有用的选项。只有一个 VNC 服务器可以在任何时候在每一层启动;一旦与查看器的连接结束,则可以连接另一个。

3

win32模拟

首先可以参考emwin的例程,VNC在同一电脑上模拟

打开模拟解决方案工程,使用vs2019模拟

打开工程配置使能VNC,也可以根据自己实际调整分辨率,这里以480*272来展示。如果编译没有问题运行工程

打开VNC连接,可参照如下手册提示连接

4

代码分析

我们要将代码移植到我们的硬件板子上其实也很简单,首先要保证你的TCP/IP协议栈运行正常,可以测试TCP/IP协议栈正常运行后,开始移植VNC,主要就几个文件需要根据不同的协议栈修改,但都是socket编程,所以接口都一样。主要就是开启VNC函数的实现

这里我们以lwip协议栈为例来说明,以IAR环境为工程载体,以freeRTOS操作系统,参考上面的例程调用,先添加头文件

这个函数就是实现创建VNC的任务,在任务里调用 GUI_VNC_Process(&_Context, _Send, _Recv, (void *)Sock);去实现VNC的处理。

将实现的文件添加到工程里,并编译无误,

在GUI任务化地方调用开启VNC服务,还可以设置密码,名字等等,调用相应的API就可以

这样编译无误后,就可以下载试验了,更多API和玩法可以参考emWin手册。这个之前测试过,手边此刻没有板子,就不给大家演示了。如果你是使用freeRTOS+lwip+emwin可以参照文中的代码,基本不用变就可以用起来,当然,之前必须保证你的GUI和TCP/IP协议栈可以正常使用。可以参照前面的模拟看效果。这样就可以很炫的玩你的GUI了。
责任编辑:YYX

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • PC
    PC
    +关注

    关注

    9

    文章

    2164

    浏览量

    158482
  • HMI
    HMI
    +关注

    关注

    9

    文章

    687

    浏览量

    51521
  • VNC
    VNC
    +关注

    关注

    0

    文章

    20

    浏览量

    9597

原文标题:让你的HMI开启VNC骚操作

文章出处:【微信号:InterruptISR,微信公众号:嵌入式程序员】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    CGI Studio如何加速HMI设计流程

    人机界面HMI开发领域正持续发展。随着硬件性能不断提升、用户期望持续增高,开发者必须打造出不仅当下功能完备,还能适配未来技术进步的
    的头像 发表于 11-18 14:08 362次阅读

    神秘转换!耐达讯自动化Modbus RTU秒变Profibus 接 HMI人机界面

    的特点,常作为从站协议用于众多小型设备;而 Profibus 凭借高速稳定、抗干扰能力强的优势,多作为主站协议应用于大型自动化系统。然而,当需要将 Modbus RTU 从站设备接入 Profibus 主站并连接 HMI 人机界面时,传统方式存在通信障碍、数据传输不稳定等
    的头像 发表于 09-30 14:07 805次阅读
    神秘转换!耐达讯自动化Modbus RTU秒变Profibus 接 <b class='flag-5'>HMI</b><b class='flag-5'>人机界面</b>

    基于LDC-HALL-HMI-EVM的人机界面评估模块技术解析

    Texas Instruments LDC-HALL-HMI-EVM评估模块 (EVM) 采用电感和霍尔效应传感技术提供人机界面。Texas Instruments LDC-HALL-HMI
    的头像 发表于 09-11 09:49 478次阅读
    基于LDC-HALL-<b class='flag-5'>HMI</b>-EVM的<b class='flag-5'>人机界面</b>评估模块技术解析

    别再为通信难题烦恼!耐达讯自动化RS232 转 Profibus 完胜传统,畅连 HMI 人机界面

    、通信速率低等缺点逐渐暴露。而 Profibus 作为一种高速、可靠的现场总线,能满足复杂工业环境下的通信需求。同时,HMI 人机界面在工业控制中扮演着重要角色,它是操作人员与工业设备之间的交互桥梁。那么,如何将 RS232 与 Profibus 完美结
    的头像 发表于 09-08 15:36 271次阅读
    别再为通信难题烦恼!耐达讯自动化RS232 转 Profibus 完胜传统,畅连 <b class='flag-5'>HMI</b> <b class='flag-5'>人机界面</b>

    EtherNet/IP转MODBUSTCP协议转换网关实现HMI人机界面与分布式IO通讯的配置案例

    一、项目背景与需求 某新能源汽车电池模组生产厂商为提升产线智能化水平,需实现HMI人机界面(MODBUSTCP主站)与分布式IO系统(EtherNet/IP从站)的实时数据交互。原系统中,HMI采用
    的头像 发表于 09-05 11:25 504次阅读
    EtherNet/IP转MODBUSTCP协议转换网关实现<b class='flag-5'>HMI</b><b class='flag-5'>人机界面</b>与分布式IO通讯的配置案例

    浮思特 | 如何开发高效可靠的人机界面(HMI):实践与考量

    在复杂设备控制系统的开发中,为不同角色的使用者(如操作员、管理员、维护人员)设计合适的交互界面至关重要,这便是人机界面(HMI)的核心任务。HMI
    的头像 发表于 07-14 10:16 407次阅读
    浮思特 | 如何<b class='flag-5'>开发</b>高效可靠的<b class='flag-5'>人机界面</b>(<b class='flag-5'>HMI</b>):实践与考量

    互联世界中的人机界面 (HMI) 和网关

    作者:Tawfeeq Ahmad 在当今的数字化环境中,人机界面 (HMI) 和网关已成为不可或缺的组成部分,实现了人与复杂系统之间的无缝互动。随着各行各业之间的联系越来越紧密,这些技术在提高生产力
    的头像 发表于 05-25 11:17 723次阅读
    互联世界中的<b class='flag-5'>人机界面</b> (<b class='flag-5'>HMI</b>) 和网关

    基于新唐 NUVOTON MA35H0结合emWin的人机界面规划设计方案

    新唐科技推出全新MA35H0系列微处理器,专为工业与物联网人机界面设计。该系列基于64位Arm Cortex-A35双核架构,运行频率高达650 MHz,支持安全启动、内建加密加速器,并提供128
    的头像 发表于 05-14 14:14 1438次阅读
    基于新唐 NUVOTON MA35H0结合emWin的<b class='flag-5'>人机界面</b>规划设计方案

    在PLC中创建基于Web的人机界面可视化

    进行维护操作期间。传统的 HMI 交互方式往往需要人员亲临现场,极为不便。针对此类场景,西门子在所有 1500 系列 PLC 中集成了 Web 服务器,支持远程交互。通过“View Of Things”(物联视图)功能,用户可直接在 PLC 内部创建
    的头像 发表于 05-06 10:00 3655次阅读
    在PLC中创建基于Web的<b class='flag-5'>人机界面</b>可视化

    先楫HPM6800HMI软件工具(一) : QD Plus (QuodiX)和Kanzi的对比

    前言QDPlus(QuodiX)是由上海驻利电子有限公司开发的一款高效、易用的HMI(Human-MachineInterface,人机界面开发工具。自2011年推出以来,QDPlu
    的头像 发表于 02-08 13:41 1140次阅读
    先楫HPM6800<b class='flag-5'>之</b><b class='flag-5'>HMI</b>软件工具(一) : QD Plus (QuodiX)和Kanzi的对比

    HMI在智能制造与工业自动化中的作用

    在工业4.0时代,先进技术的融入正在彻底改变工业运作的方式。在实现无缝操作的过程中,人机界面(HMI)是不可或缺的关键组成部分。HMI在智能制造与工业自动化中扮演了至关重要的角色,使操作员和工程师
    的头像 发表于 01-17 11:34 1106次阅读
    <b class='flag-5'>HMI</b>在智能制造与工业自动化中的作用

    DXC携手法拉利为新一代汽车开发驾驶者人机界面

    的车载信息娱乐系统,使驾驶者能更好地体验法拉利高性能汽车的卓越表现。 DXC携手法拉利为新一代汽车开发驾驶者人机界面 凭借在汽车行业的丰富经验,DXC将助力确保法拉利的信息娱乐系统有能力为法拉利车主提供卓越的汽车体验,并具备在市场上保持领先的灵活性。
    的头像 发表于 01-14 18:20 537次阅读

    储能中人与机器交互的媒介——HMI

    电子发烧友网报道(文/黄山明)HMI人机界面(Human - Machine Interface)的缩写。它是操作人员与储能系统进行交互的接口,能够实现数据的显示、参数的设置、状态的监测以及系统
    的头像 发表于 12-24 00:27 3463次阅读

    HMI与SCADA的区别与联系 HMI技术在智能制造中的作用

    HMI与SCADA的区别与联系 1. HMI人机界面HMI(Human-Machine Interface)即人机界面,是一种允许用户
    的头像 发表于 12-06 10:25 1878次阅读

    HMI系统在工业自动化中的应用

    随着工业自动化技术的不断发展,人机界面HMI)系统已经成为连接操作员与机器设备的重要桥梁。HMI系统不仅提高了生产效率,还增强了操作的安全性和灵活性。 人机界面
    的头像 发表于 12-06 10:22 2821次阅读