问题标签 [micropython]

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 回答
570 浏览

firmware - Micropython更新板V 1.0

我正在尝试将我的 PyBoard 板连接到另一个设备(不,我不想要 REPL。我已经这样做了)并且我已经完美地连接了外部设备的 USB 串行交换。但是,在我预购我的板时,尚未添加用于 Micropython 的 USB_VCP 模块,因此我需要更新固件。所有说明都告诉我将 3v3 引脚连接到 DFU 引脚,但这不适用于我的主板版本。我可以更新吗?如果可以,我该怎么做?

0 投票
3 回答
1838 浏览

python - Python中的字节总是八位字节吗?

是否存在断言失败的 Python 实现:

POSIX 明确指定CHAR_BIT == 8(8 bits per byte)。Python中有类似的保证吗?它是否记录在某处?

Python 2 参考说:“字符代表(至少)8 位字节。”

如果bytes未定义名称(在旧的 Python 版本上),例如在 Jython 2.5 上,那么问题是关于str类型(字节串),即bytes = str在 Python 2 上。

0 投票
2 回答
228 浏览

python - 在 MicroPython 中使用 microbit 模块时出现索引错误

目前正在尝试为 BBC micro:bit 开发一款小型两键游戏。由于 micro:kit 没有广泛使用,我将尝试详细解释我的问题。

我正在尝试为播放器创建控件,这是一个卡在网格最后一行的“可移动”灯。A 按钮应该将灯向左移动一列,B 按钮应该将灯向右移动 1 列。

我为矩阵创建了 5 个单独的图像(称为player_loc#,每个图像都是 LED 的可能位置。

A 按钮应该从player_index中减去 1 (等于 2),从而使display.show(player_locs[player_index])显示图像player_loc1而不是player_loc2
B 按钮则相反,它添加了一个,这将导致player_loc3被显示。


我遇到的问题是,当我按下 A 或 B 按钮时,我得到一个 IndexError, list index is out of range, 在第 17 行 display.show(player_locs[player_index])。该索引不应超出范围。在列表player_locs 上,我的索引范围为 0-4。索引 1 和 3 没有超出范围,但它显示 IndexError 超出范围消息。当我删除 player_index 并使用任何整数 0-4 运行它时,它可以工作。


这是我在不按任何按钮的情况下运行脚本时的图像。只要按下按钮,就会显示错误消息。任何帮助将不胜感激。

LED图片

0 投票
4 回答
619 浏览

bluetooth-lowenergy - Micro:bit Bluetooth Low Energy Hacking Persistence(高中实习项目)

我的项目是使用 Micro:bit 微处理器创建一个交互式程序在游戏运行的同时为电路板供电,所以现在我遇到了这样一种情况,即一旦我停止转向改变方向或我的速度低于传输 3.3 伏为其供电,然后游戏重新开始,我失去了所有进度

我的想法是使用第二个 micro:bit 作为一种存储空间,由我的计算机供电,并且两个持续通信发送回玩家位置和 LED 上的其他对象

但我不知道如何让两个 Micro:bit 互相交谈

如果有人可以为我指明正确的方向,甚至可以建立某种沟通方式,在我开始前进时将我推向正确的方向

我是一名高中生,不像我假装的那么了解,所以我可能需要很多帮助(在这类事情上,我比班上最先进的人更先进,所以把我当作技术人员吧天才少年与大学生一起失去了我不应有的自我(哈哈)请以某种方式帮助我,我现在完全迷路了

0 投票
1 回答
138 浏览

python - Python - 使用简单模块进行密钥检测

我正在尝试为 MicroPython 制作一个文本编辑器。这个类似“纳米”(或 vim)的文本编辑器应该能够在设备上运行我不想要的是不能在ESP8266上运行的模块。

我现在使用的是简单的模块,例如' sys '和' os '。

任何帮助将不胜感激。

0 投票
1 回答
892 浏览

python-3.x - 在 Microbit 上将十进制转换为二进制

我认为将我的 BBC Microbit 变成一个数字时钟——特别是二进制数字时钟是一个有趣的想法。我在 Python 中敲了一些代码来做到这一点:

问题是它不起作用!在 Microbit 上运行它会导致二进制字段全部返回 1,除非数字为 0。因此 10:48:01AM (错误地)显示为

它应该显示为

鉴于 am/pm led 和 add 30 seconds / add 30 minutes 标记工作正常,这显然只是格式化十进制数的二进制表示(makeBinary函数)的问题。我最初尝试使用“格式”来执行此操作 - 但 microPython,至少在 microBit 上,显然不喜欢它。

当我makeBinary在我的“真实”计算机上运行时,它运行良好。有谁知道这里可能有什么问题?或者对于其他将十进制转换为二进制字符串而不使用任何可能混淆 MicroBit 的函数的简单方法的任何建议?

0 投票
2 回答
429 浏览

read-eval-print-loop - 检查/监控 ESP8266 上的 micropython webrepl 连接

我正在使用带有 micropython 的 ESP8266。对于脚本下载,我使用 webrepl。我想监视 webrepl 连接,如果建立了 webrepl 连接,我想停止程序执行。连接关闭后,我想通过 machine.reset() 重置 ESP8266 问题是,我使用了一些 micropython IRQ 和并行 webrepl 连接,文件传输最终导致文件系统崩溃。

我的问题:如何阅读 webrepl 连接以及如何评估它们?

谢谢

0 投票
1 回答
779 浏览

python - 无法在 Mu 编辑器中从 BBC Micro::bit 的主脚本导入 python 脚本

我正在为 BBC Micro::bit 在 micropython 中编写一些示例。我正在使用 Mu 编辑器,它检查代码并将其闪烁到板上。

问题是,我找不到从主脚本导入我自己的脚本的方法。尽管代码检查成功结束(并且可以在我的计算机上运行),但一旦刷新,板子就会抱怨导入的模块不存在。就像只有主脚本才进入董事会一样。此外,如果我将所有代码粘贴到一个脚本中,Mu 会抱怨脚本太长(大约 300 行)。我在这里做错了什么?为什么有最大脚本长度?

0 投票
0 回答
156 浏览

python - 在 VxWorks 653 项目中嵌入 python 和 pyc 文件

我们想创建一个嵌入式 python 应用程序(解释器以及一些 pyc 格式的自定义 python 脚本)。该应用程序将在 VxWorks 653 平台上运行(无文件系统、无以太网连接等)。即它将是一个完全独立的 RAM(和闪存)项目。是的,我们可以通过连接加载 RAM、Flash),但在操作中,除了我们的自定义无线电链路之外,它将是独立的。

关于如何做到这一点的任何指示?

我们不需要其他库和模块的支持。一些标准库,但不会使用任何特定于操作系统的东西(文件、操作系统、tcp 等)。(我们确实想要二进制结构模块)。

能够从内存中加载 python 脚本字符串并编译和运行可能会很好,但这并不重要。

0 投票
0 回答
109 浏览

python - 从堆 (GC) 中分配了哪些 Python 对象?

我们正在使用嵌入式 python 编写一些实时设备控制器。

我们希望控制和预测(在某种程度上,不完美)放在 Python 堆上的内容,以最小化和绑定我们的垃圾收集(我们将手动调用)。我们的主要工作是在“C”中完成的。我们希望使用 Python 的受限子集来执行数据转换和其他任务。

堆上的项目列表是什么?(或者更容易列出仅在堆栈上的内容?)

  1. 列表
  2. 元组
  3. (如 int、float 等标量数组呢?)
  4. ustruct 数组(指向 C 结构的结构)呢?