全栈物联网云平台搭建:MQTT、Node.js、MongoDB、InfluxDB与React的应用示例
以下是一个简化的代码示例,展示了如何在Node.js中使用MQTT和MongoDB:
// 引入必要的模块
const mqtt = require('mqtt');
const MongoClient = require('mongodb').MongoClient;
// MQTT配置
const mqttUrl = 'mqtt://your_broker_address';
const mqttOptions = {
clientId: 'mqttjs_' + Math.random().toString(16).substr(2, 8)
};
// MongoDB配置
const mongoUrl = 'mongodb://localhost:27017';
const dbName = 'your_database_name';
// 连接到MQTT代理
const client = mqtt.connect(mqttUrl, mqttOptions);
// 连接到MongoDB数据库
MongoClient.connect(mongoUrl, { useNewUrlParser: true, useUnifiedTopology: true }, (err, client) => {
if (err) throw err;
const db = client.db(dbName);
// 订阅MQTT主题
client.subscribe('your_topic');
// 处理接收到的MQTT消息
client.on('message', (topic, message) => {
let payload = JSON.parse(message);
// 将消息数据插入到MongoDB集合中
db.collection('your_collection').insertOne(payload, (err, result) => {
if (err) throw err;
console.log('Message inserted');
});
});
});
这段代码演示了如何使用MQTT客户端连接到MQTT代理,同时使用MongoDB客户端连接到MongoDB数据库。当接收到MQTT主题消息时,它将解析JSON数据并将其插入到MongoDB集合中。这个例子简单展示了如何将物联网数据接入和存储的基本流程。
评论已关闭