You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

关于SPJS协议查找及Python客户端连接失败的技术问询

关于TinyG SPJS的两个问题

我是首次在StackExchange提问,若内容冗长还请见谅。

对于熟悉TinyG SPJS的用户,您会了解相关背景;其他用户可参考:SPJS(Serial Port Json Server)是一款第三方开发的程序,具备WebSocket接口,主要负责两项核心功能:

  • 管理与TinyG CNC控制器之间的串口通信,保障数据完整性并对指令进行缓冲,确保TinyG能持续获得G代码指令以实现流畅的数控运动控制;
  • 通过发布-订阅式WebSocket接口支持多台PC端CAM客户端接入。

问题1:SPJS协议文档的获取途径

请问哪里可以找到SPJS协议文档?恳请告知。

问题2:Python自定义客户端连接SPJS超时问题

我尝试用Python编写自定义客户端,但在连接阶段遇到超时问题,具体情况如下:

客户端代码

import asyncio
import websockets as ws

async def WebsocSPJSConnection():
   uri = "ws://localhost:8989"
   async with  ws.connect(uri) as webs:
      print(webs.recv())

if __name__ == "__main__":
asyncio.run(WebsocSPJSConnection())

SPJS服务器报错日志

2022/10/25 12:07:48 cayenn.go:438: TCP Received  GET / HTTP/1.1
Host: localhost:8988
Upgrade: websocket
Connection: Upgrade
Sec-WebSocket-Key: Q3SDgBW/JHBXDE6ctEdC/g==
Sec-WebSocket-Version: 13
Sec-WebSocket-Extensions: permessage-deflate; client_max_window_bits
User-Agent: Python/3.9 websockets/10.3

  from  [::1]:60677
Checking if from me [::1]<>10.71.193.1412022/10/25 12:07:48 cayenn.go:475: Err unmarshalling TCP inbound message from device. err: <nil>

补充说明

  • Wireshark抓包显示SPJS服务器收到了无法反序列化的消息,但我仅发送了连接请求,未发送其他内容;
  • 使用JavaScript客户端可正常连接SPJS;
  • 我在8988端口搭建的Python测试服务器也能正常工作。

内容的提问来源于stack exchange,提问作者Melticus

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.15 09:45:33