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

推荐订阅源

C
Cyber Attacks, Cyber Crime and Cyber Security
N
News and Events Feed by Topic
Schneier on Security
Schneier on Security
Forbes - Security
Forbes - Security
Webroot Blog
Webroot Blog
PCI Perspectives
PCI Perspectives
www.infosecurity-magazine.com
www.infosecurity-magazine.com
A
Arctic Wolf
Google Online Security Blog
Google Online Security Blog
T
Troy Hunt's Blog
T
Tenable Blog
L
Lohrmann on Cybersecurity
C
Cisco Blogs
罗磊的独立博客
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
T
Threat Research - Cisco Blogs
Attack and Defense Labs
Attack and Defense Labs
T
The Exploit Database - CXSecurity.com
有赞技术团队
有赞技术团队
V2EX - 技术
V2EX - 技术
GbyAI
GbyAI
P
Proofpoint News Feed
雷峰网
雷峰网
Cisco Talos Blog
Cisco Talos Blog
Hacker News - Newest:
Hacker News - Newest: "LLM"
Cloudbric
Cloudbric
K
Kaspersky official blog
C
CXSECURITY Database RSS Feed - CXSecurity.com
S
Securelist
M
MIT News - Artificial intelligence
H
Heimdal Security Blog
Vercel News
Vercel News
S
SegmentFault 最新的问题
U
Unit 42
Help Net Security
Help Net Security
S
Schneier on Security
人人都是产品经理
人人都是产品经理
爱范儿
爱范儿
Microsoft Azure Blog
Microsoft Azure Blog
H
Hackread – Cybersecurity News, Data Breaches, AI and More
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
T
Threatpost
I
Intezer
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
P
Palo Alto Networks Blog
Application and Cybersecurity Blog
Application and Cybersecurity Blog
博客园 - 三生石上(FineUI控件)
J
Java Code Geeks
宝玉的分享
宝玉的分享
Latest news
Latest news

夜行人

回家路上 第一期的直播演示项目 震动检测器 正能量 在线参观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 美国之行 三门问题的程序模拟 从Python转向Pharo https://blog.just4fun.site/post/iot/iot-open-source-projects/ Python异步编程笔记 https://blog.just4fun.site/post/iot/iot-open-source-hardware-community/ 万物积木化开发者社区 CodeLab ❤️ Blender Scratch3技术分析之云变量 API(第7篇) [译]对管道(Pipes)的偏爱 [译]提出正确的问题比得到正确答案更重要 蓝牙设备与Scratch3.0 创建你的第一个Scratch3.0 Extension Scratch3技术分析之项目内部数据(第6篇) Scratch3技术分析之社区 API(第5篇) Scratch3技术分析之User API(第4篇) Scratch3技术分析之项目主页API(第3篇) Scratch3技术分析之静态资源API(第2篇) Scratch3.0、micro:bit与Windows7 https://blog.just4fun.site/post/iot/zerynth-vs-micropython/ 核聚变、方所与半宅空间 可视化编程为何是个糟糕的主意 codelab.club周末聚会 关于codelab.club '下一件大事'是一个房间 Hungry Robot - Eat everything 编程作为一种思考方式 今日简史 史蒂夫·乔布斯传 罗素自选文集 https://blog.just4fun.site/post/edx/tianjin-scratch-ai/ https://blog.just4fun.site/post/edx/richie-cms-openedx/ 徒步武功山 WebUSB与micro:bit 积木化编程与3D场景 夜宿武功山顶 scratch3-adapter接入优必选Alpha系列机器人 https://blog.just4fun.site/post/edx/video-migration-note/ scratch3-adapter重构笔记 https://blog.just4fun.site/post/edx/edx-community-members/ 两种硬件编程风格的比较 使用micro:bit自制PPT翻页笔 柏拉图对话集 scratch3.0 + micro:bit 七月电影放映计划 非营利组织的管理 Screenly--用树莓派让任何屏幕变为可编程的数字标牌 以最佳实践开始你的Django项目 micro:bit与事件驱动 为Scratch3.0设计的插件系统(上篇) OCR应用一例 近两年读过的一些好书 blockly开发之使用python驱动浏览器中的turtle(2) 牛顿新传 文学理论入门 逻辑的引擎 人生的意义 blockly开发之生成并运行js代码(1) blockly开发之hello world(0) micro:bit使用笔记 神器之Termux https://blog.just4fun.site/post/iot/micropython-notes/ Cozmo what is this Scratch的前世今生 下段旅程 我行在远方 爆裂 途中杂记 https://blog.just4fun.site/post/edx/open-edx-startup/ cozmo系列之入门 - 有性格且可编程的机器人 PaperWeekly开发笔记 创业二三事
从 MicroBlocks 开始你的硬件编程之旅
种瓜 · 2022-11-22 · via 夜行人

文章目录

MicroBlocks 是一种免费/自由的、类似于 Scratch 的图形化编程语言,支持许多具有教育属性的微控制器主板,如 micro:bit、ESP32/ESP8266、树莓派 Pico 等,欢迎使用 MicroBlocks 来学习物理计算/硬件编程。

MicroBlocks 中文主页 已经正式上线!

The challenge is not building it but understanding it – Bret Victor 《Seeing Spaces

让学习者专注于解决问题而不是操心系统机制 – John Maloney

MicroBlocks 是硬件编程(物理计算)领域的 Scratch, 它是第一个具有 Scratch 临界质量的硬件编程平台,能够帮助数以千万的新手真正入门。

MicroBlocks 试图解决什么问题呢? 或者说当前的硬件编程领域存在哪些问题?

硬件编程太难入门了

入门太困难了! 我在给老杨的礼物 🎁里记录了我们所受的苦:

我跟老杨便决定好好学习单片机编程(或者叫它硬件编程/物理计算),那时我已经有一些软件编程经验,但只是初学者。很快我们就发现,学习单片机太难了!可怕得像一场灾难。
翻了后一页,就忘了前一页的内容,因为每一页都有无数细节,根本记不住。也不知道哪些重要哪些不重要,作者只是一股脑都告述你。玲琅满目的新名词,看起来完全不像中文,读起来像生造词。每一个概念又牵扯出一大堆其他概念,好像永远没有尽头。我们这本看不懂,就看那本,但都差不多。

多年后,我在阅读《Mindstorms》时, 几乎感动的落泪, 这是一个何等慈悲善意的心灵,为初学者少受些苦难,对教育界宣战,“要改变的是学校的教育机制,而不是孩子”。Seymour Parpert 所抨击的计算机教育里的那些灾难性想法/做法,我大多都亲历过,尽管这本书在我上学时,已经出版了 30 年(40 年后才有中文版), 但整个计算机教育领域好像闻所未闻似的(今天基本依然如此)。 可想而知,主流计算机教育领域到处都是车祸现场(今天基本依然如此)。

当我遇到 MicroBlocks,

我突然意识到,这可能我十年前跟老杨一直寻找的东西。十年过去,它终于出现了。如果我们在上学时遇到它,能用它来做多少有趣的东西呀!

Arduino 与 MicroPython

正在阅读文章的你可能是一个有经验的 Maker(创客),觉得 Arduino 已经很好地解决了入门困难的问题,它让业余爱好者也可以很好地玩转硬件。的确,Arduino 是硬件编程领域的重大进步,让这个领域不再那么令人生畏。在 Arduino 之后,MicroPython 又进一步降低了门槛。

可能是门槛实在太高,即便降了不少,对于没有任何经验的编程新手,依然令人生畏。

图形化硬件编程

随着 Maker/STEM/少儿编程 在教育领域引发越来越多的关注,更多的人试图进一步降低编程的门槛,让新手不仅能进行软件编程,也能成为 Maker,对现实世界的硬件进行编程,进而制作各种有趣的小发明。

Scratch 在帮助新手入门编程方面取得了巨大成功, 截至今天(2022.11.22),单是 MIT Scratch 社区就已经有 9958 万的用户,年龄段分布从 4 岁(22 万)到 80 岁(1.2 万)。

他们在社区里一共创作了 1 亿 1708 万个程序项目!

也许是受到 Scratch 的鼓舞,人们想把 Scratch 的成功经验移植到硬件编程领域,他们的想法是,使用图形积木来控制硬件!

这便是今天数以百计的公司(Google 、微软和乐高…)和高校(CMU、MIT、UC Berkeley…)正在做的事情。

可是,仅仅将代码图形化是不够的。

图形化编程环境通过减少编程过程的语法错误来帮助学习,一些研究表明,学习语法的困难只在早期阶段会遇到,学习编程的一个更大挑战是,学习者需要能够正确预测源代码的更改对程序运行行为的影响。

MicroBlocks: 解决真正的挑战

这个更大挑战正是 MicroBlocks 试图解决的大问题。

MicroBlocks 通过提供拥有活性(liveness)的编程环境,缩短了反馈循环,从而鼓励学习者通过「试错」进行实验和编程。这些改进极大提升了编程的 “可理解性”。

MicroBlocks 相较于其他编程平台具体优越在哪些地方? 我在比较图形化硬件编程平台做了细致讨论。

我曾经在硬件编程上吃了太多的苦, 这正是我如此热衷于分享 MicroBlocks 的原因: 不希望新手们再去忍受那些不必要的痛苦!

MicroBlocks开始你的硬件编程之旅吧!