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

推荐订阅源

IT之家
IT之家
aimingoo的专栏
aimingoo的专栏
H
Help Net Security
L
LangChain Blog
M
MIT News - Artificial intelligence
The GitHub Blog
The GitHub Blog
H
Hackread – Cybersecurity News, Data Breaches, AI and More
C
Check Point Blog
P
Proofpoint News Feed
J
Java Code Geeks
大猫的无限游戏
大猫的无限游戏
博客园_首页
Blog — PlanetScale
Blog — PlanetScale
U
Unit 42
I
InfoQ
月光博客
月光博客
爱范儿
爱范儿
Stack Overflow Blog
Stack Overflow Blog
V
Visual Studio Blog
Y
Y Combinator Blog
Microsoft Security Blog
Microsoft Security Blog
博客园 - Franky
D
Docker
B
Blog

夜行人

回家路上 第一期的直播演示项目 震动检测器 正能量 在线参观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 美国之行 三门问题的程序模拟
Arduino与Scratch3.0
种瓜 · 2020-05-03 · via 夜行人

文章目录

说明

这是之前的文章,更新以匹配 CodeLab Adapter 3.0


陆续有开发者问到,如何使用CodeLab Adapter将Arduino接入到Scratch3.0中?

思路

有许多种方法能做到这点,但我比较偏好在arduino中烧入Firmata固件。之后与固件交互,我在两种硬件编程风格的比较论述了这样做的好处。

之后使用Firmata python client与Arduino交互。

推荐的Firmata python client有:

如何设计出合理的积木是个非常有趣的话题,它本质上是个设计工作,而不是技术工作。我推荐采用"单一入口原则"(来自realtalk的建议)。这个原则对于构建创造性工具极有帮助。 在本文中展示如何使用这个原则来将Arduino接入到Scratch3.0。

我对Firmata并不熟悉。 所以后文里,直接使用pyserial与arduino通信。Firmata python client包转了pyserial。

技术视角

让我们切换到技术视角,看看按照上边的思路,我们具体要做些什么。

  1. 在Scratch3.0中创建Arduino extension
  2. CodeLab Adapter中构建extension_arduino

如果你没有在Scratch3.0中创建过插件,请先阅读创建你的第一个Scratch3.0 Extension

本文准备采用"单一入口原则",所以Scratch3.0中的Arduino extension与CodeLab Adapter之间将直接传递Python代码,语义的传递过程为:积木->Python代码, 之后由extension_arduino负责运行代码。

在Scratch3.0中创建Arduino extension

我目前只构建了一个控制led的积木,作为演示,添加更多积木,依葫芦画瓢便可。

演示

内置插件

本文只是讲解了思路,目前 Adapter 内置了 Arduino uno插件