悟空机器人(教育版)

使用说明

目前该插件并未内置到 Adapter 中。

我们目前将插件构建为 Adapter Node,可以在Adapter外部以普通Python文件运行,一旦运行起来,与普通Adapter插件是一样的,能够与Adapter体系的所有事物交互。

Python环境

首先你本地需要有 Python 环境(Python>=3.6

你可以到 Python 官方下载,也可以使用 CodeLab放在国内的版本(Python3.7)

提醒

Mac 用户和 Linux 本地很可能内置了 Python3

安装依赖

pip install alphamini codelab_adapter_client --upgrade 

开始!

步骤 1:打开 CodeLab Scratch

运行CodeLab Adapter, 确保在线平台与Adapte连接正常。

看到 CodeLab Scratch 指示灯显示绿色,代表连接成功。

步骤 1:运行 node_alphamini.py

node_alphamini.py 插件下载到本地(随便放在一个文件夹里),在命令行中进入到这个文件夹,使用 python node_alphamini.py 运行它。

步骤 2:为 悟空机器人 配网

将 悟空机器人 连上网络。(操作细节可以参考 悟空机器人 说明书)

步骤 3: 编程

选择 scratch3 中的 EIM 插件.

alphamini-demo2

以上 Demo 运行结果为:

进阶

更多API参考文档: mini-python-sdk

悟空的内置行为

内置舞蹈

robot.play_behavior(name='custom_0035')  # 生日快乐

内置动作

robot.play_action(action_name='010') # 打招呼

内置表情

robot.play_expression(express_name='codemao13') # 疑问

提醒

悟空内部运行一个安卓系统,带有内嵌 Python 环境

FAQ

有些网络无法扫描到悟空

似乎和局域网内的设备发现机制(mdns?)有关。 通过以下脚本排查问题。如果以下脚本无法扫描到设备,请联系优必选客服人员。

注意将 00447 替换成你自己的设备号

# pip install alphamini
# https://github.com/marklogg/mini_demo/blob/master/test/test_connect.py
import asyncio
import logging

import mini.mini_sdk as MiniSdk
from mini.dns.dns_browser import WiFiDevice

"""根据机器人序列号后缀搜索设备
    搜索指定序列号(在机器人屁股后面)的机器人, 可以只输入序列号尾部字符即可,长度任意, 建议5个字符以上可以准确匹配
"""
device_name = "00447"

async def test_get_device_by_name():
    '''
    10秒超时
    Returns:
        WiFiDevice: 包含机器人名称,ip,port等信息
    '''
    result: WiFiDevice = await MiniSdk.get_device_by_name(device_name, 10)
    print(f"test_get_device_by_name result:{result}")
    return result

async def main():
    device: WiFiDevice = await test_get_device_by_name()
    if device:
        print("已发现设备")
    else:
        print("无法发现设备")


if __name__ == '__main__':
    asyncio.run(main())