如何在 Arduino Nano Connect RP2040 上使用 MicroPython 发出 HTTP 请求

Posted

技术标签:

【中文标题】如何在 Arduino Nano Connect RP2040 上使用 MicroPython 发出 HTTP 请求【英文标题】:How to make HTTP request with MicroPython on Arduino Nano Connect RP2040 【发布时间】:2021-12-24 02:18:34 【问题描述】:

我正在尝试将我的 Arduino Nano RP2040 与 MicroPython 连接到我的本地 WiFi 网络并发出 HTTP 请求。

板上的 Nina W102 uBlox 模块是一个 ESP32,通过 SPI 连接到 RP2040(我不确定这意味着什么,但我认为它可能是相关的)。

我发现这个代码 sn-p 似乎可以做我想做的事

def do_connect():
    import network
    wlan = network.WLAN(network.STA_IF)
    wlan.active(True)
    if not wlan.isconnected():
        print('connecting to network...')
        wlan.connect('SKYNET', 'G1V31NT3RN3T')
        while not wlan.isconnected():
            pass
    print('network config:', wlan.ifconfig())
    
do_connect()

但它打破了:

Traceback(最近一次调用最后一次):文件“”,第 1 行,in ImportError:没有名为“网络”的模块

我使用 Thonny 作为编辑器并尝试在他们的包中搜索名为“Network”的东西并找到匹配项。但这给了我以下错误/警告。

非常感谢任何帮助或提示。


更新 1:使用 CircuitPython 找到这个带有 WiFi 的示例。更喜欢使用 MicroPython,但如果一切都失败了,我可能不得不切换固件。 https://learn.adafruit.com/circuitpython-on-the-arduino-nano-rp2040-connect/wifi

更新 2:选择使用 CircuitPython。获得 WiFi 非常容易。

【问题讨论】:

【参考方案1】:

Raspberry Pi Pico 没有任何网络功能。

您提供的代码看起来像是来自 micropython 的芯片,内部有 wifi(ESP 系列,其他一些)

看起来 Arduino RP2040 板有 wifi 选项,但通过 Nina W102 uBlox,使用 SPI,女巫是引擎盖下的 ESP32。大概,Nina的固件是提供WIFI/BLE,通过SPI控制的。

我假设,Adafruit 编写了 circuitpython 驱动程序来控制 Nina 芯片。我的猜测是 Nina 使用 AT+ 命令。有时 circuityphons 库适用于 micropython。如果这次不是这种情况 - 您需要网络驱动程序。快速搜索没有给我任何结果。

结论-使用 Circuipython 或在 Micropython 上为 Nina 编写/查找驱动程序

【讨论】:

是的,这就是我最终所做的。无法获得任何使用 MicroPython 的示例。

以上是关于如何在 Arduino Nano Connect RP2040 上使用 MicroPython 发出 HTTP 请求的主要内容,如果未能解决你的问题,请参考以下文章

arduino uno/nano工作频率

arduinonanol灯频闪,程序没运行

我通过蓝牙向 arduino nano ble 33 发送了一个值,并收到了树莓派的值。如何将此值转换为数字?

BPI-Nano arduino Nano 开发板和 BPI-UNO arduino UNO 开发板

利用Arduino Nano 对于另外的Arduino控制板下载Bootloader

arduinonano怎么输出脉冲宽度