完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
这是 NodeMCU 上 Lua 的 VNC 服务器框架。一个基本子集,并使 Lua 脚本能够通过 TCP 连接将图形发送到 PC 或智能手机上的 VNC 客户端。它的灵感来自,它演示了嵌入式系统和智能客户端之间通过 VNC 进行图形交互的简单性。
vncserver.lua 模块和随附的示例脚本可从获得。 需要编译成固件的模块: vnc 服务器在 NodeMCU 套接字实例上运行,该实例必须由用户脚本预先准备好:建立一个侦听端口 5900 的 TCP 服务器,并在客户端连接时调用 start() 函数。 代码:全选vncsrv = require("vncserver") -- Set up TCP server srv = net.createServer( net.TCP, 120 ) srv:listen( 5900, function( conn ) -- start VNC server with connected socket vncsrv.start( conn, 128, 128 ) end ) 所有协议序列随后都由 vncserver 模块处理。 一旦服务器交换了所有必需的信息,它就会待机并等待来自客户端的消息。它将通过回调将这些委托给用户脚本。可以使用 vncsrv.on() 注册以下事件的回调函数 每当客户端请求更新帧缓冲区时,服务器都应发送包含矩形列表的 请注意,vncserver目前仅支持 一个矩形告诉客户端显示器的哪个区域受到影响以及该区域的背景颜色是什么: 代码:全选vncsrv.rre_rectangle( base_x, base_y, width, height, num_subrectangles, background ) 以下子矩形(如果有)定义了不同颜色的区域。它们是相对于周围矩形指定的: 代码:全选vncsrv.rre_subrectangle( rel_x, rel_y, width, height, color ) 来自 rectangles.lua 的示例: 代码:全选function draw_rectangles() -- FramebufferUpdate message indicating that 1 rectangle description follows: vncsrv.update_fb( 1 ) -- Next is the rectangle in RRE encoding, 4 sub-rectangles will follow: vncsrv.rre_rectangle( 0, 0, 128, 128, 4, 0 ) -- The sub-rectangles: vncsrv.rre_subrectangle( 10, 10, 30, 10, red ) vncsrv.rre_subrectangle( 50, 20, 20, 40, green ) vncsrv.rre_subrectangle( 80, 80, 40, 40, blue ) vncsrv.rre_subrectangle( 60, 50, 30, 50, yellow ) |
|
相关推荐
|
|
只有小组成员才能发言,加入小组>>
545浏览 6评论
457浏览 5评论
有没有办法在不使用混杂模式的情况下实现Wifi驱动程序接收缓冲区访问中断呢?
437浏览 5评论
441浏览 4评论
411浏览 4评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-22 09:13 , Processed in 0.913340 second(s), Total 76, Slave 57 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号