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

推荐订阅源

WordPress大学
WordPress大学
Stack Overflow Blog
Stack Overflow Blog
人人都是产品经理
人人都是产品经理
Y
Y Combinator Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
D
DataBreaches.Net
GbyAI
GbyAI
Microsoft Security Blog
Microsoft Security Blog
博客园_首页
大猫的无限游戏
大猫的无限游戏
Jina AI
Jina AI
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Engineering at Meta
Engineering at Meta
IT之家
IT之家
MongoDB | Blog
MongoDB | Blog
The GitHub Blog
The GitHub Blog
月光博客
月光博客
U
Unit 42
Hugging Face - Blog
Hugging Face - Blog
博客园 - 叶小钗
腾讯CDC
B
Blog RSS Feed
博客园 - Franky
爱范儿
爱范儿

夜行人

回家路上 第一期的直播演示项目 震动检测器 正能量 在线参观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 美国之行 三门问题的程序模拟
MicroBlocks ❤️ OctoStudio: 将手机用作 MicroBlocks 的传感...
种瓜 · 2023-11-13 · via 夜行人

文章目录

前言

破解 OctoStudio 过程中,我发现, 在电脑上构建 OctoStudio 信号桥接器,不令人满意,原因有 3 点:

  1. 电脑通常被认为是蓝牙客户端,而不被认为是蓝牙外设(提供某种蓝牙服务), 这导致使用电脑发送蓝牙广播(OctoStudio beam 基于这个原理)会遇到各种烦人问题。
  2. 即便只是将电脑作为蓝牙客户端接收 OctoStudio 发出的信号,依然有不确定的延迟
  3. 无法脱离电脑使用,这限制了在户外使用的可能性。

更好的方向是,在支持蓝牙的微控制器(如 ESP32)上构建 OctoStudio 收发器。

如果你想让电脑上的软件与 OctoStudio 交互,可以让支持蓝牙的微控制器给电脑中转消息,后文会细说。

通过 MicroBlocks OctoStudio 库,我们可以在编程板与手机之间进行双向通信,可以在离线的情况下使用它. 而且多个手机与多个编程板之间可以任意交互。与朋友一起,带去你们的户外秘密基地里玩吧!

玩些什么呢?一种有助于思考的视角是,将手机看作 MicroBlocks 的传感器与执行器。

提醒: OctoStudio 的"发送/等待信号" 积木不大稳定, 安卓比iOS更不稳定。这个问题有可能会在 OctoStudio 未来版本得到改善,但不确定,如果是手机蓝牙堆栈本身不适合这个使用场景,可能根本的改进是困难的。如果发现收发信号出现问题,重启一下手机上的 OctoStudio 应用。

让电脑与 OctoStudio 通信

这部分仅适用于 esp32(需要板子有wifi功能)

你可能想让 OctoStudio 与电脑程序互动,诸如与 Python 应用互动。

很容易做到这点。

这是个通信问题。既然我们可以在 MicroBlocks 中收发 OctoStudio 信号,只要知道 MicroBlocks 如何与电脑通信,信息就可以在它们之间任意流动。有很多办法做到这点,我最推荐使用 WiFi radio, 你可以通过我之前写的这个Python库(microblocks_wifi_radio)来轻松完成。

简而言之, WiFi radio 库类似 micro:bit radio, 可以给局域网里的设备广播消息。因为基于 WiFi, 所以不只能够在esp32/esp8266 之间广播消息,还可以在 WiFi 编程板与电脑之间传递消息(只需确保它们同个局域网)。

参考