发布 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)