是否可以使用 esp8266 将数据发送到 mongodb 集群?

问题描述

我正在制作汽车超速检测器,因此,为此,我必须将数据发送到数据库。 我目前正在使用 MysqL,但我想要一个更好的数据库。 所以,我找到了 MongoDB,但不知道是否可以使用 esp8266 将数据发送到 MongoDB 集群?

解决方法

使用 HTTP(S) 作为传输和服务器端 API 后端,负责处理数据库。

有很多原因导致无法为可以直接与数据库通信的资源受限设备编写代码。

  • [资源] 他们有少量的 RAM 和 ROM - 添加 DB 代码与应用程序代码一起运行通常不适合可用的空间。
  • [安全] 从安全的角度来看,将数据库端口公开是不明智的
  • [安全] 一些数据库支持通信通道加密,但在大多数情况下不使用。使用明文通信来减少占用空间但允许第三方访问流量可能很诱人。
  • [安全] 直接数据库访问意味着可以在众多设备中共享一组凭据,并且可以拆焊 SPI Flash 并且可以轻松地从拆焊的 SPI Flash 中提取密码(我怀疑 ESP8266 是否内置了对固件加密的支持)
  • [安全] 向任何人提供数据库凭据通常会让他们访问您最初未计划的内容 - 可以为数据库用户配置适当的权限以限制对额外内容的访问,但开发人员通常没有足够的时间或经验适当地收紧。
  • [???] 等

有多个 HTTP API 微框架允许您为服务器端构建 HTTP API - 它是层,允许您对客户端隐藏数据库后端。 好的框架甚至具有 DBAL(数据库抽象层),它允许您以与数据库无关的方式编写代码和数据库结构 - 因此您可以从一种数据库类型切换到另一种数据库类型,只需更改配置文件中的单行即可。>