问题标签 [raspberry-pi-pico]

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 投票
2 回答
103 浏览

micropython - 'TypeError: function missing 1 required positional arguments':超声波距离传感器与 Rasberry Pi Pico 接口

我正在尝试使用 Raspberry Pi Pico 和超声波距离传感器读取距离。在 Thonny 中运行代码时,出现错误,

代码如下:

0 投票
1 回答
126 浏览

micropython - RPi Pico 上的 GC 是否损坏

我正在使用最新的稳定版本的 micropython,下面是我的整个程序。

我的 64k RAM 去哪儿了?我知道这不是硬件问题。我插入了一个甚至没有焊接接头的全新 Pico,得到了完全相同的结果。我错过了什么吗?

编辑:

我在下面找到了ports/rp2/main.c。有什么原因不是256吗?

0 投票
1 回答
1875 浏览

micropython - 如何在 Thonny 中手动安装库

我想使用 Thonny https://github.com/adafruit/Adafruit-uRTC安装这个库,以便在我的 Raspberry Pi Pico 上使用 DS3231。我无法通过内置的包管理器功能安装它,原因有两个。PyPi 上的版本已经过时并且显然有问题,我想使用最新版本。即使我想在 PyPi micropip 上使用该版本,也无法安装它,并显示不透明且无用的错误消息“micropip 返回错误代码 1”。

我有源文件,它们没有依赖项,我怎样才能手动安装它们?

0 投票
1 回答
44 浏览

bluetooth - 可以创建十六进制值的组件?

TLDR:有没有办法在 0x20 和 0x7E 之间用 5 伏创建一个十六进制值?市场上是否有便宜的组件或电路逻辑可以实现这一点?

我不确定正确的术语是什么,但这是我想要做的:

我有一个蓝牙模块通过 UART0 TX 和 UART0 RX 连接到我的 pico。解释它的用途有点长,但基本上,我希望蓝牙模块在没有我的 pico 连接的情况下工作。我有一个输出信号的设备,pico 读取信号,然后告诉蓝牙模块传输到接收器。但是,由于要传输的数据实际上并不重要,因此剪掉 pico 并简单地让蓝牙模块直接读取信号然后传输是有意义的。

我有在我想要的时候准确输出的设备,但它输出相当于十六进制的 00。我的电脑是通过蓝牙连接的,可以正常阅读。但是,通过 RX 读取输入的 pico 不能。我发现 micropython 无法使用 UART 读取 00 - UART.any() 和 UART.read() 需要一个字符,而 00 仅对应于 NULL。

所以本质上,我需要一些方法来传输 0x20 和 0x7E 之间的十六进制值,而不使用树莓派 pico。是否有某种组件能够做到这一点?在实践中,蓝牙模块将连接到高达 5 安培的 5V 电源。

任何关于如何让 Pico 通过 RX 引脚以十六进制读取 00 的想法也受到欢迎。这样做的目的是不需要多个 Picos,因为接收器和发射器将彼此相距很远。

0 投票
2 回答
140 浏览

thonny - Raspberry Pi Pico 不断弹出

我刚拿到我的 Raspberry Pi Pico,并试图让它准备好接受代码。我尝试从网页拖放 MicroPython 并使用 Thonny 自动处理它,但是当我这样做时,它会自行弹出并且没有加载任何内容。我正在尝试从 Pi 4 执行此操作。任何帮助将不胜感激。

0 投票
0 回答
76 浏览

python - 我的代码有效,但速度很慢。除了使用 framebuf 和为 pico-unicorn 编写我自己的驱动程序之外,我怎样才能让它更快?最佳实践?

我是 python 的初学者,但想创建一个简单的硬件提醒来放置正确的 bin。也许在这个过程中学到一些东西。我的设置是 Pimoroni 的 Raspberry Pico 和 Pico-Unicorn 帽子。目标是每周四滚动提醒。首先我用单一颜色制作它,然后我想做一个特定的渐变

代码的要点是我使用了嵌套列表,其中列表的 [x][y] 对应于 pico-unicorn led 矩阵的 x 和 y。[x][y] 的值将是 0(熄灭)或十六进制颜色(以十六进制颜色点亮)。

缺少学习汇编,我可以用代码做什么?我的方法是否存在根本缺陷,或者只是 pico 很慢?它有效,不要误会我的意思,但如果我能做些什么来让它更好/更快——我只想学习最佳实践。另外,我研究过使用 framebuf 库,但它有一个我不喜欢的固定字体。感谢任何提示。

0 投票
0 回答
138 浏览

python - 为 ESP-01S 和 Raspberry Pi Pico 之间的 UART 发出打包/解包消息

我的最终目标是设置一个带有 ESP-01S 的 Raspberry Pi Pico 来启用 wifi。Pico 将定期检查服务器并在不使用时让 ESP 进入睡眠状态。两者之间的通信是通过UART。我想同时支持来自 ESP 的 GET 和 POST HTTP 请求。

这是我在两个设备之间使用的消息结构。

出于测试目的,我在 python 中生成字符串,打印它们并将它们直接粘贴到我正在闪烁到 ESP 的 .cpp 文件中。

这是我在我的电脑上用来生成消息的代码片段。

这是在 ESP 上运行的代码。我对我正在经历的一些行为发表了评论。

这是两个问题之一,尽管我通过对原始 char* 进行 memcpy 来偏移起始索引找到了一种解决方法。下面的第一行有效,但第二行引发 LoadStoreAlignmentCause 异常。

理想情况下,我想了解这里发生了什么,并在没有 memcpy 的情况下让它工作。

我遇到的主要问题是当我在 python 中打包大小时,一些十六进制值被简写。例如struct.pack('!I', 54) == \x00\x00\x006

当这种情况发生时ntohl(),它似乎读取了一个不应该读取的地址并输出 635。此外,由于我期望四个字符,消息的其余部分被一个索引关闭。

关于这个问题的几个问题。这种速记十六进制语法的名称是什么?反正有没有让python不输出这个速记?或者有什么关于如何让这个在 ESP 上工作的建议吗?

0 投票
0 回答
516 浏览

i2c - Raspberry Pi Pico I2C 引脚不工作(MicroPython)

我已将 ssd1306 OLED 和 BME280 连接到我的 Pico。当连接到 Pin 0 (sda) 和 1 (scl) i2c 引脚时,一切都像一个魅力。但由于我的计划非常糟糕,我必须切换到任何其他 i2c 引脚。一旦连接,我无法让它工作。我已经从i2c = machine.I2C(0, scl=machine.Pin(1), sda=machine.Pin(0),freq=400000)toi2c = machine.I2C(0, scl=machine.Pin(13), sda=machine.Pin(12),freq=400000)和其他人更改了,但无济于事。代码片段:

我得到的错误是:

这是:

我已经执行了 i2c 扫描,它确实在新引脚上返回了正确的地址。

0 投票
0 回答
111 浏览

micropython - rpi pico:如何检测 sys.stdout 已连接

我正在使用 rpi pico 收集保存到本地文件的温度测量值。我还希望,当 pico 通过 USB 连接到 PC 时,将它们输出到标准输出上。我试过这个:

如果该print(temps)行被注释掉,只要 pico 通电,无论 PC 是否打开或处于待机状态,都会收集测量值。但如果该print行未注释,则仅当 PC 开启时才会保存测量值。似乎print等待重新建立连接的块。如何检测连接是否处于活动状态,以便print仅在它不会阻塞时执行?

0 投票
0 回答
201 浏览

encryption - 如何制作树莓派 Pico MicroPython 代码加密?

我在 Raspberry pico 上写了一个代码。我希望这个程序中的代码不会被盗。我需要进行什么加密以便没有人可以看到它?该项目非常简单。控制智能家居自动化。我花了很多力气。我不希望它被盗。有什么办法让他们不从树莓派中提取我的代码?