跳转至

EIM Monitor

插件介绍

通过 extension_eim_monitor 插件,Scratcher 可以轻松使用 Python 拓展 Scratch 的能力。

extension_eim_monitor 启用时, 来自 Scratch EIM 插件的消息将被 ~/codelab_adapter/extensions/eim_monitor.py 脚本处理, 处理结果返回给 Scratch。 我们将这种对 Scratch 消息的响应机制称为 monitor

默认的脚本,会在Scratch的消息结尾加上from monitor并返回。脚本源码(简单的 Python 代码)为:

def monitor(content,logger):
    return content + ' from monitor'

你可以随意修改 monitor 脚本代码,改变处理规则。

依赖

  • 安装CodeLab Adapter
  • 安装Chrome 浏览器
    • 目前 Scratch 官方团队在陆续支持更多浏览器版本,现阶段使用 Firefox/Chrome 浏览器效果最佳.
    • 建议将其设为默认浏览器.

步骤 1:打开 Codelab Adapter

双击打开 Codelab Adapter。

Codelab Adapter 启动之后,将打开默认浏览器。

步骤 2:打开 Codelab Scratch3

点击 Web UI 上的scratch3链接, 或者点击这儿, 将打开如下页面:

图中箭头所指的小圆点呈现绿色 说明 Codelab Adapter 与 Scratch3.0 的连接正常。

步骤 3:加载 extension_eim_monitor 插件

在 Web UI 中点击加载 extension_eim_monitor 插件

步骤 4:hello world

选择对应的 Scratch3 插件:EIM

往 CodeLab Adapter 发送消息,观看 Python 对其的处理结果:

步骤 5:自定义 eim_monitor 逻辑

修改 eim_monitor.py 代码后,需要重启勾选 extension_eim_monitor 插件。

运行 extension_eim_monitor 插件后, monitor 函数会被重复调用,通过修改 monitor 函数的返回值,可以让 Scratch 中发送任意数据。

Help

如何找到 eim_monitor.py 文件? ~/codelab_adapter/extensions/eim_monitor.py

其他用例

import webbrowser
def monitor(content,logger):
    '''
    打开网页
    '''
    webbrowser.open(content)
    return "ok"

在 Scratch EIM 中传递消息https://www.codelab.club试试。

提醒

如果你想引入第三方库,请使用 node_eim_monitor.

参考