Skip to content

Commit c18d24f

Browse files
committed
update
1 parent d097478 commit c18d24f

File tree

5 files changed

+211
-3
lines changed

5 files changed

+211
-3
lines changed

blog/4.3-release.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@ Slug: adapter-4-3
99

1010
> 我们如何制造计算机,使它们像细胞一样扩展到亿万倍? -- Alan Kay 《计算机革命尚未发生》
1111
12+
<!--truncate-->
13+
1214
---
1315

1416
CodeLab Adapter 4.3 是过年前的最后一个大版本,关注可扩展性。同时也为我们正在制作的《交互计算》课程提供更友好的支持。

blog/4.5-release.md

Lines changed: 97 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,97 @@
1+
---
2+
title: "发布 CodeLab Adapter 4.5"
3+
date: 2021-03-15
4+
tags: ["CodeLab"]
5+
Slug: adapter-4-5
6+
---
7+
8+
![](https://adapter.codelab.club/img/3c7bb6e0b4a5319c0b1fce971b61fa82.png)
9+
10+
> 人们有自己的偏爱和有别于他人的自由, 有不赞同多数人和走自己的路的自由 -- 卡尔.波普尔《历史决定论的贫困》
11+
12+
以下是自 4.4 版本以来的主要改进。 具体细节参考[changelog](https://adapter.codelab.club/changelog/)
13+
14+
<!--truncate-->
15+
16+
# 内核(core)更新
17+
18+
## 改进 Nodes 扩展的运行机制
19+
20+
4.5 之后,[Adapter Nodes](https://adapter.codelab.club/dev_guide/Adapter-Node/)由 multiprocessing 启动(之前由 subprocess 启动)。
21+
22+
这带来如下改进:
23+
24+
* 提升健壮性(确保 Nodes 进程在 Adapter 退出后结束),避免设备被未关闭 Nodes(僵尸进程) 持续占用
25+
* 提升 Nodes 启动速度
26+
27+
Adapter full 版本携带了完整的 Python 解释器,这让我们能够使用 multiprocessing,为许多方面都拓宽了可能性,诸如我们现在可以在 jupyterlab notebooks 使用 cozmo cli(详情见下文)。
28+
29+
更重要的是,用户在自定义 Nodes 时拥有更多的自由,几乎与本地Python无异。
30+
31+
ps: lite版本(linux)目前依然使用 subprocess,我们也计划为 linux 推出 full 版本(目前在linux下遇到一些动态链接库的问题)
32+
33+
## Adapter 的二次分发
34+
Adapter 目前支持用户二次分发, 希望提供给用户更多自由。
35+
36+
一种典型应用场景是开发者/教育者为用户提供定制化的 Adapter(包括Python社区第三方库、自定义 Adapter扩展、数据和内容), 致力于开箱可用。
37+
38+
目前北京王府国际学校在使用的 codelab-adapter-4_4_1-AI-alpha 基于这个机制, codelab-adapter-4_4_1-AI-alpha 内置了 Cozmo SDK案例数据、Tensorflow、notebooks教程,目前由尚老师维护。
39+
40+
如果你希望分发基于 PyTorch 而不是 Tensorflow 的AI教学环境,只需花上10分钟不到,便可以基于 Adapter 分发一个新的AI编程环境。
41+
42+
参考[定制与分发](https://adapter.codelab.club/dev_guide/%E5%AE%9A%E5%88%B6%E4%B8%8E%E5%88%86%E5%8F%91/)
43+
44+
## 添加 open_path 函数
45+
46+
[codelab_adapter_client](https://github.com/CodeLabClub/codelab_adapter_client_python) 升级到 4.1.4, 添加 open_path 函数. 可用于打开系统中的任何路径(文件/文件夹/软件/...),支持主流操作系统(Linux/MacOS/Windows)。
47+
48+
该特性最初为 CodeLab 交互计算课程引入。
49+
50+
`from codelab_adapter_client.utils import open_path`
51+
52+
<!--
53+
## 改进对 Python 的支持
54+
Adapter 将 Python/Scratch 视为一等公民,过去我们
55+
56+
我们希望 Adapter 能,具体策略包括
57+
-->
58+
59+
## 正在运行的nodes UI入口
60+
![](https://adapter.codelab.club/img/00999a792125b7ab472de4c13c7c17d5.png)
61+
62+
方便查看正在运行的 nodes,用于debug。
63+
64+
# 插件更新
65+
66+
## Cozmo 插件
67+
Cozmo 是绝佳的 AI 教学系统,[AI4K12(The Artificial Intelligence (AI) for K-12 initiative (AI4K12) is jointly sponsored by AAAI and CSTA. )](https://ai4k12.org/) 对其有极高的评价。
68+
69+
Adapter 为 Cozmo 提供了一流的支持,无论在 Scratch 中,还是在 Python 中。
70+
71+
4.5 中的改进包括:
72+
73+
* 内置 3dviewer 依赖(OpenGL)
74+
* 内置可视化的调试环境
75+
* cozmo cli notebook demo(不支持交互式探索)
76+
* 内置 cozmo cli.py(src)(支持交互式探索)
77+
78+
![](https://adapter.codelab.club/img/1001b6a39c4126b0d15a05e9864079a1.png)
79+
80+
## overdrive 插件
81+
增加以下功能:
82+
83+
* 对车灯的控制
84+
* uTurn(调头)
85+
* 从通知数据中解析更多属性字段(学习CSP项目)
86+
* 添加电量通知和IntersectionUpdate(十字路口)
87+
88+
<video width='80%' src="https://adapter.codelab.club/video/1615793877192664.mp4" controls="controls"></video>
89+
90+
91+
## usb_microbit
92+
为 send command 加上锁(merge from 刘老师)
93+
94+
细节参考: [extension_usb_microbit.py](https://github.com/CodeLabClub/codelab_adapter_extensions/blob/master/extensions_v3/extension_usb_microbit.py#L199)
95+
96+
## microbitMore
97+
更新 microbitMore 固件(0.2.0)

blog/4.6-release.md

Lines changed: 108 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,108 @@
1+
---
2+
title: "发布 CodeLab Adapter 4.6"
3+
date: 2021-03-29
4+
tags: ["CodeLab"]
5+
Slug: adapter-4-6
6+
---
7+
8+
![](/img/0b6a24a5cb482dacb2cb7e6a405232cc.png)
9+
10+
> 今天的一点小小裂痕,将如用针尖在一棵小栋树的嫩皮上刻出一个名字一样,这道伤痕将随着树木生长而扩大。 -- 托马斯·潘恩《常识》
11+
12+
以下是自 4.6 版本以来的主要改进。 具体细节参考[changelog](https://adapter.codelab.club/changelog/)
13+
14+
<!--truncate-->
15+
16+
# 内核(core)更新
17+
18+
## 自动迁移用户数据
19+
升级软件/重置主目录时,自动迁移用户数据(`~/codelab_adapter/`)。
20+
21+
旧的主目录(`~/codelab_adapter/`)将自动备份,形如: `codelab_adapter_2021-03-29__14-49-04_219298/`, 后缀的数字是时间信息。
22+
23+
notebooks/extensions/nodes 里的自定义子目录和文件将自动迁移。 user_settings.toml里的自定义信息将自动迁移。
24+
25+
## webUI 更新
26+
![](/img/4a817b06c10ad79b1d3234ae6b19711b.png)
27+
28+
**更新扩展** 重命名为 **重置主目录** ,置于 **环境** 目录下
29+
30+
31+
添加 **正在运行的nodes UI** , 置于 **环境** 目录下
32+
33+
## 更新Adapter ssl证书
34+
支持到 2022-03-29。
35+
36+
Adapter 4.5 及之前的版本支持到 `2021-06-03`
37+
38+
此外,在user_settings中支持添加证书过期时间配置项。
39+
40+
41+
## 弃用 app_settings.py
42+
处于安全性的考虑, [定制与分发](https://adapter.codelab.club/dev_guide/%E5%AE%9A%E5%88%B6%E4%B8%8E%E5%88%86%E5%8F%91/)时,关于默认配置项的调整,可通过修改 src 目录里的 `user_settings.toml` 实现。
43+
44+
## 尝试提供 user_settings web editor api 接口
45+
目前是 alpha 版本,试图提供 jupyter 风格的 api。
46+
47+
当然你也可以在 jupyterlab 中编辑 user_settings。
48+
49+
编辑完之后,记得重启Adapter。
50+
51+
# [codelab_adapter_client](https://github.com/CodeLabClub/codelab_adapter_client_python) 升级到 4.1.8
52+
53+
添加 send_message, receive_message api: `from codelab_adapter_client.message import send_message, receive_message` . 我们4月份即将发布的 CodeLab交互计算 课程将比较多使用它。
54+
55+
修复 AdapterNodeAio 启动消息遗漏的bug(time sleep等待zmq通道连接)
56+
57+
# 插件更新
58+
## 修复 悟空机器人 插件启动超时的bug
59+
这是个长期影响演示流畅度的bug,是 AdapterNodeAio 启动消息遗漏引起的。
60+
61+
## 优化 overdrive 插件
62+
支持 ble实时 扫描,避免用户长时间等待。
63+
64+
修复连接后的头5s消息阻塞问题。
65+
66+
## 优化 Lego Mario 插件
67+
Lego Mario 支持 ble 实时扫描,避免用户长时间等待
68+
69+
70+
# 其他更新
71+
72+
## box2d(物理引擎)
73+
1.0 版本已经同步上线到 [CodeLab社区](https://create.codelab.club/),当前版本的汉化,达到了令我们比较满意的程度。
74+
75+
我们正在规划 2.0 版本,该版本计划将编程猫平台上对物理引擎中的一些易用性改进,吸纳过来。
76+
77+
我们将一些好玩的入门项目整理到了[这个工作室](https://create.codelab.club/studios/403/)里,你可以从这儿起步。
78+
79+
以下是社区用户分享的基于物理引擎的合成大西瓜项目
80+
81+
<iframe src="https://create.codelab.club/projects/9151/embed/" allowtransparency="true" width="485" height="402" frameborder="0" scrolling="no" allowfullscreen></iframe>
82+
83+
## CodeLab Scratch & Scratch Addons
84+
我们正试着将CodeLab Adapter相关扩展构建在Scratch addons/TurboWarp之上,这个项目汇集了这些年来用户社区对Scratch的所有深度改进。
85+
86+
构建在此之上的 [CodeLab Scratch 预览版](https://addon.codelab.club/editor.html)
87+
88+
目前已经将一些 CodeLab成员 常用的扩展迁移过去了,如果你有其他的建议,欢迎在此讨论
89+
90+
Scratch addons/TurboWarp 有一些惊人的改进,诸如中断/恢复程序、消息跟踪、浏览代码,这些改进极大提高Scratch深度项目的可理解性,也使debug更为轻松,在这些改进下,Scratch的环境更接近smalltalk的“活体”环境。这些重大改进几乎可以和Scratch第一代作者的工作相提并论,而不同于之后的渐进式改进。
91+
92+
于此相关的话题,欢迎在 [这个帖子下讨论](https://discuss.codelab.club/t/topic/192)
93+
94+
## [NeverlandBeats](https://github.com/CodeLabClub/NeverlandBeats): 使用 Python,Adapter EIM 插件和 Scratch 实时绘制音乐频谱
95+
96+
![](/img/cmap_thermal1.png)
97+
98+
CodeLab NeverlandBeats 已开源在Github。
99+
100+
这部分目前有以下两个项目,原理都是用 python 对音频数据做实时分析,同时经 Adapter EIM 插件将分析结果发给 Scratch,再使用画笔功能动态绘制图形。可以直接利用 Python 代码在浏览器新窗口中自动打开对应的 Scratch 项目并运行,也可以手动打开 Scratch 项目后再运行 Python 代码。(Python 还有 Scratch 对应代码库内都有备份,但如果要自动打开并运行 Scratch 对应项目,需使用线上社区版,地址见下面链接)
101+
102+
音频流的配置与数据提取依赖 pyaudio 实现,音频数据分析就是将信号从时域经傅立叶转换到频域。P1 与 P2 的区别在于,P2 只是对每次从音频流中提取的数据做 FFT(Fast Fourier transform)分析,然后将 0-22050Hz 的频率按对数关系分为 10 个频段呈现对应的振幅强度,在 Scratch 中类似 bar 图效果;P1 相比 P2 多了时间的维度,做的是 STFT(Short-time Fourier transform) 分析,依赖 madmom 包获取 spectrogram 结果,对应 Scratch 中 12 * 10 的圆点矩阵,每 1 列是一个时间点,12 行数据分别对应 12 个频段的振幅强度。
103+
104+
运行 python 代码前,需要先选择音源的输入设备,是来自电脑内置的麦克风、还是耳机等,当前代码不包含选择输入设备这一项功能(但依赖 pyaudio 其实可以做到),pyaudio 会使用默认的输入设备,而输入设备间的切换是通过 pavucontrol(ubuntu 系统)手动实现的。如果发现没有数据很可能就是音源输入设备的选择问题。因为 madmom 也是依赖 pyaudio,所以 P1、P2 都是如此。
105+
106+
使用 [Scratch Addon](https://addon.codelab.club/editor.html),选择 fps=60、高清画笔模式,自定义舞台大小,视觉效果明显更好。
107+
108+
P1:Python 代码[在此](https://github.com/CodeLabClub/NeverlandBeats/blob/master/AA_madmomspectrogram.ipynb),(自启动)Scratch 代码[在此](https://create.codelab.club/projects/9942/),(手动启动)Scratch 代码[在此](https://create.codelab.club/projects/10022/)

blog/CodeLab博文汇总.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ tages: ["CodeLab相关"]
99
这既是一篇归纳性博文,又同时充当博客板块的公告板与目录,最新动态请看下方**最近更新** :)
1010

1111

12+
1213
## 最近更新
1314

1415
- [CodeLab 《创意编程》课程发布!](https://codelab.club/blog/2021/01/19/creativecodingcourse)

blog/tools.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,10 @@ tags: ["CodeLab相关","Adapter"]
1313

1414
## CodeLab Scratch Desktop(离线版)
1515

16-
v4.2.2:
16+
v4.3.0:
1717

18-
- [Windows](https://scratch3-files.just4fun.site/CodeLab-Scratch-win-4-2-2.zip) (Windows7 及以上)
19-
- [MacOS](https://scratch3-files.just4fun.site/CodeLab-Scratch-mac-4-2-2.zip)
18+
- [Windows](https://scratch3-files.just4fun.site/CodeLab-Scratch-win-4-3-0.zip) (Windows7 及以上)
19+
- [MacOS](https://scratch3-files.just4fun.site/CodeLab-Scratch-mac-4-3-0.zip)
2020

2121
如果发现 CodeLab Scratch Desktop 与 MIT Scratch Desktop无法在一台电脑共存(会彼此替代),可以先安装CodeLab再安装MIT官方的,就可以同时存在了
2222

0 commit comments

Comments
 (0)