Snap! 中的 CoCube 库

Snap! 中的 CoCube 库

💡 原文中文,约3200字,阅读约需8分钟。
📝

内容提要

梁博士制作了一个名为CoCube的桌面级模块化群控机器人系统,使用MicroBlocks作为编程环境。最近为CoCube设计了一个Snap!驱动库,用户可以在Snap!中编程控制CoCube。通过消息传递实现Snap!和MicroBlocks之间的通信。Snap!中的库提供了消息传递的基础功能,用户可以获取CoCube的状态信息和发送指令。CoCube库可以通过MicroBlocks实现,用户只需在Snap!中编程。可以使用CoCube库同时调试软件和硬件代码。可以为CoCube制作一个类似的Python客户端库。

🎯

关键要点

  • 梁博士制作了一个名为CoCube的桌面级模块化群控机器人系统,使用MicroBlocks作为编程环境。
  • CoCube与toio有许多相似特性,但也具备可扩展的硬件接口和与MicroBlocks更紧密的结合。
  • 为CoCube设计Snap!驱动库的动机是将Snap!的AI库用于CoCube,并在上位机中制作高级驱动库。
  • 通过消息传递实现Snap!与MicroBlocks之间的通信,降低系统之间的耦合度。
  • 用户可以在Snap!中获取MicroBlocks设备的状态信息和发送指令,无需在两个平台之间切换。
  • MicroBlocks一侧的代码是通用的,用户只需刷入通用程序即可在Snap!中编程。
  • Snap!通过reporter积木获取状态信息,通过command积木发送指令。
  • 使用CoCube库时,用户需在Snap!中加载库并连接设备。
  • 目前的工作基于push风格,MicroBlocks不断将设备状态信息同步给Snap!,但可能导致性能和电量问题。
  • 未来可能通过制作Dynatalk-over-ble实现pull风格的CoCube库。
  • 可以同时调试Snap!和MicroBlocks的代码,实时观察消息流动。
  • 可以为CoCube制作类似的Python客户端库,迁移设计到Python中很容易。
➡️

继续阅读