轻松的数据存储:MongoDB数据库和Raspberry Pi pico W演练 - 第1部分
#raspberrypi #mongodb #micropython

使用Raspberry pi pico W将数据存储到MongoDB数据库中非常容易。我们唯一需要的是活动的Internet连接,我们可以通过几个步骤通过其数据API插入数据。另外,所有人都可以免费开始,这可以为物联网应用程序提供强大的用例。在使用缓慢的数据时,它可能特别有用。

另外,MongoDB是一个NOSQL数据库,这意味着它使用BSON格式插入比传统数据库更复杂的数据结构,该数据库也具有其优点。它也有缺点,其中之一是,由于NOSQL的性质,查询数据的较慢。我将在第2部分中更详细地讨论利弊。

阅读其余部分之前,请确保订阅并支持频道(如果没有)!

订阅:

YouTube

支持:

https://www.buymeacoffee.com/mmshilleh

步骤1-)mongodb帐户设置

  • 访问mongodb.com并创建一个免费帐户

  • 在您的帐户中启用数据API

Image description

  • 逐步并生成一个API键,您需要将API键与URL一起保存它们给您,以便您可以通过Raspberry Pi picoW。
  • 访问群集
  • 在UI中创建数据库和集合,这是我们将存储示例文档的地方。

Image description

Image description

步骤2-)代码

pico w上的代码如下

import machine
import urequests as requests
import network
import time

import constants


def connect_to_wifi(ssid, psk):
    wlan = network.WLAN(network.STA_IF)
    wlan.active(True)
    wlan.connect(ssid, psk)

    while not wlan.isconnected() and wlan.status() >= 0:
        print("Waiting to Connect")
        time.sleep(10)
    if not wlan.isconnected():
        raise Exception("Wifi not available")
    print("Connected to WiFi")


try:
    connect_to_wifi(constants.INTERNET_NAME, constants.INTERNET_PASSWORD)
    # Need to substitute from DATA API
    url = "<url>/action/insertOne"
    headers = { "api-key": "<api key>" }

    documentToAdd = {"device": "MyPico", "readings": [77, 80, 40, 60, 70, 80, 10]}

    insertPayload = {
        "dataSource": "Cluster0",
        "database": "WeatherData2",
        "collection": "BME2802",
        "document": documentToAdd,
    }

    print("sending...")

    response = requests.post(url, headers=headers, json=insertPayload)

    print("Response: (" + str(response.status_code) + "), msg = " + str(response.text))

    if response.status_code == 201:
        print("Added Successfully")
    else:
        print("Error")

    # Always close response objects so we don't leak memory
    response.close()

except Exception as e:
    print(e)
  • 在代码中插入您的Internet名称,Internet密码,MongoDB数据API URL和API密钥。

  • 在有效载荷中,您需要添加群集,数据库和集合名称。

  • 我们只需连接到WiFi,并通过扩展 /操作 /插入机将有效载荷发送给其API,这将使我们能够插入一个文档。我们正在为此示例使用一些虚拟数据!

如果您正确设置了所有内容,则应该可以在收藏中看到文档,恭喜。如果您有问题,请在上面的YouTube上观看有关更多详细信息。在下一个教程中,我们将在时间序列中使用实际传感器数据,并使用其API进行其他更复杂的数据查询,因此请订阅!

,请继续关注频道!

结论
在我们使用的大多数应用程序中,数据库至关重要。值得庆幸的是,MongoDB及其数据API使得仅使用WiFi就可以很容易地开始。希望您喜欢这个视频和内容。让我知道您是否有任何疑问。