发布 CodeLab Adapter 4.5

人们有自己的偏爱和有别于他人的自由, 有不赞同多数人和走自己的路的自由 -- 卡尔.波普尔《历史决定论的贫困》

以下是自 4.4 版本以来的主要改进。 具体细节参考changelog

内核(core)更新

改进 Nodes 扩展的运行机制

4.5 之后,Adapter Nodes由 multiprocessing 启动(之前由 subprocess 启动)。

这带来如下改进:

  • 提升健壮性(确保 Nodes 进程在 Adapter 退出后结束),避免设备被未关闭 Nodes(僵尸进程) 持续占用
  • 提升 Nodes 启动速度

Adapter full 版本携带了完整的 Python 解释器,这让我们能够使用 multiprocessing,为许多方面都拓宽了可能性,诸如我们现在可以在 jupyterlab notebooks 使用 cozmo cli(详情见下文)。

更重要的是,用户在自定义 Nodes 时拥有更多的自由,几乎与本地Python无异。

ps: lite版本(linux)目前依然使用 subprocess,我们也计划为 linux 推出 full 版本(目前在linux下遇到一些动态链接库的问题)

Adapter 的二次分发

Adapter 目前支持用户二次分发, 希望提供给用户更多自由。

一种典型应用场景是开发者/教育者为用户提供定制化的 Adapter(包括Python社区第三方库、自定义 Adapter扩展、数据和内容), 致力于开箱可用。

目前北京王府国际学校在使用的 codelab-adapter-4_4_1-AI-alpha 基于这个机制, codelab-adapter-4_4_1-AI-alpha 内置了 Cozmo SDK案例数据、Tensorflow、notebooks教程,目前由尚老师维护。

如果你希望分发基于 PyTorch 而不是 Tensorflow 的AI教学环境,只需花上10分钟不到,便可以基于 Adapter 分发一个新的AI编程环境。

参考定制与分发

添加 open_path 函数

codelab_adapter_client 升级到 4.1.4, 添加 open_path 函数. 可用于打开系统中的任何路径(文件/文件夹/软件/...),支持主流操作系统(Linux/MacOS/Windows)。

该特性最初为 CodeLab 交互计算课程引入。

from codelab_adapter_client.utils import open_path

正在运行的nodes UI入口

方便查看正在运行的 nodes,用于debug。

插件更新

Cozmo 插件

Cozmo 是绝佳的 AI 教学系统,AI4K12(The Artificial Intelligence (AI) for K-12 initiative (AI4K12) is jointly sponsored by AAAI and CSTA. ) 对其有极高的评价。

Adapter 为 Cozmo 提供了一流的支持,无论在 Scratch 中,还是在 Python 中。

4.5 中的改进包括:

  • 内置 3dviewer 依赖(OpenGL)
  • 内置可视化的调试环境
    • cozmo cli notebook demo(不支持交互式探索)
    • 内置 cozmo cli.py(src)(支持交互式探索)

overdrive 插件

增加以下功能:

  • 对车灯的控制
  • uTurn(调头)
  • 从通知数据中解析更多属性字段(学习CSP项目)
  • 添加电量通知和IntersectionUpdate(十字路口)

usb_microbit

为 send command 加上锁(merge from 刘老师)

细节参考: extension_usb_microbit.py

microbitMore

更新 microbitMore 固件(0.2.0)