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

代码在PC运行正常但树莓派上输出异常的技术求助

代码在PC运行正常但树莓派上输出异常的技术求助

大家好,我碰到了一个百思不得其解的问题——完全相同的代码在PC上运行时完全符合预期,但放到树莓派上执行就出现了异常。我已经尝试过把代码重新复制到树莓派上,但问题依然存在,所以来这里求助各位!

问题详情

在PC上运行时,这段代码能正常读取Scratch项目的云变量toserver,当收到非空且非“0”的消息时,会给云变量response设为1,随后把toserver重置为0,整个流程完全没问题。

但在树莓派上运行时,控制台先是反复输出Current message: 0,之后突然开始一直输出Current message: 1,而且停不下来,完全偏离了预期逻辑。

树莓派上的异常输出

Current message: 0
Current message: 0
Current message: 0
...(重复多条0的输出)
Current message: 1
Current message: 1
Current message: 1
...(持续重复输出1,不会停止)

我使用的代码(PC和树莓派上完全一致)

import scratchattach as sa
import time
import warnings

# Optional: suppress login warnings
warnings.filterwarnings('ignore', category=sa.LoginDataWarning)

# Login with username/password (or use session ID for stability)
USERNAME = "my username"
PASSWORD = "my password"
PROJECT_ID = 1207157729  # 对应Scratch项目:https://scratch.mit.edu/projects/1207157729/

session = sa.login(USERNAME, PASSWORD)

# Connect to the project cloud variables
cloud = session.connect_scratch_cloud(PROJECT_ID)

LAST_MESSAGE = ""

while True:
    # Read the "toserver" cloud variable
    current_message = cloud.get_var("toserver")
    print(f"Current message: {current_message}")  # debug输出

    if str(current_message).strip() != "" and str(current_message) != "0":
        print(f"New message received: {current_message}")
        
        # 发送响应
        cloud.set_var("response", 1)
        # 清除原消息
        cloud.set_var("toserver", 0)
    
    time.sleep(0.5)  # 避免频繁请求Scratch服务器

我检查过树莓派的网络连接是正常的,也能成功登录Scratch账号,实在搞不懂为什么运行结果和PC上差异这么大。有没有朋友遇到过类似的情况,或者能帮我分析下可能的原因?

内容来源于stack exchange

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.07 06:40:30