问题标签 [bbc-microbit]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
2064 浏览

python - 如何使用 PySerial 与 micro:bit 建立串行通信?

我目前正在尝试将加速度计数据从我的 microbit 发送到我计算机上运行的 python 程序。我决定使用 uart 和 pyserial 来尝试这样做。

但是,我从未使用过 pyserial,所以我不确定如何使用该模块将 msg_bytes 数据从 microbit 提取到我的计算机上。

0 投票
0 回答
53 浏览

javascript - Micobit 仅在事件中向计算机发送串行数据?

我想将数据从 microbit 发送到 PC。所有连接工作正常。但是我发现只有在事件中写入串行写入函数时才会将数据发送到计算机,例如,我使用 Makecode,以下两个工作:

但是,如果我只写这样一行,它就行不通:

我怀疑串行写入功能必须由某些东西触发,可能是回调或循环等?但似乎 micropython 没有这样的问题。

更多背景知识,我使用的是 Windows 10,我使用 Node.js serialPort 包来接收消息。我不确定环境是否会影响行为。

如果有人在这里可以分享一些经验,我很感激,非常感谢。

0 投票
3 回答
286 浏览

ada - 使用 Ada 驱动程序库在 microbit 上进行 Ada i2c 演示?

概述: 我正在尝试使用 Ada 驱动程序库使用 Ada 对 microbit 进行编程,但我不明白如何使用 i2c 功能与另一个芯片建立通信。我想建立一个简单的演示,这样我就可以理解发生了什么,因为 Ada 驱动程序库的组件目录中的演示超出了我的想象(我对 Ada 也很陌生,这无济于事)。

Ada Drivers Library 中最简单的 i2c 演示似乎适用于 AK8963 三轴罗盘(位于 /components/src/motion/ak8963/)。但这仍然让我头疼,而且我没有芯片来运行和调试代码。

这是我尝试过的: 我用 arduinos 创建了两个不同的演示。在这两个演示中,发射器发送一个“A”,然后发送一个“B”一直到“Z”,然后循环回到“A”。在第一个演示中,主机每 500 毫秒发送下一个字符,从机接收它。在第二个演示中,主机每 500 毫秒请求下一个字符,从机发送它。

我的演示改编自此处此处的 arduino Wire 示例。

0 投票
1 回答
45 浏览

python - 代码格式化,基本温度应用

我正在尝试创建一个基本代码,它将在 BBC:microbit 上显示温度,然后根据显示的温度,按下按钮后屏幕上将显示不同的图像。摇动后 micro:bit 将显示当前温度,然后如果该值小于 18,则会发生以下情况。我格式化 if 语句的方式有问题吗?

0 投票
2 回答
13650 浏览

python-3.x - 无法连接到套接字/opt/local/var/run/dbus/system_bus_socket:没有这样的文件或目录

我正在尝试使用 Bluezero 向 microbit 发送消息,但我正在使用 macOS,但出现错误。

示例代码。

错误

dbus.exceptions.DBusException:org.freedesktop.DBus.Error.FileNotFound:无法连接到套接字/opt/local/var/run/dbus/system_bus_socket:没有这样的文件或目录

0 投票
1 回答
55 浏览

javascript - String.fromCharCode() 只有 JS 标准函数?

我正在研究 Micro:bit。(好吧,从技术上讲,这不是家庭作业,我也不是在询问完整的解决方案)。它可以使用非常笨拙的图形编程界面,也可以使用精简版的 JS。没有库导入和/或使用多个文件,并且根据我的测试,一些语言功能被剥离,例如 JSFuck 不起作用,因为不允许在字符串或布尔值上使用一元加号运算符。

现在,在部分代码中,我必须使用String.fromCharCode(x),但我不确定它是否有效甚至存在。好吧,我已经尝试过了"ABCD......\b"[64-x],但是我可能不得不扩展以支持更大的字符集。是否有一种可移植的方式来实现 String.fromCharCode 而无需在代码中明确包含整个字符集?

0 投票
2 回答
66 浏览

python - Python中简单计数变量的问题

我使用 Microbit 计算机为一个学校项目编写了这个短代码,但是,当我在计数为 1 时按下 a 按钮时,计数跳到 16,我不知道为什么。

任何帮助将不胜感激!

0 投票
1 回答
46 浏览

micropython - microbit micropython 有收音机功能吗?

我不知道它是什么。

0 投票
0 回答
119 浏览

micropython - 如何控制 Sphero Original,例如使用 Micropython?

我最近买了一个二手 Sphero 机器人(据我所知,它是“Sphero Original”,因为它没有任何其他版本信息),并打算和我的孩子们一起做实验。不幸的是,据我所知,所有官方 Android 应用程序(Sphero Play、Sphero edu)不再支持该模型(我检查过)。那是怎么回事?

很公平,我想,我还是买了一个 Micro::bit,打算使用我听说的 SDK 与使用 Micropython 的机器人进行交互。

不幸的是(再次),我刚刚发现Microbit Python SDK似乎只适用于“RVR”模型。我检查了代码,它似乎主要是uart在向设备输入内容。

现在,我不害怕编写一些 Python 来与我的 Sphero Original 对话,但我找不到任何有关通信协议的文档(使用经典蓝牙)。

Q1:有没有一种方法可以轻松地与我的 Sphero Original 进行交互,例如使用我不知道的应用程序?(我有 Linux、Android、Python、Micro::bit 可用)

Q2:如果做不到这一点,是否有可用的通信协议文档(可能来自旧的 SDK 版本或其他),所以我可以自己实现粗略的控制?

FWIW,该设备仍在充电,发出正确的灯光代码,移动时会晃动一点,我可以将它与我的 Android 手机配对。据我所知,它仍然可以工作(基本上未使用),只有应用程序(Sphero Play、Sphero edu)无法使用它。

0 投票
1 回答
390 浏览

javascript - 在 Windows 中读取从 Microbit 发送的串行数据

我正在尝试通过串行通信将数据从我的 microbit 发送到我的 Windows PC。我按照 microbit 网站上的示例进行操作,但似乎无法让我的 Tera Term 窗口显示任何内容。

将 microbit 插入我 PC 前面的 USB 端口之一,上面有以下代码:

当我向 Tera Term 添加新连接时,我选择COM1(这是我唯一的选项)

Tera 术语中的新连接

然后我进入设置>串行端口并保存以下设置

串行传输设置

不幸的是,这不显示任何数据,我尝试了不同的 USB 端口和电缆无济于事。