推荐选择API开发开源语言、框架和数据库

物联网 MQTT 网页服务 开源 休息 API
2021-06-14 09:01:54

我在一个 IoT 项目中工作,我的职责是提供 API 以允许设备与服务器/数据库进行通信。我决定将 MySql 用于关系数据,如用户详细信息等。MongoDb 用于其他数据,如设备数据(多租户数据),以及用于 API 开发的 PHP Laravel 框架。

我只想知道这是否是语言、框架和数据库的良好组合?如果不是,那么根据我的要求,语言、框架和数据库的良好组合是什么。

截至目前,设备数量有限,但将来可能会达到数千个并且可以频繁发送数据(每分钟一次或每 5 秒一次)。大多数设备将在低功耗和内存上运行,例如,温度、湿度、心跳传感器。同时 API 也将用于 Web 门户。设备、WebPortal、MobileApp 最终将使用 Rest API。

  1. 在其他数据库(如 PostgresSQL)上使用 MongoDb+MySql 好不好?或任何其他建议。
  2. 使用两种不同的平台进行 API 开发好不好,一种用于设备(​​MQTT+Mosquitto),另一种用于门户网站和移动应用程序(Laravel)。或者任何使这个系统更好的建议。
  3. 你会在开源中推荐什么编程语言?
1个回答

如果你想使用 RESTlike 环境,你可以设置: PHP CodeIgniter + MariaDB 但是你需要重新考虑你的需求。在 HTTP 上使用 REST 可能需要使用中间技术和基于 Web 服务的实现。如果您正在规划实时应用程序,最好使用遥测消息传递协议,如 MQTT。

在我们的 IoT 实验室中,我们正在为实时解决方案实施此配置:

物联网设备是“Adafruit Feather Huzzah”ESP8266,使用arduino PubSubClient.h

Mosquitto MQTT Broker(目前)没有任何安全配置,MongoDB 和 MQTT 的每个端口都是默认设置的。

应该通过在 Izmailoff 的 GitHub 上的“application.conf”上设置数据集合和文档来开箱即用。