惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

D
Docker
Apple Machine Learning Research
Apple Machine Learning Research
宝玉的分享
宝玉的分享
博客园 - 叶小钗
酷 壳 – CoolShell
酷 壳 – CoolShell
博客园 - 司徒正美
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
博客园 - Franky
爱范儿
爱范儿
罗磊的独立博客
IT之家
IT之家
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
N
Netflix TechBlog - Medium
云风的 BLOG
云风的 BLOG
P
Proofpoint News Feed
U
Unit 42
Engineering at Meta
Engineering at Meta
WordPress大学
WordPress大学
博客园 - 三生石上(FineUI控件)
T
Tailwind CSS Blog
H
Help Net Security
博客园_首页
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
人人都是产品经理
人人都是产品经理

夜行人

回家路上 第一期的直播演示项目 震动检测器 正能量 在线参观CodeLab Neverland 发布 CodeLab Adapter 3.3.1 DynamicTable 之 纸糊方向盘 CodeLab DynamicTable: 一个可实施的技术方案 CodeLab Insight 发布 Alpha 版 情人节 Home Assistant 周报 && IoT 周报 (02) Joplin: 关注隐私的 Evernote 开源替代软件 浏览器的未来与 Web 传感器 Home Assistant 周报 && IoT 周报 (01) 百宝箱(01) 论自由 介绍 WebThings Home Assistant 周报 && iot 周报 (00) 百宝箱(00) 毛姆读书心得 传世之作 周末徒步 CodeLab Adapter ❤️ Jupyter/Python 航班 躲雨 夏令营途中 [译]思想--作为一种技术 The future of coding 美国之行 三门问题的程序模拟
scratch3-adapter接入优必选Alpha系列机器人
种瓜 · 2018-09-20 · via 夜行人

文章目录

近期在scratch3-adapter中加入了优必选Alpha系列机器人的驱动,于是我们可以在scratch3.0中为优必选Alpha系列机器人编程

我们近期的另一项工作是在scratch3.0中加入课程模式(类似code.org), 之后使用scratch3-adapter + scratch3.0就可以在web中教学机器人、AI和物联网,不损失web带来的好处(瘦客户端、跨平台、记录学习情况),又能与身边的硬件互动。

当然我更期待官方的microworld,等官方推出microworld,我到时候会将硬件整合进microworld。

考虑到优必选目前只对合作伙伴公开蓝牙通信协议,所以我们暂不公开这部分的驱动代码。待将来优必选公开蓝牙协议的细节后,这部分的源码也将开放给大家。

目前我们已经给出了移除协议细节之后的源码:extension_ubtrobot.py

在此记录一些思路和开发笔记。

机器人的驱动

为了在scratch3.0中使用积木为优必选Alpha系列机器人编程,我们需要先在scratch3-adapter构建插件,与机器人通信。

我们先来看一下scratch3-adapter的架构图

优必选Alpha系列机器人对外暴露蓝牙接口。从上边的架构图看出,scratch3-adapter允许开发者自定义任何的通信方式,无论是蓝牙(BT/BLE)、usb还是wifi。

优必选Alpha系列机器人内置的是蓝牙串口服务,在Mac和windows(win10/win7)上,当电脑与机器人建立蓝牙连接之后,在本地都会虚拟出蓝牙串口。之后在自定义插件中使用pyserial与之交互即可。

但值得注意的是,树莓派(Linux)上的操作方式并不一样,在linux下,建议先安装blueman来管理蓝牙。连接机器人时,选择serial port模式,之后会虚拟出/dev/rfcomm*

由于不同操作系统的蓝牙略有差异,建议使用platform.system()来区分不同平台(Darwin/Windows/Linux)

多个控制端

近期我们在做一个实验室解决方案,一个实验桌有多位学生,共同控制一个机器人,这是n-1架构。同时希望学生端可以同时使用ipad和电脑同时控制机器人。

我们的解决方案是让scratch3-adapter跑在树莓派中,对外提供服务,之后scratch3.0与树莓派交互。而学生在浏览器中与运行在树莓派里的scratch3-adapter交互,如此一来,就实现了n个学生共同控制一台机器人。


2019.1.21更新


目前优必选已经将alpha1系列机器人的蓝牙协议开放了, 如我们之前承诺的,我们的extension的源码也开源出来了: extension_ubtrobot.py

Alpha 1同时支持ble和bt,所以现在可以做到一个client同时控制多台机器人。就是说可以实现同时跳舞的功能。