需要将带有gsm/gprs解决方案的Arduino UNO板连接到Firebase数据库,以便存储来自水质传感器的实时数据。 传感器全部连接,GSM 模块工作正常。但是找不到将解决方案连接到火力基地的方法。如果有人能提供帮助,我将不胜感激,因为我是该领域的初学者,并且必须在Firebase中存储数据,以便在网络应用程序和移动应用程序中检索它们。如何将这个带有 gsm 模块 sim 900 的 arduino 板连接到火力底座?
使用 Firebase 函数设置 https 可调用对象。在 POST 中,您添加一个密钥(因此没有其他人可以使用您的函数(以及您想要读取/写入的数据。https://firebase.google.com/docs/functions/database-events
您可以先配置 Firebase 函数服务,这允许将信息发送到 firebase 并存储,就像上面的答案一样,基本问题是 SIM900+ARDUINO 无法处理 https 协议,Firebase 只允许这样做。
火力基地的惠特函数你可以解决这个问题。
不要忘记以前
npm i express
const functions = require("firebase-functions");
var admin = require("firebase-admin");
const express = require("express");
// Your credentials from firebase configurations
var serviceAccount = require("./credentials.json");
admin.initializeApp({
credential: admin.credential.cert(serviceAccount),
databaseURL: "HERE_YOUR_FIREBASE_URL"
});
const app = express()
const db = admin.firestore()
const collect = db.collection('YOUR_COLLECTION').doc('YOUR_DOCUMENT')
// 'data_id' have my data from SIM900, and I captured by URL to save
app.get('/data/:data_id', async (req, res) => {
const date = new Date()
const tempMap = new Map()
try {
tempMap.set(date.getTime(), req.params.data_id)
await collect.update(Object.fromEntries(tempMap))
return res.status(200).json()
} catch (e) {
return res.status(500).send(e)
}
});
exports.app = functions.https.onRequest(app)
这个简单的过程允许您使用 SIM900 访问 Firebase