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

推荐订阅源

雷峰网
雷峰网
T
The Blog of Author Tim Ferriss
WordPress大学
WordPress大学
V
V2EX
Jina AI
Jina AI
S
Schneier on Security
Cyberwarzone
Cyberwarzone
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
PCI Perspectives
PCI Perspectives
美团技术团队
小众软件
小众软件
L
LangChain Blog
N
Netflix TechBlog - Medium
大猫的无限游戏
大猫的无限游戏
T
Threatpost
T
Tor Project blog
K
Kaspersky official blog
Microsoft Security Blog
Microsoft Security Blog
Security Archives - TechRepublic
Security Archives - TechRepublic
Security Latest
Security Latest
H
Heimdal Security Blog
N
News and Events Feed by Topic
T
Threat Research - Cisco Blogs
J
Java Code Geeks
H
Hackread – Cybersecurity News, Data Breaches, AI and More
T
Tailwind CSS Blog
C
CXSECURITY Database RSS Feed - CXSecurity.com
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
M
MIT News - Artificial intelligence
Apple Machine Learning Research
Apple Machine Learning Research
N
News | PayPal Newsroom
I
Intezer
博客园 - 聂微东
U
Unit 42
Cisco Talos Blog
Cisco Talos Blog
量子位
T
The Exploit Database - CXSecurity.com
Last Week in AI
Last Week in AI
博客园_首页
月光博客
月光博客
Webroot Blog
Webroot Blog
I
InfoQ
The Cloudflare Blog
Attack and Defense Labs
Attack and Defense Labs
人人都是产品经理
人人都是产品经理
Project Zero
Project Zero
Hacker News: Ask HN
Hacker News: Ask HN
IT之家
IT之家
Google DeepMind News
Google DeepMind News
C
Cisco Blogs

夜行人

回家路上 第一期的直播演示项目 震动检测器 正能量 在线参观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开发笔记 创业二三事
制作一根属于你自己的魔杖🪄
种瓜 · 2024-02-06 · via 夜行人

前言

Jackson 资助的两次美国之行, 都对我产生了深刻影响。

第一次是参加 Open edX 大会。 之后拜访了 MIT Media LabThe Clubhouse Network, 途中还去了趟洛杉矶环球影城

第二次是参加 CES。 之后拜访了计算机历史博物馆Dynamicland

这篇文章与洛杉矶环球影城有关。

霍格沃茨村的魔杖 🪄

环球影城里最受欢迎的景点之一,是霍格沃茨村。

坐落在霍格沃茨城堡脚下,这个被白雪覆盖的巫师村庄充满了魔法商店、诱人酒馆…

在这个魔法村子里, 你可以使用互动魔杖施展法术.

只需轻轻一抖手腕和念出正确的咒语(Incendio!),就可以在霍格沃茨村的十几个地点施展咒语。当心! 这些咒语将直接作用于你身处的现实世界!

为了实施魔法, 你得有一根自己的魔杖 🪄。任何上过魔法学校的人都知道,不仅是你在挑选魔杖,魔杖也在挑选你.

这个视频展示了一个孩子在霍格沃茨村购买魔杖的过程,仪式感十足。

魔法的背后

我在石头上蚀刻了一幅图案,内有几何图形种种,在不明者眼中,显得神秘而又复杂,但我明白,只要布局正确,这块石头将被赋予一种特殊的能力,对一种至今无人说过的咒语作出反应。我用这种语言提问,石头会显灵应答: 那是一个我用符咒创造的世界,一个在石头图案内想象的世界。
几百年前,在我的新英格兰故乡,我所干的这种事,说出来也许会把我送上火刑架。然而我的工作丝毫不涉及巫术。我从事计算机设计和计算机编程。那石头是硅芯片,那咒语是程序…… – 《通灵芯片》

计算和魔法有着惊人的相似性, 上述话语中很好地捕捉了这种相似性。

霍格沃茨村的魔法由计算提供支持。那儿的魔法是一种物理计算 – 作用于现实世界的计算。

令人意外的是, 这些魔杖没有任何计算装置, 没有芯片也没有传感器。

那么计算究竟是如何发生的?

环球影城没有公开更多的技术细节, 根据网上的分析, 我们得知计算发生在环境中。环境里提供了两种计算能力(在不同的场景中使用):

  • 机器视觉
  • 语音识别

特定的魔法景点周围,暗藏了红外摄像头,它们设计得相当隐蔽,这样做是为了不破坏你的沉浸感。魔杖头部涂有一种材料,能够很好地反射红外光, 这样摄像头就能够跟踪它的轨迹,识别出咒语。

那些受魔法影响的物件通常由计算机驱动舵机来控制它们。

看来魔法就只是一些机器视觉/语音识别 + 物理计算! 我们似乎可以使用 MicroBlocks 来复现它们 !

之前的尝试

从霍格沃茨村回到 Neverland(CodeLab 的办公室), 我制作了几种不同的魔杖:

这些魔杖的实现各有不同, 有些基于机器视觉,有些基于惯性传感器。

在遇到 Kano Wand 之后, 发觉这些尝试都不如人意。

Kano Wand

Neverland 里有许多不同的魔杖 🪄, Kano Wand 是我最喜欢的一根。

Kano Wand 内置了惯性传感器, 能够精准地跟踪其运动轨迹, 使得实施魔法的过程非常逼真细腻。它的软件设计得十分出色, 实时显示的咒语轨迹加上出色的音效配合, 使得整个体验充满戏剧性。

破解它 !

Kano Wand 是如此地出色, 很快我们就不满足于内置的软件功能, 我们迫切渴望将魔杖带到更广阔的天地,使其影响现实世界! 就像所有巫师 🧙 那样!

因此,我们必须破解它 ! 解除它的封印, 将它从封禁的软件世界里解救出来。

破解后的魔杖,就能够将魔法自由地作用于 Neverland 里头任何事物。

这就有点霍格沃茨村的味道了。 由于 Kano Wand 内置了传感器, 可以更加自由地实施魔法, 不像霍格沃茨村,需要在在固定位置施咒。

由于 Kano Wand 的出色体验及其昂贵的价格,以至于很长的一段时间里我都想自己制作一根与其相似的魔杖。

我希望自己制作的魔杖易于理解也易于破解, 这样我们就能够将它混合到更多的想法中。

困于硬件编程能力不足,迟迟没有实施。

好在现在我们有了 MicroBlocks !

制作魔杖

制作像 Kano Wand 那样魔杖, 需要完成以下几个部分:

  • 硬件(MicroBlocks)
  • 软件(Snap!)
  • 外形(3D 打印)

我们接下来分别讨论它们。

硬件(MicroBlocks)

Kano Wand 内置了一个微控制器(NRF52832), 以及惯性传感器。

这个硬件单元对外提供出蓝牙(BLE)服务, 当蓝牙客户端连接它之后, 它会源源不断地向客户端广播坐标信息。

由于 MicroBlocks 过去几个月在无线编程方面取得的进展, 我们得到了一个非常强大而通用的基础设置。

使用最新的 MicroBlocks 固件,在没有进行任何编程的情况下,我们几乎免费得到了制作一根魔杖的基础设置:

  • 可供选择的多种微控制器。 考虑到成本, 我偏向于使用 ESP32-C3(支持蓝牙, 只要几块钱! )
  • 通用的无线编程固件, 支持多种客户端: Scratch/Snap!/Python…
  • 内置的惯性传感器驱动(MPU6050, MPU6886…)

更为重要的是, 使用 MicroBlocks , 在图形化环境中就能够完成所有工作。 这使得没有计算机背景的人能够轻松理解并参与其中(计算的民主化)。

MicroBlocks 中的硬件编程部分只负责向客户端报告坐标信息,至于咒语如何识别,则由软件部分(Snap!)负责.

如何通过惯性传感器获得设备的位置坐标呢? 可参考这篇文章

软件(Snap!)

前边说道:

它(Kano Wand)的软件设计得十分出色, 实时显示的咒语轨迹加上出色的音效配合, 使得整个体验充满戏剧性。

通过分离硬件(下位机)和软件(上位机)的职责, Kano Wand 提供了出色的用户体验。我们可以学习这种架构。

在硬件层面使用 MicroBlocks, 软件层面使用 Snap! 。

我查看了 Kano Wand 的软件代码, 它的外表虽光鲜亮丽, 内部却非常复杂和笨重, Kano 团队为此投入了巨大精力。

由于 Snap! 出色的"活性"和强大的能力, 我们完全可以在积木层面完成所有工作(部分是因为我们之前在 Snap! 构建了许多强大的 primitives)

在 Snap! 里工作不仅更加愉快和高效,而且拥有极其出色的可理解性, 你可以把轨迹识别算法的实施细节直观地介绍给任何入门者 !

咒语的轨迹识别算法, 我偏好使用华盛顿大学在这篇论文里贡献的算法, 它简单而通用, 识别效果非常好。你可以在这里体验

Jens(Snap! 的作者) 在 Snap! 中已经实现了这个算法, 他不仅分享了项目源码, 而且录制了一个细致而充满热情的教学视频

算法并不关心坐标信息是如何输入的, 因此我们可以使用 Snap! 来替代 Kano Wand 的软件, 仅用到 Kano 的传感器数据:

甚至直接使用手指施咒:

外形

魔杖的外形可以通过 3D 打印完成。 许多 3D 打印的社区都有现成的魔杖模型: thingiverse: wand

多段打印可能比较容易实施。手持的一段需要是空心的,用于放置硬件模块,具体设计可以模仿 Kano Wand: 电路板设计为长条型, 2 节 7 号电池并排放置。

总结

制作一根能够作用于现实世界的魔杖 🪄 是我一直以来的愿望。 这也是 物理计算 的绝佳用例。

使用 MicroBlocks 和 Snap! 可以制作出一根属于你自己的魔杖, 它拥有以下特质:

  • 低成本。 Kano Wand 最新的售价是 1500+。 让我们将价格打下来! 基于本文制作的魔杖, 硬件成本大约是 20 块钱, 加上 3D 打印的外壳和七七八八的其他东西, 50 块钱似乎可以搞定!
  • 可理解性。 魔杖的硬件部分(固件)和软件部分(客户端)都完全在图形化编程中完成, 可以被任何的入门学习者理解 !
  • 项目式风格。 魔杖的制作过程是项目式的,涉及不同领域的协作: 软件、硬件、3D打印。不同的部分很容易模块化, 可以按需替代, 如果想要引入神经网络相关知识,可以在软件部分,将咒语识别算法,替换成基于神经网络的版本。 因此围绕魔杖主题,可以源源不断推出有趣的教学内容。如果你见识过环球影城中孩子们对魔杖的喜爱程度,很可能认为这样的课程将大受追捧。
  • 可扩展性。 也许可以持续不断地推出不同的 Wand Kit, 魔法可以作用在不同的物理计算设备上。甚至可以构建一个大型 Kit: 包含舞台剧中的大多数道具,这些道具都可以被魔法影响!

参考